Convierta podcasts en texto con la API Whisper de OpenAI usando Python
Modelo Whisper de código abierto OpenAI: el sistema de reconocimiento de voz de última generación.
¡Lo probamos y quedamos impresionados!
Tomamos el último episodio de RealPython durante 1 hora y 10 minutos. Nos llevó 56 minutos con una CPU básica convertir el archivo de audio en una transcripción de texto casi perfecta con el modelo Whisper más pequeño.
A continuación, mostramos en pasos el uso de Whisper en la práctica con solo unas pocas líneas de código de Python.
Tutorial
Este tutorial explica con código único una forma de usar el modelo Whisper tanto en su máquina local como en un entorno de nube.
El modelo susurro está disponible en GitHub. Lo descargamos con el siguiente comando directamente en el cuaderno de Jupyter:
El modelo Whisper utiliza ffmpegel programa como requisito. Es posible que algunos entornos de nube ya lo incluyan, pero es probable que su máquina local necesite que se instale este programa.
OpenAI se refiere a varias formas de instalar este paquete y aquí aplicamos una de ellas usando el administrador de paquetes Scoop . En nuestra opinión, es simple porque lo hace funcionar ejecutando los siguientes dos comandos en la ventana del terminal:
La primera línea instala Scoop. La segunda línea instala ffmpegel programa usando el administrador de paquetes Scoop.
Este paso se requería en la máquina local, pero no necesitábamos realizar este paso en nuestro entorno de nube.
Luego reiniciamos nuestro kernel para asegurarnos de que la instalación tuvo efecto.
Ahora podemos importar las bibliotecas:
Whisper se ejecuta más rápido con GPU. Transcribimos un podcast de 1h y 10 minutos con Whisper. Tomó:
- 56 minutos para ejecutarlo con CPU en máquina local
- 4 minutos para ejecutarlo con GPU en entorno de nube.
Ahora podemos cargar el modelo Whisper. Incluimos dos variables en load_model. La "base" es el nombre del modelo Whisper para la versión con 74 millones de parámetros. Hay nombres de modelo correspondientes para cada modelo entre 39 millones y 1550 millones de parámetros. Aquí se hace referencia a cada uno de los nombres y características de los modelos . Definimos la segunda variable de "dispositivo" en la sección anterior. La segunda línea del código nos permite imprimir el lenguaje del modelo y un número total de parámetros.
Usamos el modelo Whisper para transcribir un podcast, que descargamos de Internet. El archivo de audio está disponible en el directorio local.
Cargamos este audio usando el “load_audio” comando. El “pad_or_trim”comando rellena y recorta el audio en espacios de 30 segundos. La línea final crea log-Melun espectrograma para nuestro dispositivo local.
El detect_languagedetecta el idioma del archivo de audio:
Transcribimos el audio usando el comando DecodingOptionsy decode. Podemos imprimir los primeros 30 segundos del audio.
Transcribimos todo el archivo de audio con transcribecomando e imprimimos los resultados.
La ejecución de este código dará como resultado la transcripción completa del archivo de audio, que imprimimos aquí en partes breves:
La transcripción tardó 4 minutos en producirnos con GPU y 56 minutos con CPU.
Gracias por leer.
Referencias
[1] Radford et al., 2022 . Reconocimiento de voz robusto a través de una supervisión débil a gran escala. IA abierta.

![¿Qué es una lista vinculada, de todos modos? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































