Whisper está hecho por OpenAI, pero por una vez el proceso es fácil de instalar y hasta un simio con manos como yo ha sido capaz de instalar Whisper en su PC, equipado con una NVIDIA bastante modesta y transcribir vídeo con una 1660. Algunas de las cosas a favor de Whisper son la capacidad de reconocer voz en múltiples idiomas, e incluso de traducir. Esto lo puede hacer bien gracias a las 680.000 horas de entrenamiento supervisado que ha recibido y que le convierten en una herramienta muy potente que nos va a permitir hacer cosas interesantes.
Es relativamente sencillo de obtener Whisper y de utilizarlo para transcribir tus audios siempre que tengas algunas herramientas.
- En particular, Whisper requiere Python para funcionar. Es muy probable que ya lo tengas, pero por si acaso convendría revisar.
- Para poder extraer el audio, hará falta instalar ffmpeg. Si estás en GNU/Linux, macOS o algún BSD, te conviene utilizar el gestor de paquetes para no complicarte la vida.
- Idealmente, no debería hacerte falta instalar Rust, porque una de las dependencias debería venirte ya compilada en binario, pero si te da problemas, es posible que no te quede otra que instalarlo.
- Idealmente deberías contar con una GPU compatible con PyTorch para poder ir más rápido. En algunos dispositivos tardará más tiempo en caso contrario. Lamentablemente, esto incluye dispositivos de Apple Sillicon.
Cómo usar Whisper de forma básica
En cuanto al proceso de instalación, **basta con ejecutar:
pip install openai-whisper
Ya es cosa tuya decidir si hacerlo en tu ordenador tal cual, o bien si usar poetry, pipenv, virtualenv, o alguna alternativa similar. Además, es posible que tu distribución o sistema operativo lo empaquete por su cuenta, por ejemplo, mediante AUR en Arch Linux o distribución derivada de Arch; o mediante Homebrew en el caso de macOS. A partir de ahí, es bastante fácil de utilizar. En su forma más simple, se ejecutaría:
whisper input.mp3 --model medium
Como ves, le pasas la ruta al archivo MP3 a whisper. He podido comprobar que si tienes un vídeo, pasarle la ruta al archivo de vídeo también funciona. En otras palabras, Whisper es capaz de extraer automáticamente la pista de audio de un archivo de vídeo. En cuanto al otro parámetro, el modelo es importante porque eso determina características de velocidad y precisión importantes a la hora de transcribir audio. En este caso, le estoy pidiendo explícitamente el uso de un modelo de tamaño medio, pero hay en total cinco: tiny, base, small, medium y large. Cada uno tiene un tamaño distinto y también tiene unos requisitos de uso mínimos diferentes, algo que en dispositivos móviles puede ser deseable, aunque tienes que saber que los modelos más grandes también necesitan más memoria VRAM, así que puede que no funcionen en todas las tarjetas gráficas, sobre todo las más antiguas.
Como resultado, Whisper emitirá por la terminal una transcripción con las palabras que va entendiendo del vídeo y las marcas de tiempo en las que se encuentra. Además, una vez el proceso termine, dejará en el directorio de trabajo una serie de archivos con la transcripción en formato texto, además de una serie de archivos de subtítulos en varios formatos. Esto lo podemos cambiar con la opción -f.
Trabajo con otros idiomas
Una cosa de la que no todos los sistemas de reconocimiento de voz pueden presumir es de poder soportar tantos idiomas como Whisper. Aparte del inglés, otros 96 idiomas están soportados de acuerdo con su paper. Algunos lenguajes son más fáciles de entender que otros y por lo tanto los resultados pueden variar, pero resulta fascinante pasarle la opción --language y ver como es capaz de comprender audio en otros idiomas.
whisper entrada.mp3 --language Spanish --model medium
Además, Whisper también integra un traductor, lo que significa que podemos pedirle que lo traduzca a inglés.
whisper entrada.mp3 --language Spanish --task translate
Cómo uso Whisper en makigas
Whisper me ha resultado un programa sorprendente debido a que es bastante asequible de utilizar y fácil de instalar. OpenAI ya no es tan abierto como hace unos años, y resulta fresco que hayan abierto completamente el código fuente en vez de intentar explotarlo comercialmente como están haciendo con algunos de sus otros proyectos más populares como GPT o ChatGPT.
Como parte de un esfuerzo por transcribir más contenido, de cara a tener subtítulos de mejor calidad que permitan obtener unos cursos más accesibles y más fáciles de encontrar en buscadores, y de poder cargar esas transcripciones en la página web para poder alimentar a los motores de búsqueda, he empezado a usar Whisper para acelerar el proceso de conversión a texto de lo que se dice en los vídeos.
El proceso no es infalible y requiere visualizar de nuevo el contenido para asegurar que la transcripción es fiel, pero tiene una tasa de acierto bastante buena, lo que significa que no tengo que estar mucho tiempo corrigiendo errores. Incluso en palabras técnicas como las que uso en mis vídeos, Whisper ha sido capaz de comprender correctamente los nombres de archivos, tecnologías y hasta clases y funciones de código que quería decir, y proporcionar una transcripción más robusta y con menos errores.