Transcribe audio en local con Whisper
Convierte MP3, M4A o WAV en texto con marcas de tiempo y puntuación inicial, manteniendo el audio en tu máquina si tu entorno está bien configurado.

Whisper es un modelo abierto de transcripción que puede ejecutarse en local. Esta receta
usa faster-whisper; el resultado no es infalible: revisa nombres propios, cifras,
idiomas mezclados y cualquier texto sensible antes de compartirlo.
Ingredientes
- Python 3.10+
- El audio que quieras transcribir (MP3, M4A, WAV…)
- Opcional: GPU compatible (puede acelerar el proceso, pero el factor real depende del modelo, la precisión, el audio y el resto del sistema)
Pasos
-
Instala (recomendamos la versión rápida
faster-whisper):pip install faster-whisper -
Transcribe con este mini-script:
from faster_whisper import WhisperModel model = WhisperModel("medium", device="cpu", compute_type="int8") segments, info = model.transcribe("mi-reunion.mp3", language="es") print(f"Idioma detectado: {info.language} ({info.language_probability:.2f})") with open("mi-reunion.txt", "w", encoding="utf-8") as f: for seg in segments: linea = f"[{int(seg.start//60)}:{int(seg.start%60):02d}] {seg.text}" print(linea) f.write(linea + "\n") -
Elige bien el tamaño del modelo:
Modelo VRAM/RAM Calidad en español tiny~1GB Meh base~1GB Aceptable small~2GB Buena medium~5GB Muy buena ✓ large-v3~10GB Excelente Son órdenes de magnitud orientativos: cambian con la implementación, la precisión y el dispositivo. Deja margen para el sistema y mide con el flujo que vayas a usar.
-
Con GPU (si tienes): cambia a
device="cuda", compute_type="float16"y mide el tiempo con tu propio audio. En CPU,device="cpu", compute_type="int8"suele ser un punto de partida razonable.
Resultado esperado
Obtendrás un .txt con timestamps por frase. El tiempo depende del tamaño del modelo,
la duración del audio y tu hardware; mide una muestra antes de diseñar un flujo por lotes.
Trucos
language="es"evita la detección automática (más rápido y menos errores).word_timestamps=Truete da el tiempo por palabra (para subtítulos).- Audios muy largos: córtalos con
ffmpegen trozos de 10 min si se atasca. - Para actas puedes encadenarlo con un LLM local, pero revisa el resumen contra el audio y elimina los temporales cuando ya no sean necesarios. Si grabas conversaciones de varias personas, mira de una grabación a transcripción y notas.