2-Cómo Usar Whisper de OpenAI con Python para Transcripción de Audio

 

 Cómo Usar Whisper de OpenAI con Python para Transcripción de Audio

Hola lectores! En este tutorial les mostraré cómo utilizar Whisper, el potente modelo de reconocimiento de voz de OpenAI, con Python para transcribir archivos de audio a texto.

¿Qué es Whisper?

Whisper es un sistema de reconocimiento automático de voz (ASR) de código abierto desarrollado por OpenAI que puede transcribir audio en múltiples idiomas con gran precisión. Es capaz de manejar diferentes acentos, ruido de fondo y jerga técnica.

Requisitos previos

  • Python 3.7 o superior

  • pip (gestor de paquetes de Python)

  • Un poco de conocimiento básico de Python

Paso 1: Instalación

Primero, necesitamos instalar Whisper. Abre tu terminal o línea de comandos y ejecuta:

bash
Copy
Download
pip install -U openai-whisper

Whisper también requiere tener instalado ffmpeg en tu sistema:

Paso 2: Cargar un modelo

Whisper ofrece varios modelos con diferentes equilibrios entre velocidad y precisión:

  • tiny - Más rápido, menos preciso

  • base

  • small

  • medium

  • large - Más lento, más preciso

python
Copy
Download
import whisper

# Cargar el modelo (puedes cambiar 'base' por otro modelo según tus necesidades)
model = whisper.load_model("base")

Paso 3: Transcribir un archivo de audio

Ahora vamos a transcribir un archivo de audio. Guarda tu archivo de audio (MP3, WAV, etc.) en el mismo directorio que tu script o proporciona la ruta completa.

python
Copy
Download
# Transcribir audio
result = model.transcribe("audio.mp3")
print(result["text"])

Paso 4: Opciones avanzadas

Whisper ofrece varias opciones para personalizar la transcripción:

python
Copy
Download
result = model.transcribe(
    "audio.mp3",
    language="es",  # Especificar idioma (opcional)
    fp16=False,     # Usar precisión simple si no tienes GPU
    verbose=True    # Mostrar progreso
)

# También puedes obtener segmentos con marcas de tiempo
for segment in result["segments"]:
    print(f"{segment['start']} - {segment['end']}: {segment['text']}")

Paso 5: Procesamiento por lotes

Si tienes varios archivos para transcribir:

python
Copy
Download
import os

audio_files = ["audio1.mp3", "audio2.mp3", "audio3.mp3"]

for audio_file in audio_files:
    if os.path.exists(audio_file):
        result = model.transcribe(audio_file)
        print(f"Transcripción para {audio_file}:")
        print(result["text"])
        print("\n---\n")
    else:
        print(f"Archivo {audio_file} no encontrado")

Consejos para mejores resultados

  1. Calidad de audio: Mientras más claro el audio, mejor será la transcripción.

  2. Modelo adecuado: Para español, los modelos medium o large suelen dar mejores resultados.

  3. Especificar idioma: Aunque Whisper detecta automáticamente el idioma, especificarlo puede mejorar la precisión.

  4. Hardware: Para archivos largos o modelos grandes, considera usar una GPU.

Ejemplo completo

python
Copy
Download
import whisper

def transcribir_audio(ruta_audio, modelo="base", idioma="es"):
    # Cargar modelo
    model = whisper.load_model(modelo)
    
    # Transcribir audio
    result = model.transcribe(ruta_audio, language=idioma)
    
    # Mostrar resultados
    print("Transcripción completa:")
    print(result["text"])
    
    print("\nSegmentos con marcas de tiempo:")
    for segment in result["segments"]:
        print(f"{segment['start']:.2f}s - {segment['end']:.2f}s: {segment['text']}")
    
    return result

# Uso de la función
transcripcion = transcribir_audio("entrevista.mp3", modelo="medium")

Conclusión

Whisper es una herramienta poderosa para convertir audio a texto con Python. Con solo unas pocas líneas de código puedes integrar capacidades avanzadas de reconocimiento de voz en tus proyectos.

¿Tienes preguntas o quieres compartir cómo estás usando Whisper? ¡Déjalo en los comentarios!

Nota: Recuerda que los modelos más grandes requieren más recursos y tiempo de procesamiento. Elige el modelo que mejor se adapte a tus necesidades

Comentarios

Entradas más populares de este blog

b-Web Speech API

captura video con audio del sistema (como música o sonidos del navegador) pero sin usar el micrófono

EL audio lo envia el navegador-Transcripción de Voz con Whisper