Tienes dos horas de entrevista grabada y necesitas el texto. O un vídeo que pide subtítulos. O un podcast del que quieres sacar citas. La opción cómoda es subir el audio a un servicio en la nube que cobra por minuto y se queda una copia de tu grabación. La opción que casi nadie te explica bien es que puedes hacerlo todo en tu propio ordenador, gratis y sin que el audio salga de ahí, con modelos open source que en 2026 ya rinden a nivel profesional.
El problema no es la falta de opciones, sino el ruido. "Whisper" se ha vuelto un término paraguas que esconde media docena de implementaciones distintas, y cada semana sale un modelo nuevo que dice ser "el mejor". Vamos a ordenarlo: qué modelo manda, cuál usar según tu caso y cómo ponerlo a funcionar en local sin dramas.
Nota
Esta guía es técnica pero práctica. No necesitas saber de machine learning: si te manejas con la terminal y sabes instalar un paquete de Python, puedes tener transcripciones de calidad en menos de diez minutos.
Para qué quieres voz a texto
Antes de elegir modelo, conviene tener claro el trabajo. STT (speech-to-text) cubre escenarios que parecen iguales pero pesan distinto:
- Transcribir reuniones, entrevistas, clases o podcasts a texto plano. Aquí prima la precisión y que aguante audio largo.
- Subtítulos de vídeos: necesitas el texto más las marcas de tiempo sincronizadas, idealmente a nivel de palabra.
- Diarización: separar quién dice qué cuando hay varias voces. No todos los modelos lo hacen de serie.
- Dictado o transcripción en tiempo real: aquí manda la latencia, no la precisión absoluta.
- Procesar volumen: miles de archivos en cola, donde lo que importa es el throughput (cuánto audio procesas por segundo).
Cada uno de estos casos inclina la balanza hacia un modelo distinto. Por eso no existe "el mejor" a secas: existe el mejor para lo tuyo.
Qué es Whisper y por qué sigue mandando
Whisper es el modelo de reconocimiento de voz que OpenAI liberó como open source y que cambió el juego: por primera vez había un modelo gratuito, de pesos abiertos, que transcribía 99+ idiomas con una precisión que hasta entonces solo daban servicios de pago. Se entrenó con 680.000 horas de audio de internet, y esa diversidad le da una robustez brutal frente a acentos, ruido de fondo y audio de mala calidad.
En 2026 su versión de referencia es Whisper large-v3, con un WER (tasa de error por palabra) en torno al 7,4% en inglés y soporte multilingüe que ningún competidor open source iguala en amplitud. Hay versiones más pequeñas (tiny, base, small, medium) que sacrifican precisión por velocidad y memoria, y una variante large-v3-turbo optimizada que procesa audio a más de 200x el tiempo real con una pérdida de precisión mínima.
La clave para entenderlo todo: Whisper es el modelo; las "variantes" son formas de ejecutarlo. faster-whisper, whisper.cpp y WhisperX usan los mismos pesos de Whisper. Con el mismo audio y la misma configuración, dan prácticamente la misma transcripción. Lo que cambia es el motor de inferencia: la velocidad, la memoria que consumen y los extras que añaden.
Consejo
Regla mental: cuando alguien dice "uso Whisper", pregúntale con qué motor. Es la diferencia entre transcribir una hora de audio en cinco minutos o en cuarenta.
Las variantes de Whisper: cuál para qué
Aquí es donde se decide el 90% de los casos. Tres motores cubren casi todo:
faster-whisper — el caballo de batalla
Es una reimplementación de Whisper sobre CTranslate2, un motor de inferencia en C++ muy optimizado. Soporta cuantización (int8), que reduce el uso de memoria y acelera la inferencia hasta 4x más rápido que el Whisper original, manteniendo la misma precisión. Si tienes una GPU NVIDIA, esta es tu opción por defecto: rapidez y consumo de VRAM ganadores. Es lo que recomiendo para la mayoría.
whisper.cpp — para Mac y CPU
Un puerto puro en C/C++ sin dependencias externas. Compila a un binario pequeño, usa el formato GGML con cuantización entera y corre en cualquier sitio. En Mac (Apple Silicon) aprovecha Metal y Core ML; en máquinas sin GPU, es la forma más ligera de transcribir. Si no tienes tarjeta gráfica dedicada o trabajas en un portátil, empieza por aquí.
WhisperX — cuando necesitas timestamps y diarización
En vez de perseguir velocidad bruta, WhisperX convierte Whisper en un pipeline de transcripción completo: añade marcas de tiempo a nivel de palabra (alineación fonética) y diarización (separar hablantes). Es la opción para subtítulos exactos o transcripciones de entrevistas donde importa saber quién dijo qué.
Atención
Hay más variantes (insanely-fast-whisper, distil-whisper, etc.), pero no te disperses: faster-whisper para GPU, whisper.cpp para Mac/CPU y WhisperX para timestamps cubren casi cualquier necesidad real. Lo demás son optimizaciones para casos concretos.
Más allá de Whisper: Distil-Whisper, Parakeet y Canary
Whisper ya no está solo en la cima. Tres familias merecen tu atención si tu caso es específico:
Distil-Whisper es una versión destilada de Whisper: un 51% más pequeña (756M parámetros frente a 1.550M de large-v3) y unas 6x más rápida, con solo ~1% más de error en audio largo. La pega: está optimizada para inglés. Si transcribes inglés y quieres velocidad sin renunciar casi nada de precisión, es una joya.
NVIDIA Parakeet es la familia de NVIDIA para inglés (con variantes multilingües recientes). Su punto fuerte es el throughput brutal: el RTFx (factor de tiempo real) supera los 2.000, lo que la hace imbatible para procesar grandes volúmenes de audio en lote. La versión TDT v3 añade soporte multilingüe, a costa de algo de precisión en inglés.
NVIDIA Canary-Qwen 2.5B es, a día de hoy, el rey de la precisión en el Open ASR Leaderboard de Hugging Face: un WER del 5,63%, por debajo de Whisper, con cobertura de unos 25 idiomas (inglés y europeos principalmente) y velocidad de inferencia muy alta. Si lo que buscas es la transcripción más exacta posible en esas lenguas, es la referencia.
Y para dispositivos de borde, modelos como Moonshine (desde 27 MB) corren en hardware mínimo sin conexión, ideales para dictado embebido o IoT.
Tabla comparativa
| Modelo / motor | Mejor para | Precisión (WER inglés) | Velocidad | Idiomas |
|---|---|---|---|---|
| Whisper large-v3 | Multilingüe, máxima compatibilidad | ~7,4% | Base (referencia) | 99+ |
| faster-whisper | GPU NVIDIA, uso general | ~7,4% (misma) | Hasta 4x más rápido | 99+ |
| whisper.cpp | Mac y CPU sin GPU | ~7,4% (misma) | Ligero, optimizado | 99+ |
| WhisperX | Subtítulos y diarización | ~7,4% + timestamps | Rápido + extras | 99+ |
| Distil-Whisper | Inglés rápido | ~9,7% (~1% peor) | ~6x más rápido | Inglés |
| NVIDIA Parakeet TDT | Volumen / lotes | ~8,0% | RTFx >2.000 (máximo) | Inglés / multi (v3) |
| NVIDIA Canary-Qwen | Máxima precisión | 5,63% (líder) | Muy alta | ~25 |
Los números de WER vienen de benchmarks públicos (Open ASR Leaderboard y comparativas independientes) y son orientativos: el error real depende del audio, el idioma y la configuración. No te cases con un decimal; cásate con el caso de uso.
Ejecutar Whisper en local, paso a paso
Vamos a lo práctico con faster-whisper, la opción recomendada para la mayoría. Necesitas Python 3.9+ y, idealmente, una GPU NVIDIA (funciona en CPU, solo que más lento).
1. Instala el paquete:
pip install faster-whisper2. Transcribe un archivo con un script de Python:
from faster_whisper import WhisperModel
# Modelo large-v3 con cuantización int8 (rápido y poca VRAM)
# Usa device="cpu" si no tienes GPU NVIDIA
model = WhisperModel("large-v3", device="cuda", compute_type="int8")
segments, info = model.transcribe("entrevista.mp3", beam_size=5)
print(f"Idioma detectado: {info.language} ({info.language_probability:.2f})")
for segment in segments:
print(f"[{segment.start:.2f}s -> {segment.end:.2f}s] {segment.text}")3. Qué hace cada cosa:
WhisperModel("large-v3", ...)carga el modelo grande (la primera vez lo descarga). Cambia a"small"o"medium"si vas justo de memoria.compute_type="int8"activa la cuantización: menos VRAM y más velocidad con apenas pérdida de calidad.transcribe()detecta el idioma solo. Si ya lo sabes, pasalanguage="es"para acelerar.- Cada
segmenttrae texto y marcas de tiempo (start,end), que es justo lo que necesitas para exportar a SRT y generar subtítulos.
4. Para subtítulos, recorre los segmentos y vuelca el texto con sus timestamps en formato SRT o VTT. Si quieres precisión a nivel de palabra o separar hablantes, ese es el momento de pasar a WhisperX.
Consejo
Empieza siempre con un clip corto (un minuto) para verificar idioma y calidad antes de soltar las dos horas enteras. Ahorra tiempo y te dice si necesitas subir o bajar de modelo.
En Mac sin GPU, el equivalente sería compilar whisper.cpp, descargar un modelo GGML (ggml-large-v3.bin) y lanzar el binario sobre tu archivo: misma calidad, ejecución nativa optimizada para Apple Silicon.
¿Para quién es cada modelo?
No hay ganador absoluto. Hay encaje:
faster-whisper si tienes GPU NVIDIA y quieres lo mejor general: rápido, multilingüe, preciso. Es la respuesta para el 80% de la gente.
whisper.cpp si trabajas en Mac o en un equipo sin tarjeta gráfica. Ligero, sin dependencias, nativo.
WhisperX si tu trabajo son subtítulos exactos o transcripciones con varios hablantes identificados. Periodistas, editores de vídeo, gente de podcast.
Distil-Whisper si solo transcribes inglés y la velocidad es tu prioridad. El doble de rápido por casi nada de error.
NVIDIA Parakeet si procesas volumen industrial: miles de archivos, pipelines automatizados, donde el throughput manda.
NVIDIA Canary-Qwen si necesitas la máxima precisión posible en inglés y lenguas europeas, y no te importa renunciar a la cobertura de 99 idiomas de Whisper.
La pregunta honesta no es "¿cuál es el mejor modelo de voz a texto?", porque la respuesta cambia con tu hardware y tu caso. La pregunta es "¿transcribo en local, gratis y privado, o pago por minuto a un servicio que se queda mi audio?". Y en 2026, la respuesta para casi cualquiera es la primera: el open source ya transcribe igual de bien, en tu máquina, sin pasar por caja.
