Ir al contenido principal

Cómo generar subtítulos y transcripciones automáticas con Inteligencia Artificial

Captura de pantalla del programa buzz para generar subtítulos donde se muestran varias lineas de subtitulos con sus instantes de tiempo

En este artículo, os mostraré cómo crear automáticamente subtítulos para videos y transcripciones de texto para archivos de audio utilizando inteligencia artificial. Para ello, haremos uso de Buzz, un programa gratuito que emplea Whisper, el modelo de Reconocimiento Automático de Voz (ASR) desarrollado por OpenAI.

De voz a texto con inteligencia artificial

Sistemas de reconocimiento de voz y transcripción a texto existen muchos: desde el propio dictado de los teléfonos Android e iOS o el de Windows en ordenadores y otros programas especializados como ListenAll o Dragon Natural Speaking. Sin embargo, estos sistemas están enfocados en realizar transcripciones de la voz en tiempo real y del micrófono de nuestro dispositivo, por lo que no permitían realizar transcripciones de ficheros de audio.

Pero ahora, OpenAI, la empresa desarrolladora del famoso ChatGPT, ha puesto a disposición del público de forma gratuita un modelo de reconocimiento de voz automática con inteligencia artificial. Este modelo se llama Whisper y ha sido entrenado con cientos de miles de horas de audio y su precisión es muy alta.

La diferencia entre Whisper y los sistemas tradicionales, es que además de intentar reconocer las palabras, da sentido a las oraciones y crea párrafos completos con todos sus signos de puntuación; detectando cuando hay preguntas, exclamaciones, etc. Lo que resulta en un texto con mucho más sentido y no un «chorro de texto» sin estructura.

Descarga e instalación de Buzz

El programa que vamos a utilizar se llama Buzz y es gratuito, para descargarlo se puede ir a la página de lanzamientos del proyecto, pulsar en la versión más actual (al escribir este artículo la 0.8.4) y en la sección «assets» al final de la página, descargar el instalador para nuestro sistema operativo ya que se encuentra disponible para Windows, Mac y Linux.

Para facilitar la tarea, os pongo los enlaces de descarga directos para las 3 plataformas, versión 0.8.4, con un peso de unos 200MB:

Una vez descargado el instalador, proceder con los pasos típicos para instalar el programa. Una vez finalizada la instalación ya tenéis Buzz instalado en vuestro ordenador. Ahora ya podéis ejecutarlo y empezar a usarlo.

Primeros pasos con Buzz

Al ejecutar la aplicación veréis una ventana como la siguiente o similar, ya que yo uso Mac:

Captura de pantalla del programa Buzz con las opciones típicas de transcribir audio y parar y eliminar las tareas de transcripción

La aplicación es muy sencilla y de izquierda a derecha los iconos que hay sirven para:

  1. Icono del micrófono, para realizar transcripción del sonido del micrófono. Si vuestro ordenador no es potente, no funcionará.
  2. Icono del + o nueva transcripción. Para realizar la transcripción de un fichero de audio.
  3. Botón de abrir transcripción una vez que haya finalizado la tarea
  4. Botón para cancelar la tarea de transcripción
  5. Botón para eliminar la tarea de transcripción de la lista de tareas.

Nuestra primera transcripción

Vamos a realizar la primera tarea de transcripción. Pulsamos en el botón del + o pulsamos en Archivo – Nueva transcripción y seleccionamos de nuestro ordenador el fichero de audio que queremos transcribir, acepta MP3, WAV, M4A y OGG. Una vez seleccionado el fichero de audio, nos aparece una ventana como la siguiente:

Ventana de opciones de transcripción de BUZZ con modelo whisper large seleccionado e idioma español

En esta ventana podemos seleccionar el modelo, que será Whisper. Además, debemos seleccionar qué variante del modelo queremos utilizar, hay desde Tiny hasta large. Las variantes iniciales (tiny, small) son las que más rápido transcriben el audio pero su precisión no es la mejor. Si queremos la máxima precisión en el reconocimiento de voz deberemos seleccionar la variante large.

Es buen momento para indicar que el proceso de transcripción es muy exigente computacionalmente y se requiere un ordenador con potencial, recomendable 16GB de RAM y un procesador i7 o i9 o equivalente. Un audio de varias horas de duración puede tardar 3 o 4 horas en finalizar la transcripción.

El siguiente parámetro a configurar en la ventana es el tipo de tarea. Hay dos, por defecto transcribir y también se puede traducir. Pero la traducción sólo se hace de cualquier idioma al inglés, y no en sentido contrario. Por lo que podremos poner un audio en español, francés, italiano, etc. y lo traducirá al inglés. En nuestro caso seleccionamos la tarea transcribir.

Ahora debemos seleccionar el idioma del reconocimiento de voz, existe la opción de «Detectar automáticamente», pero en ocasiones esta opción no funciona y obtendremos una transcripción deficiente, por lo que deberemos seleccionar en qué idioma está el audio. En mi caso Spanish, porque los idiomas están en inglés.

En cuanto a los idiomas disponibles, además del español, están ell catalán, el gallego y el euskera. La lista es muy larga e incluye los típicos inglés y europeos como italiano, francés, alemán, etc.

Otra opción a marcar es la casilla de Tiempos a nivel de palabras, esta opción, como su nombre indica, se guarda los tiempos de aparición de las palabras, imprescindible para que los subtítulos aparezcan en los instantes de tiempo correctos. Si sólo queremos la transcripción y no subtítulos, no es necesario marcarla.

Abajo tenemos más opciones, como seleccionar el tipo de resultado que queremos (fichero de texto, subtítulos, etc.) pero no es necesario seleccionarlo ya que a posteriori los podemos elegir.

Pulsamos en el botón correr del proceso de transcripción comienza. ¡Un poco de paciencia que el proceso puede tardar bastante!

Ventana de guzz con una tarea de transcripción en proceso al 82%

Descargando los subtítulos o transcripción generados

Una vez finalizado el proceso de transcripción, pulsamos en el elemento de la lista y aparecerá una ventana con los instantes de tiempos y el texto generado. En la parte inferior derecha de la pantalla tenemos un botón de descarga, si lo pulsamos, podremos descargar el fichero en tres formatos:

  • TXT: Fichero de texto plano con el texto estructurado por párrafos.
  • SRT: Fichero de subtítulos estándar que se pueden utilizar para, adjuntarlos al vídeo. Con cualquier reproductor como VLC se puede reproducir el vídeo con los subtítulos SRT generados..
  • VTT: Este formato es muy utilizado en Microsoft Office, por ejemplo para incluir subtítulos en los vídeos que incrustemos en PowerPoint.

Ventana de descarga de transcripción en txt, srt, o vtt de la transcripción realizada con buzz

¡Y listo! Con estos sencillos pasos podremos generar subtítulos para vídeos y realizar transcripciones de audios como reuniones, eventos, clases, etc.

Es importante destacar que se pueden añadir varias tareas de transcripción y Buzz las irá realizando una detrás de otra hasta finalizarlas todas.

Conclusiones

Los resultados obtenidos con Buzz son francamente impresionantes y con una tasa de error de reconocimiento muy baja. Suele fallar en algunas abreviaturas no muy conocidas y en algunos nombres propios con los que no haya sido entrenado, pero el ahorro de tiempo al realizar las transcripciones con esta herramienta es enorme. Es importante mencionar que los ficheros de subtítulos al fin y al cabo son ficheros de texto que se pueden abrir con un bloc de notas y editar las palabras que no estén bien transcritas.

Os animo a probarlo y que saquéis vuestras propias conclusiones. El subtitulado y la transcripción casi completamente precisa ahora están al alcance de cualquier persona.

PD: En este artículo no entro en la tarea de extraer  el audio de vídeos ya que no es mi fuerte.

Etiquetas: , , ,

Hay 5 comentarios

  1. Marta dice:

    Muchas gracias por este aporte tan significativo. Aprovecho para consultarte qué aplicación recomendarías que tenga está funcionalidad o similar para celular.
    ¡Abrazo!

    1. Jose Maria Fernandez dice:

      ¡Hola Marta!
      Para realizar subtítulos con la tecnología de Whisper, para iOS existe la app Aiko, para Android aún no conozca ninguna. Iré publicando más aplicaciones cuando las vaya descubriendo. ¡Saludos!

      1. Marta dice:

        ¡Gracias José María por tu pronta respuesta, Cariños!

  2. José dice:

    Muchas gracias por esa información y por sacar tiempo para compartir

  3. Quico Saval dice:

    En cuanto a la conversión de vídeo a audio hay muchos editores y estaciones de audio que pueden hacerlo, pero lo más fácil es llevarlo a cabo desde el propio reproductor VLC. No lo recuerdo de memoria, pero si recorremos sus menús deberíamos hallar la opción de conversión.

Deja una respuesta

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