Ir al contenido principal
Calidad del vídeo

Subtítulos que escuchan al narrador

· 4 min de lectura

Cada vídeo de PageToVid lleva subtítulos incrustados con una palabra iluminada cada vez, estilo karaoke. Cuando funciona, nadie lo nota; cuando la palabra iluminada se adelanta a la voz, el ojo lo siente al instante. El 15 de septiembre dejamos de adivinar dónde estaban las palabras y empezamos a escucharlas.

La palabra que sigue el ojo

Leemos más rápido de lo que habla un narrador, así que la palabra iluminada es una promesa: esta es la que oyes ahora. Si se cumple, los subtítulos forman parte de la voz. Si falla por medio segundo, el vídeo parece algo mecánico, aunque nadie sepa decir por qué.

Ese mismo día, un poco antes, habíamos ajustado los cambios de escena a las pausas reales del narrador. La siguiente pregunta era más fina: dentro de una escena, ¿se ilumina cada palabra cuando se dice?

Medir en lugar de entornar los ojos

Juzgar la sincronía a ojo no es fiable, así que medimos. Transcribimos la pista de voz de un vídeo con un reconocedor de voz independiente y comparamos el inicio real de cada palabra con el tiempo que le daban nuestros subtítulos.

Los números eran más claros que el ojo: 83 de 227 palabras quedaban a más de medio segundo de donde se decían, de media 0,57 segundos antes. La causa era una pista que habíamos añadido para ayudar: los tiempos de palabra de una alineación hecha por un modelo de lenguaje. Esa alineación tendía a adelantarse, y la pista contagiaba esa tendencia a cada palabra.

Así que la primera mejora fue quitar algo. Colocando las palabras solo según los tramos de voz real y la puntuación, sobre los mismos cortes de escena, esas palabras pasaron de 83 a 3, ninguna a más de un segundo.

Un reconocedor de voz en cada render

La locución es una sola toma continua para todo el guion: conserva su ritmo natural, pero no dice dónde empiezan las palabras de cada escena. El paso que ajusta las escenas a las pausas solo necesita una estimación inicial, con un margen de un segundo. Ahora la obtenemos escuchando, con Whisper funcionando dentro del propio worker de render:

  • un modelo Whisper compacto, con marcas de tiempo por palabra, funciona en el procesador con sus pesos incluidos en la imagen del servidor, sin llamar a ningún servicio externo;
  • las palabras oídas se emparejan con el guion en orden, así que un nombre mal entendido o un número dicho en letras simplemente queda sin pareja en vez de desplazar a sus vecinas;
  • Whisper fecha tarde una palabra tras un silencio, así que sus tiempos nunca se usan como tiempos de subtítulo; la estimación de una escena es el inicio del tramo de voz donde está su primera palabra oída;
  • si se oye menos de la mitad de las palabras, la alineación anterior sigue funcionando como respaldo.

Tarda unos 33 segundos de procesador por cada 130 segundos de audio. Probamos primero el modelo más pequeño y lo descartamos: una escena salía siete segundos desviada. La construcción de la imagen ejecuta además el modelo una vez sobre silencio, para que quede probado antes de cualquier render.

Líneas que cambian con una respiración

El ritmo era la mitad de la historia. La otra mitad era cómo se agrupan las palabras en pantalla. Las líneas cambiaban cada cinco palabras, hiciera lo que hiciera la frase, y eso se lee como una máquina.

Ahora las palabras de cada escena se cortan en líneas en los puntos y en las pausas del narrador: cualquier hueco entre dos palabras claramente más largo de lo que debería durar la palabra. Una palabra suelta se une a su vecina, y todo lo que pase de cinco palabras se divide en trozos equilibrados. Una línea que cambia con una respiración se lee como subtitulado de verdad.

Un fotograma reveló un último detalle: la palabra iluminada crecía tanto que tapaba un instante el final de la anterior. Suavizamos el efecto y dibujamos la palabra iluminada por encima de la línea.

Qué cambia

En el vídeo verificado, 3 de 227 palabras quedaron a más de medio segundo y ninguna a más de un segundo. Seis fotogramas tomados en inicios reales de voz mostraban la palabra iluminada sobre la palabra que se estaba diciendo.

Para quien hace un vídeo, los pasos no cambian; los subtítulos simplemente se asientan sobre la voz. Para nosotros quedan dos lecciones. Una pista que parece útil puede ser justo lo que perjudica, y solo una medida independiente lo muestra. Y un reconocedor de voz es excelente para decir qué palabras se oyeron y dónde empieza la voz, y menos fiable para fechar una palabra tras un silencio, así que solo le damos la primera tarea.

Mira los subtítulos en cualquier vídeo de la galería, o lee cómo encajan en un vídeo en la página de funciones.

Míralo en tu propia web

Pega una página y obtén el vídeo narrado del que habla este blog. El primero es gratis.

Primer vídeo gratis · sin tarjeta · listo en minutos

← Todos los artículos