Cómo crear subtítulos automáticamente con Kdenlive
Tabla de Contenidos
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, cuenta con una gran variedad de opciones para trabajar con audio y video.
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.
La idea es automatizar la creación de subtítulos por medio de algunas de las herramientas de procesamiento de lenguaje que ofrece este programa.
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.
Así que sin más introducción, pasemos a revisar que necesitamos para llevar adelante este objetivo.
Algunos requisitos previos
Estos detlles son más bien opcionales. Si estás utilizando un sistema Linux, lo más seguro es que ya contás con estos paquetes instalados. Pero no está por demás revisarlo.
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 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.