Whisper de OpenAI

Cómo Funciona Whisper de OpenAI con Python — Transcripción de Audio a Texto

Whisper es un modelo de código abierto de OpenAI diseñado para convertir audio en texto. Puedes usarlo para transcribir grabaciones, subtitular videos o incluso convertir archivos de audio en texto en tiempo real.

En este tutorial te explico cómo funciona Whisper con Python y cómo puedes empezar a utilizarlo en tus proyectos.


🔧 Requisitos Previos

Antes de empezar, asegúrate de tener:

✅ Python 3.8 o superior
✅ pip actualizado
✅ Git (opcional si instalas desde repositorio)
✅ Entorno virtual recomendado


🐍 Instalación de Whisper

Puedes instalar Whisper con el siguiente comando:

bash

pip install git+https://github.com/openai/whisper.git

Nota: Whisper usa ffmpeg para procesar archivos de audio y video. Instálalo así:

En Windows:

Descarga ffmpeg desde https://ffmpeg.org/download.html y agrega la carpeta bin al PATH del sistema.

En Linux o MacOS:

bash

sudo apt update && sudo apt install ffmpeg -y

📥 Ejemplo Básico de Uso

Una vez instalado, puedes convertir un archivo de audio en texto con unas pocas líneas de código:

python

import whisper # Cargar el modelo (puede ser 'tiny', 'base', 'small', 'medium' o 'large') model = whisper.load_model("base") # Transcribir un archivo de audio o video result = model.transcribe("mi_audio.mp3", language='es') # Mostrar el texto transcrito print(result["text"])

Puedes usar archivos .mp3, .wav, .mp4, entre otros.


📂 ¿Qué Devuelve el Modelo?

La variable result es un diccionario con:

python

{ "text": "Texto completo transcrito", "segments": [...], # Si deseas dividir por fragmentos "language": "es" }

Ejemplo de salida:

python

{'text': 'Hola, esta es una prueba de transcripción con Whisper de OpenAI.', 'language': 'es'}

🚀 Opciones del Modelo

Puedes elegir diferentes modelos según precisión y velocidad:

ModeloPrecisiónVelocidadRecomendado para
tinyBajaMuy rápidaPruebas rápidas
baseMediaRápidaUso general
smallBuenaNormalMejor transcripción
mediumMuy buenaMás lentaAlta calidad
largeExcelenteLentaMáxima precisión

🎧 Transcripción de Videos

También puedes transcribir videos directamente:

bash

whisper "mi_video.mp4" --language Spanish --model base --output_format txt

El texto se guardará en un archivo .txt en el mismo directorio.


🌎 Detección de Idioma Automática

Si no sabes el idioma, Whisper puede detectarlo:

python

result = model.transcribe("archivo.mp3") print(f"Idioma detectado: {result['language']}") print(result['text'])

📝 Conclusión

Whisper es una poderosa herramienta de transcripción que puedes integrar en:

✅ Aplicaciones de accesibilidad
✅ Generación de subtítulos
✅ Análisis de audios judiciales o entrevistas
✅ Proyectos de IA o automatización



Cómo Echar a Andar Whisper con Python — Guía Paso a Paso y Estructura del Proyecto

A continuación te explico cómo configurar un proyecto básico para usar Whisper en Python y convertir audios o videos en texto.


📁 Estructura Recomendada del Proyecto

Puedes organizar tu proyecto así:

bash

mi_proyecto_whisper/ │ ├── audios/ # Carpeta donde pondrás tus archivos de audio o video │ ├── prueba.mp3 │ └── entrevista.wav │ ├── transcripciones/ # Aquí se guardarán los textos generados │ ├── transcribir.py # Script principal de transcripción │ ├── requirements.txt # Lista de dependencias │ └── README.md # Descripción del proyecto

⚙️ Paso 1: Crear Entorno Virtual (opcional pero recomendado)

Desde la terminal:

bash

python -m venv venv

Activar el entorno:

  • Windows:

bash
venv\Scripts\activate
  • Linux/MacOS:

bash

source venv/bin/activate

⚙️ Paso 2: Instalar Dependencias

Dentro del entorno virtual:

bash

pip install git+https://github.com/openai/whisper.git pip install torch # Dependencia necesaria para Whisper

Agrega esto a requirements.txt:

arduino

git+https://github.com/openai/whisper.git
torch

Instala FFmpeg:

bash
sudo apt install ffmpeg

Verifica que FFmpeg funciona:

bash
ffmpeg -version

⚙️ Paso 3: Crear el Script Principal

Contenido de transcribir.py:

python
import whisper import os # Cargar el modelo model = whisper.load_model("base") # Carpeta de entrada y salida entrada = "audios" salida = "transcripciones" # Crear carpeta de salida si no existe os.makedirs(salida, exist_ok=True) # Procesar todos los archivos de la carpeta 'audios' for archivo in os.listdir(entrada): if archivo.endswith((".mp3", ".wav", ".mp4")): ruta_audio = os.path.join(entrada, archivo) print(f"Transcribiendo: {ruta_audio}") resultado = model.transcribe(ruta_audio, language="es") # Guardar el texto transcrito nombre_salida = os.path.splitext(archivo)[0] + ".txt" ruta_salida = os.path.join(salida, nombre_salida) with open(ruta_salida, "w", encoding="utf-8") as f: f.write(resultado["text"]) print(f"Transcripción guardada en: {ruta_salida}\n")

⚡ Paso 4: Ejecutar el Proyecto

Asegúrate de tener archivos en la carpeta audios, por ejemplo audios/prueba.mp3.

Ejecuta el script:

bash
python transcribir.py

El texto transcrito se guardará en transcripciones/prueba.txt.


🛠️ Notas Importantes

✅ Puedes cambiar el modelo (tiny, small, medium, large) según tus necesidades de velocidad y precisión.
✅ Soporta audio en español, inglés y otros idiomas. Puedes omitir "language='es'" y dejar que detecte el idioma automáticamente.
✅ Whisper funciona con archivos .mp3, .wav, .m4a, .mp4, entre otros.


📦 Extras: Versión por Línea de Comandos

También puedes usar Whisper directamente sin escribir código:

bash
whisper audios/prueba.mp3 --language Spanish --model base --output_dir transcripciones --output_format txt

🚀 Conclusión

Ya tienes listo un entorno funcional para transcribir audios o videos a texto usando Whisper de OpenAI. Es ideal para subtitulados, análisis de entrevistas o automatizar tareas de transcripción.

Comentarios

Entradas más populares de este blog

1-configurar Vosk para que utilice todos los recursos de mi pc

3-Whisper vs Vosk