Apuntes mientras aprendo sobre software y computadoras.

programación

Cómo crear subtítulos automáticamente con Kdenlive

En este apunte vamos a dedicarnos a comprender cómo crear subtítulos automáticamente con Kdenlive.

Kdenlive es un editor de video de código abierto. Es gratuito para usar y descargar. Es muy completo, tiene una gran variedad de opciones para trabajar con audio y video.

En conjunto es una muy buena opción para desarrollar nuestras habilidades en el mundo audiovisual.

Este software puede instalarse en diferentes sistemas operativos. Todo esto lo escribo utilizando Kdenlive en GNU/Linux. Pero si tenes en cuenta algunos ajustes puntuales, en especial respecto a los comandos de la terminal, la información también te va a servir si usas otros sistemas.

¿Cual es nuestro objetivo de hoy?

La idea es automatizar la creación de subtítulos.

Pero más importante todavía, el objetivo es poder tener nuestra propia herramienta para convertir audio hablado en texto dentro de la computadora.

Efectivamente lo que vamos a estar haciendo es lo que comúnmente se conoce como “desgrabar audio a texto”.

Conseguir transformar un audio en texto de forma automática tiene increíbles ventajas. Para empezar, los subtítulos mejoran la accesibilidad a los videos que creamos.

Pero no solo eso. Podemos usar esta herramienta para crear dictados, transformando luego nuestra voz en un material que podemos compartir en linea o desarrollar luego en un editor de texto. O sirve por ejemplo para tomar apuntes rápido hablando, y luego llevarlos de vuelta a texto para leerlos luego.

Así que sin más introducción, pasemos a revisar que necesitamos para llevar adelante este objetivo.

Cómo crear subtítulos automáticamente con Kdenlive

Aunque instalemos Kdenlive, aun no vamos a poder usar esta funcionalidad sin cumplir un par de requisitos antes.

El editor consigue hacer la transcripción por medio del uso de herramientas del repositorio Python.

Lo interesante es que hace todo este trabajo por “detrás de escena”. no necesitamos conocer programación en Python para crear los subtítulos. Por eso mismo, voy a tratar de hacer todo esto lo más directo posible.

Lo que primero necesitamos hacer es…

Instalar Python y sus módulos necesarios en Linux

Vamos a abrir la terminal.

Primero necesitamos instalar un interprete para Python3 en nuestro equipo. Si estamos utilizando algún sistema Linux, lo más seguro es que ya lo tenemos. Pero podemos asegurarnos, probando instalarlo con el comando:

sudo apt install python3

Lo siguiente es instalar el paquete python-is-python3 con el siguiente comando:

sudo apt install python-is-python3

¿Qué hace python-is-python3? Bueno, según entiendo es un paquete que hace que, cuando una aplicación intente invocar una versión de Python, la versión que resulte invocada sea Python3. Recordemos que también existe Python2, este paquete viene a evitar al sistema la confusión ¿a qué versión de Python se están refiriendo?

Tercero, necesitamos tener pip, y lo instalamos con el comando:

sudo apt install pip

La herramienta pip te permite instalar librerías y dependencias para Python.

Bien, ya adelantamos bastante. Tener todo esto instalado en el equipo es la base que necesitamos para ver cómo crear subtítulos automáticamente.

Lo siguiente es…

Instalar Kdenlive en Linux

Necesitamos conseguir Kdenlive en una versión 21.04.0 o superior. Como es fácil imaginar, instalar una versión anterior no va a ayudarnos para nada.

Es bueno aclarar que estoy escribiendo todo esto mientras utilizo la versión 21.08.0 de Kdenlive en Linux Mint.

ACTUALIZADO: también lo utilicé en la versión 23.04.2 de Kdenlive en Linux Mint.

Aunque podemos encontrar Kdenlive en el Software Center, tal vez no sea la última versión.

Podemos instalar el programa desde la terminal, pero nunca pude conseguir la última versión de este software de esta forma. Por ejemplo, utilizando el comando “apt” siempre conseguí versiones anteriores a la 20, incluso actualizando las fuentes. Pero ese pudo ser simplemente un error de mi parte.

Lo más práctico es seguir las instrucciones del sitio oficial des descarga para Kdenlive en este link.

Utilizando el comando “flatpak” para la descarga y utilización del programa también pude conseguir la versión más actualizada.

Al terminar esto, vamos a tener instalado el programa en la computadora. Lo siguiente es, como bien te poder imaginar, abrir el programa.

Instalar los modulos necesarios en Kdenlive

Tenemos que instalar los modelos de voz. Esto suena más difícil de lo que realmente es. La verdad es que esto es automático.

Para esto abrimos kdenlive y vamos a:

Settings > Configure Kdenlive > Speech to Text

En este momento, el programa va a pedirnos que elijamos entre dos herramientas para llevar adelante el trabajo. Por esta vez voy a elegir marcar la que se llama “Vosk”.

Según entiendo, estas librerias de Python que utiliza el programa son: Vosk (para el reconocimiento del lenguaje) y Srt (para sincronizar los subtítulos con la linea de tiempo).

Como dije antes, las mismos se descargan y utilizan automáticamente.

Por otra parte, también podríamos instalar estas librerias usando la terminal por medio de pip. Y podemos usarlas por ejemplo en nuestro propio código de python. Pero siendo que Kdenlive lo hace directo, voy a tomar el camino más relajado usandolas de esta forma.

Subir los modelos de Voz/diccionarios a Kdenlive

Este es el último paso para completar los detalles de la instalación.

El software nos va a pedir cargar un diccionario. Para eso tenemos que dirigirnos al siguiente sitio:

https://alphacephei.com/vosk/models

Y descargar el modelo que estamos buscando. Hay más de quince lenguajes para usar, pero en este caso vamos a descargar el del idioma español.

Con esto vamos a descargar el modelo, que viene en un archivo zip.

Acto seguido, utilizamos el signo + en la izquierda de la venta, elegimos la carpeta donde se encuentra guardado y lo cargamos. No necesitamos desempaquetar el archivo, alcanza con agregarlo así directamente como lo guardamos.

Crear subtítulos automáticamente con Kdenlive

Bueno, para este ejemplo yo utilicé un archivo de audio que hice con el celular. Usar solamente un audio o un video es realmente indistinto, en lineas generales, para el resultado final.

El programa utiliza una linea de tiempo. Lo que tenemos que hacer es soltar nuestro archivo dentro de la linea de tiempo.

Luego vamos al menú:

project > subtitles > speech recognition

Nos recibe una nueva ventana. Aquí elegimos en lenguaje, en nuestro caso el diccionario castellano que instalamos antes.

Acto seguido podemos elegir si se van a analizar todos los archivos subidos, solamente uno o solamente los clips seleccionados. Como en mi caso hay un único clip, marcado en toda su extensión, no me hace mucha diferencia.

Al darle click a procesar (process), el programa va a hacer su trabajo y nos va a devolver los subtítulos.

Los mismos van a aparecer en la parte superior de la linea de tiempo. Para mejor, aparecen ajustados a nuestro audio, por lo que no vamos a tener que moverlos para ajustarlos.

Tal vez lo más importante: Al guardar el archivo, Kdenlive guarda también un documento .srt que contiene el texto que transcribimos. No me refiero al momento de realizar un render del proyecto, al guardarlo con la opción “guardar como (save as)”.

Ese texto viene acompañado de las marcas de tiempo que hace que se sincronice al reproducirlo.

Pero podemos fácilmente retirar todas esas marcas en un editor de texto, para quedarnos solamente con la transcripción de la voz.

De este modo podemos transcribir apuntes universitarios, escribir textos mediante dictados o cualquier ora cosa que se nos ocurre. Todo automatizando el proyecto.

Conclusión

De este modo vimos cómo crear subtítulos automáticamente con Kdenlive.

Hay varios detalles a tener en cuenta. Es posible que el proyecto tenga problemas si la voz no es clara, o si hay mucho ruido de fondo, por ejemplo. Tal vez algunas partes no lleguen a transcribirse completas.

Aun así, el ahorro de energía y tiempo con la parte que se procesa correctamente es de una ayuda increíble. Y si hay partes que necesitan trabajo extra, se pueden arreglar usando como base el texto que el programa pudo transcribir.

Y más importante que todo lo demás. Existen en internet páginas que realizan este tipo de trabajo, pero todas piden que completemos varios pasos antes. Al menos nos piden registrarnos o dejar una dirección de correo.

La alternativa desde Kdenlive la podemos hacer directamente desde nuestro propio equipo, sin necesidad de estar en linea para conseguir la transcripción.

Para finalizar, cualquier error que encuentres en todo esto que escribí, te agradecería mucho que me lo hagas notar para poder repararlo.

La seguimos en el siguiente apunte.

Recursos

-Sitio oficial de Kdenlive

2 Comments

  1. Qué bueno!!! funciona a la perfección. Muchas gracias

  2. sam

    Excelente, lo necesitaba,lastima que no sé aun como editar las fuentes y el estilo de los subtítulos

Leave a Reply to Cancel reply