Whisper: la mejor IA para pasar voz a texto gratis

Vivimos unos tiempos en los que tecnologías de inteligencia artificial, que hace tan solo unos meses eran revolucionarias, son hoy obliteradas por una mejor. Lo vemos cada día con modelos para crear imágenes, como Stable Diffusion o Mid Journey, o con el aprendizaje profundo para escalar imágenes en 3D, eliminar ruido o pasar voz a texto.

En este artículo te voy a explicar cómo puedes aplicar subtítulos utilizando la tecnología de inteligencia artificial gratuita más avanzada que existe, tan avanzada que da miedo.

whisper
Se acabaron las transcripciones a mano con herramientas como Whisper

Hace un par de meses supe del lanzamiento de Whisper, una tecnología de inteligencia artificial desarrollada por OpenAI, sí, la de Elon Musk, que según sus responsables es más avanzada que alternativas comerciales.

El caso es que consultando su documentación no vi una manera demasiado fácil de integrar esta tecnología con otras aplicaciones, hasta ahora. Hace unos días hice un directo repitiendo los pasos que tienes que seguir para instalar VOSK y para integrarlo con DaVinci Resolve, y en algunos comentarios me dijisteis que probara Whisper porque funciona mucho mejor. Además, este vídeo de DotCSV explicando cómo funciona me voló la cabeza por completo.

Whisper: cómo instalarlo en local

Para instalar Whisper en tu equipo tienes que seguir estos pasos:

  1. Instalar FFmpeg y Git. En el caso de Windows, la instalación de FFmpeg es un poco más compleja, pero la podemos simplificar muchísimo instalándolo desde Chocolatey, que si no sabes lo que es, aquí tienes un tutorial explicando cómo funciona. Y el caso de Git es mucho más sencillo, simplemente desde Chocolatey o desde la página web oficial podemos instalar este programa de control de versiones.
  2. Instalar Python. Aquí hay una pequeña peculiaridad, y es que a día de hoy solo es compatible hasta la versión 3.10, así que lo mejor que puedes hacer es ir a la página web oficial de Python y buscar un instalador de esta versión como mucho. Te recomiendo la última que hay de la 3.10. Además tenemos que marcar que se instale PIP y también las variables de entorno. Y en el caso de Windows, te recomiendo que lo instales en la raíz de un disco duro, por ejemplo C.
  3. Instalar Whisper con el comando git+https://github.com/openai/whisper.git. En el GitHub oficial de Whisper tienes además instrucciones para ejecutarlo, verás que es compatible con un gran número de idiomas, y no tenemos que especificar el idioma en el que tenemos que hacer la transcripción, sino que lo detecta automáticamente. Pero no solo eso, sino que también podemos añadir la tarea de realizar la traducción del texto de forma automática.

En mi caso he querido comparar Whisper con Vosk a la hora de realizar transcripción de voz a texto. ¿Funcionará mejor? ¿Sí o no?

Comparando Whisper con Vosk

Para que ambos sistemas compitan en igualdad de condiciones, lo que he hecho ha sido descargarme el modelo estándar de español en el caso de Vosk, porque es muy similar en tamaño al que utiliza Whisper. Me descargo el modelo, lo sustituyo por el que teníamos anteriormente, y seguidamente lo que voy a hacer es ejecutar un comando utilizando PowerShell (para Windows), que selecciona automáticamente los archivos de vídeo .mp4 que tenga y los transcribe en este caso mediante Vosk.

Bien, simplemente le damos a “Ejecutar con PowerShell”, y en el caso de un vídeo que dura 1 minuto y 2 segundos, me ha tardado 46 segundos en realizar el proceso de transcripción. Esto es con una CPU AMD Ryzen 7 2700X.

Una peculiaridad que tiene Vosk es que cada subtítulo por defecto es bastante corto. Tendremos que cambiar parámetros dentro de la programación de Vosk para que los subtítulos sean un poquito más largos. Además, por defecto no aplica ni mayúsculas ni signos de puntuación. Si abrimos el archivo con SubtitleEdit vemos que parece un poema, y además palabras inventadas como Creatubers no las ha transcrito demasiado bien.

Vamos a probar ahora con Whisper. Cambiamos el comando en el mismo script de PowerShell, asegurándome en este caso de que estoy utilizando la CPU (porque también se puede utilizar con la GPU, lo veremos más adelante), pero para realizar el mismo proceso de este mismo vídeo ha tardado la friolera de 6 minutos y 11 segundos.

Es verdad, tarda muchísimo más Whisper utilizando la CPU. Pero Whisper tiene una gran ventaja respecto a Vosk, y es que tiene una mejor integración con tarjetas gráficas de Nvidia. Simplemente tienes que seguir las instrucciones que tienes en este enlace. Tenemos que desinstalar Torch y luego instalarlo de nuevo con compatibilidad para CUDA.

whisper multiplataforma
Ah, y por supuesto Whisper es multiplataforma

Esto quiere decir que si tu tarjeta gráfica Nvidia tiene núcleos CUDA y es lo suficientemente potente, puedes utilizar la GPU para realizar este proceso de pasar voz a texto, aumentando enormemente la velocidad. Cuando lo tengamos instalado, en el script, podemos colocar al final “–device CUDA” en el comando de Whisper, Whisper utilizará la GPU y la duración de este proceso se reducirá dramáticamente, quedándose en tan solo 35 segundos en el mismo vídeo de antes. Esto es con una GPU Nvidia RTX 2060 Super de 8 GB.

Y además solo necesitamos un solo comando porque por defecto crea no solo un punto TXT con la transcripción, sino también un archivo VTT y SRT. Estos dos últimos formatos son los más comunes para realizar subtítulos. Además, si abrimos el archivo VTT o SRT, veremos que los subtítulos por defecto son más largos y tenemos los signos de puntuación perfectamente aplicados, signos de exclamación, de interrogación, puntos y comas.

El remate final para alcanzar la perfección automática

Tanto en el caso de Whisper como en el de Vosk, tenemos palabras en minúscula después de preguntas o inicios de frase también en minúsculas, pero Whisper ha captado la palabra Filmora perfectamente y en mayúsculas, cosa que no hace Vosk. Pero es que además aquí tenemos un aliado estupendo en Subtitle Edit.

¿Recuerdas este artículo en el que te enseñaba cómo utilizar este programa para realizar subtítulos? Pues Subtitle Edit tiene un asistente que te permite corregir los errores más comunes que tienen los subtítulos con solo un par de clics. Si abres los subtítulos con este programa, el texto lo marca en rojo, porque tenemos problemas de duración o saltos de línea en los subtítulos. Pues si pulsamos la combinación Control mayúsculas F, se nos abrirá un asistente en el que podemos solucionar los errores comunes de subtítulos. Si seleccionamos el idioma español y le damos a Next y luego a aplicar correcciones seleccionadas, en tan solo un par de segundos, corregiremos los errores más comunes.

Whisper + DaVinci Resolve: ¡sí, se puede!

Pero espera, porque la cosa no acaba aquí. Ya hablamos en su momento del script que hicimos para DaVinci Resolve para transcribir voz a texto y luego importarlo al programa, ¿verdad? Pues en mi GitHub encontrarás una versión de este script adaptado a Whisper. Lo único que tienes que hacer es seguir las instrucciones, instalar FFmpeg y Python si no los tenías todavía, habilitar la ejecución de scripts en DaVinci Resolve y por último colocar el archivo .py en la carpeta Utility de Fusion en tu instalación de DaVinci Resolve. En Windows lo tenemos en Program Data, Blackmagic Design, DaVinci Resolve, Fusion Scripts, Utility.

Si en DaVinci Resolve (versión Studio) nos vamos a Área de Trabajo, Secuencia de Comandos, aquí tenemos el script de Whisper y si lo ejecutamos, exportará el vídeo a un archivo de audio y luego utilizará toda la potencia de Whisper para realizar la transcripción de voz a texto. Y una vez haya finalizado este proceso, tendremos en el Panel Multimedia el archivo de subtítulos que podemos importar a la línea de tiempo con botón derecho e insertar subtítulos seleccionados a la línea de tiempo según código de tiempo.

Por último, estos subtítulos los podemos exportar tal y como están ahora, con botón derecho en la cabecera de la pista de subtítulos y en Exportar subtítulos. Y aquí podemos exportar los subtítulos en los formatos más comunes, como por ejemplo SRT o VTT.

Pero a mí me gusta más hacerlo mediante este script de PowerShell que también dejo en mi Github, porque puedo pasar de una tacada todos los vídeos que tenga dentro de un directorio en Windows, ya sea uno o cientos y cientos de vídeos.

*Nota: el texto de este artículo ha sido transcrito usando Whisper de forma local, siguiendo las instrucciones que tienes en el vídeo y en Github. Aparte de la edición para adaptarlo a la entrada, literalmente he hecho un total de 10 correcciones. 🤯

Adquiere las herramientas de trabajo de Creatubers

Equípate para tu proyecto creativo y me ayudarás con una pequeña comisión de afiliado. No pagarás de más, sino que los proveedores dejarán de recibir una pequeña parte para dársela a Creatubers.

30/11/2022

4 comentarios en "Whisper: la mejor IA para pasar voz a texto gratis"

  1. Complejo pero bien diseccionado. Tardaré en masticar todo esto e intentar hacerlo funcionar en mi pc.

  2. No entiendo nada, falta una explicacion mas detallada

Deja un mensaje

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

© 2024. Creatubers. Todos los derechos reservados. Información legal - Política de privacidad
X Facebook YouTube Instagram Twitch Podcast