Whisper vs los gemelos cloud: ¿sigue valiendo la pena transcribir en local?
Probamos Whisper large-v3 local contra los servicios de transcripción de pago: calidad, coste, privacidad y velocidad. Con tabla comparativa y veredicto según caso de uso.

Dificultadfácil
Tiempo30 min
IngredientesWhisper · faster-whisper · ffmpeg
Pregunta recurrente del oyente: “Whisper es gratis, pero ¿es tan bueno como el servicio de pago?”. Lo probamos con 3 horas de audio real (episodios del podcast, reuniones, clases) y estos son los resultados.
El comparativo
| Criterio | Whisper large-v3 (local) | Servicio cloud típico |
|---|---|---|
| Precisión (español) | 92-96% | 94-97% |
| Nombres propios/tecnicismos | A veces falla | Ligeramente mejor |
| Puntuación | Excelente | Excelente |
| Coste 1h audio | 0€ (luz: ~0,02€) | 0,5-2€ |
| Privacidad | Total | Tus audios van a sus servers |
| Velocidad (GPU) | 10x tiempo real | Instantáneo |
| Velocidad (CPU) | ~1x tiempo real | Instantáneo |
| Límites | Tu disco | Cuotas y suscripciones |
Matizando los números
- La diferencia de precisión real es menor que la que sugieren las marketing pages: en audio limpio de podcast, empate técnico la mayoría del tiempo.
- Donde Whisper local sufre: nombres propios poco comunes, siglas técnicas (“HuggingFace” → “jaking fase”), y audio con mucho ruido de fondo.
- Donde gana CON CRECES: privacidad absoluta, coste cero marginal, y sin límites de uso (transcribe la biblioteca entera de Babel si quieres).
Veredicto según tu caso
- Reuniones privadas / notas personales: local, sin duda. Nada de tus conversaciones debe salir de casa.
- Subtítulos de contenido público: local va sobrado; cloud solo si necesitas altísima velocidad de entrega.
- Transcripción médica/legal con vocabulario específico: cloud especializado todavía gana, o local con fine-tuning si tienes volumen.
- Uso intensivo (horas al día): local se paga solo en el primer mes.
La receta rápida
Con nuestra receta de Whisper tienes el setup en 15 minutos. El truco que más mejora resultados en español:
segments, _ = model.transcribe(
"audio.mp3",
language="es",
initial_prompt="Este es un podcast sobre inteligencia artificial en español. "
"Se mencionan términos como LLM, GPU, HuggingFace, OpenAI, Anthropic."
)
El initial_prompt con vocabulario esperado reduce MUCHO los errores de tecnicismos.
Es como darle un chuleta de contexto.
Nuestra configuración final del Laboratorio
- Whisper large-v3 en la spark (GPU), faster-whisper con float16
initial_promptcon el vocabulario del tema concreto- Post-proceso con LLM local: corrige nombres propios conocidos y añade puntuación de párrafos
- Resultado: transcripciones que publicamos tal cual en las show notes de los episodios