Audio y transcripción
Whisper: transcripción con IA en tu propia computadora
Los servicios de transcripción cobran por minuto. Whisper — el modelo de reconocimiento de voz que OpenAI liberó como código abierto — transcribe entrevistas, clases y reuniones en tu propia máquina, gratis, sin conexión y con calidad notable en español. Aquí usamos whisper.cpp, la versión rápida que corre bien hasta en laptops modestas.
Instalación
# macOS (Homebrew)
brew install whisper-cpp
# Ubuntu / Debian (compilar desde el código, ~2 minutos)
git clone https://github.com/ggml-org/whisper.cpp
cd whisper.cpp && cmake -B build && cmake --build build -j
También necesitas FFmpeg para preparar el audio — la instalación está en nuestra guía de FFmpeg.
Descargar un modelo
Whisper necesita un archivo de modelo. small es el equilibrio entre velocidad y precisión para español; medium es más preciso y más lento:
curl -L -o ggml-small.bin https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-small.bin
Los modelos disponibles van de tiny (75 MB, rapidísimo) a large-v3 (~3 GB, máxima precisión).
Preparar el audio
whisper.cpp trabaja con WAV de 16 kHz. FFmpeg convierte cualquier audio o video en un paso:
ffmpeg -i entrevista.mp3 -ar 16000 -ac 1 -c:a pcm_s16le entrevista.wav
Transcribir en español
whisper-cli -m ggml-small.bin -l es -otxt entrevista.wav
Genera entrevista.wav.txt con la transcripción completa. En Linux compilado desde el código, el binario está en ./build/bin/whisper-cli.
Generar subtítulos SRT
Cambia la salida a SRT y obtienes subtítulos con tiempos, listos para YouTube o cualquier reproductor:
whisper-cli -m ggml-small.bin -l es -osrt video.wav
El archivo video.wav.srt se puede cargar tal cual en YouTube Studio, o quemar en el video con FFmpeg:
ffmpeg -i video.mp4 -vf "subtitles=video.wav.srt" con_subtitulos.mp4
Traducir al inglés mientras transcribe
Whisper puede traducir cualquier idioma al inglés en el mismo paso:
whisper-cli -m ggml-small.bin -l es --translate -otxt entrevista.wav
Detectar el idioma automáticamente
Si no sabes en qué idioma está la grabación, -l auto lo detecta:
whisper-cli -m ggml-small.bin -l auto -otxt grabacion.wav
Subtítulos WebVTT para web
El formato que usa la etiqueta <track> de HTML:
whisper-cli -m ggml-small.bin -l es -ovtt video.wav
Transcribir una carpeta de audios
for f in *.mp3; do
ffmpeg -i "$f" -ar 16000 -ac 1 -c:a pcm_s16le "${f%.mp3}.wav"
whisper-cli -m ggml-small.bin -l es -otxt "${f%.mp3}.wav"
done