¿Qué es Whisper?
Whisper es el modelo de reconocimiento automático de voz (ASR) de OpenAI, publicado como código abierto en septiembre de 2022. Entrenado con 680.000 horas de audio, soporta transcripción y traducción en 99 idiomas con precisión cercana a la humana.
Disponible como:
- Herramienta local gratuita (requiere Python + GPU recomendada).
- API de OpenAI (~$0,006/minuto).
- Servicios de terceros integrados (Descript, Adobe Premiere, etc.).
Modelos disponibles
| Modelo | Parámetros | RAM | Velocidad | Precisión |
|---|---|---|---|---|
tiny |
39 M | 1 GB | Muy rápida | Básica |
base |
74 M | 1 GB | Rápida | Buena |
small |
244 M | 2 GB | Moderada | Muy buena |
medium |
769 M | 5 GB | Lenta | Excelente |
large-v3 |
1550 M | 10 GB | Lenta | Mejor disponible |
Para uso con CPU: small ofrece el mejor balance calidad/velocidad.
Instalación local
pip install openai-whisper
# FFmpeg (requerido por Whisper)
sudo apt install ffmpeg # Ubuntu/Debian
brew install ffmpeg # macOS
Transcripción básica
# Transcribir (detecta idioma automáticamente)
whisper audio.mp3
# Especificar idioma (más rápido y preciso)
whisper audio.mp3 --language Spanish
# Generar SRT (subtítulos)
whisper audio.mp3 --output_format srt
# Todos los formatos: .txt, .srt, .vtt, .tsv, .json
whisper audio.mp3 --output_format all
# Usar modelo específico
whisper audio.mp3 --model large-v3 --language Spanish
Transcripción con Python
import whisper
model = whisper.load_model("small")
result = model.transcribe("audio.mp3", language="es")
print(result["text"])
def transcribe_to_srt(audio_path, output_path, language=None):
model = whisper.load_model("small")
result = model.transcribe(audio_path, language=language)
with open(output_path, "w", encoding="utf-8") as f:
for i, seg in enumerate(result["segments"], 1):
def ts(s):
h, m = int(s//3600), int((s%3600)//60)
return f"{h:02d}:{m:02d}:{int(s%60):02d},{int((s%1)*1000):03d}"
f.write(f"{i}\n{ts(seg['start'])} --> {ts(seg['end'])}\n{seg['text'].strip()}\n\n")
transcribe_to_srt("video.mp4", "subtitulos.srt", language="es")
API de OpenAI
from openai import OpenAI
client = OpenAI()
with open("audio.mp3", "rb") as f:
transcript = client.audio.transcriptions.create(
model="whisper-1",
file=f,
language="es",
response_format="srt"
)
print(transcript)
Coste: ~$0,006/minuto. Una hora de audio ≈ $0,36.
Formatos soportados
MP3, MP4, M4A, WAV, FLAC, OGG, WEBM, MPEG, MPGA.
Preprocesar con FFmpeg:
# Extraer audio de vídeo
ffmpeg -i video.mp4 -vn -ar 16000 -ac 1 audio.wav
# Normalizar volumen
ffmpeg -i audio.mp3 -af "loudnorm" audio_normalizado.mp3
Consejos para mejor calidad
- Especifica el idioma — mejora precisión y reduce alucinaciones.
- Usa
large-v3para transcripciones críticas. - Normaliza el audio antes de transcribir.
- Segmenta audios largos — Whisper funciona mejor con archivos < 30 min.
- Revisa nombres propios — puede cometer errores con nombres específicos.
Conclusión
Whisper es la herramienta de transcripción automática más precisa disponible gratuitamente. Para proyectos con privacidad o uso intensivo, instala localmente con small o medium. Para uso ocasional, la API de OpenAI ofrece la mejor relación calidad/esfuerzo.
Conversiones relacionadas
Pares de formatos de audio más frecuentes: