Narrar subtítulos con voz
La primera ejecución descarga el modelo de voz y el fonemizador: unos 98 MB en total, servidos por este sitio y almacenados en caché por el navegador después. El subtítulo o el texto que sueltes nunca sale de esta pestaña. Elegir MP3 o M4A descarga otros 31 MB de codificador, y por eso WAV es el valor predeterminado.
Opciones
Una voz decide el acento y el timbre y, menos obvio, con qué sistema de sonidos se lee el texto. Emparejar una voz en español con una frase en inglés no falla: lee palabras inglesas con sonidos españoles, lo que es peor que un mensaje de error. Se ofrecen siete idiomas, no doce, porque el fonemizador incluido en esta página no tiene voz para japonés ni chino. Escucha un archivo corto antes de decidirte por uno largo; todas las voces llevan el mismo modelo, así que cambiar cuesta una síntesis, no una descarga.
La rapidez con la que lee la voz, aplicada sobre el ritmo que el modelo considera natural. Lenta es 0,8× y rápida 1,2×: deliberadamente moderadas, porque a partir de aproximadamente 1,5× el modelo empieza a tragarse sílabas y el resultado suena a alguien con prisas en lugar de a alguien que habla rápido. Cuando un bloque de subtítulos es demasiado corto para su línea, esta página sube la velocidad por sí misma hasta 1,4× antes de truncar, y ese aumento se multiplica por el ajuste que elijas aquí.
WAV es PCM sin comprimir de 24 kHz mono, escrito aquí sin ningún codificador, y por eso es el valor predeterminado y por eso no se descarga nada extra para él. MP3 y M4A necesitan el motor de video de 31 MB para comprimir, pero salen aproximadamente diez veces más pequeños: diez minutos de habla son unos 28 MB en WAV y unos 2,8 MB en MP3. Elige WAV para probar una voz y MP3 para enviar el archivo a alguien.
Esta página convierte un archivo de subtítulos en una pista de voz que lo sigue. Cada bloque se lee en voz alta y se coloca en el momento en que ese bloque empieza, así que el resultado es un único archivo de audio, film.wav, donde las palabras caen debajo de los subtítulos en lugar de unas sobre otras. El silencio rellena los huecos entre bloques y la duración total coincide con el final del último bloque, lo que significa que el audio se puede montar sobre la misma imagen para la que se hicieron los subtítulos.
La razón de que esta página exista separada de la de lectura simple es que la sincronización es la parte difícil. Una frase que tarda cuatro segundos en decirse pero tiene un bloque de dos no se puede colocar sin más: se metería debajo del siguiente, y dos voces a la vez son ruido, no narración. Así que cada línea se sintetiza a la velocidad que elijas, se mide y, si no cabe, se vuelve a sintetizar una vez a un ritmo más rápido, hasta 1,4×. Lo que siga sin caber se corta en el inicio del bloque siguiente, y el número de bloques a los que les pasó se informa como pérdida en lugar de ocultarse.
La lista de voces son diez voces en siete idiomas: inglés de Estados Unidos y de Reino Unido, español, francés, italiano, hindi y portugués de Brasil. Una voz no es solo un timbre: decide con los sonidos de qué idioma se lee el texto, así que emparejar una voz española con texto inglés produce algo que no es ninguna de las dos cosas. El japonés y el chino faltan a propósito: el fonemizador que se distribuye con esta página no tiene voz para ninguno de los dos, y ofrecerlos produciría un sinsentido muy seguro de sí mismo en lugar de un mensaje de error.
El trabajo es local. Unos 92 MB de modelo y fonemizador se descargan una vez desde este sitio y el navegador los guarda después en caché; el archivo de subtítulos no sale nunca de la pestaña. La salida es WAV de forma predeterminada porque no necesita ningún codificador: elegir MP3 o M4A carga un núcleo de ffmpeg de 31 MB para comprimir el resultado, algo que vale la pena para cualquier cosa que pretendas enviar a alguien. Si la descarga inicial se interrumpe, puedes cancelarla y volver a intentarlo sin perder el archivo que habías cargado. La generación también se puede cancelar y se detiene de inmediato: el motor de voz vive en su propio hilo, así que no hay que esperar a que termine la frase en curso.
Preguntas frecuentes
¿Por qué el WAV de esta página a veces corta una frase cuando el archivo SRT está bien?
Porque el corte lo causa el bloque, no el archivo. Un bloque que permanece en pantalla 1,8 segundos no puede contener una línea que tarda tres segundos en decirse salvo que se empuje la voz por encima de 1,4×, y más allá de ese punto las palabras dejan de ser inteligibles. La página prueba primero la velocidad que elegiste y después vuelve a sintetizar una vez al ritmo que haría que cupiera, con el límite de 1,4×. Si aun así se pasa, el audio se trunca en el inicio del bloque siguiente para que dos líneas no suenen a la vez, y el recuento de bloques afectados aparece en el informe de pérdidas bajo la cola.
¿Qué ocurre con el estilo, los colores y la posición en pantalla de ASS cuando se leen para narrar?
Se descartan, y aquí es lo correcto: un archivo de audio no tiene color ni posición en pantalla. Lo que sobrevive es el texto de cada bloque y sus horas de inicio y fin, que es justo lo que necesita la colocación. La negrita, la cursiva, los tiempos de karaoke y las anulaciones de posición {\anN} se eliminan en la capa de formato antes de la síntesis, así que una línea marcada como cursiva en el archivo ASS se lee con la misma voz que el resto. Si necesitas conservar el estilo, convierte antes el subtítulo; el producto de esta página es sonido.
¿Se puede leer un bloque SRT de dos líneas como una sola frase continua?
Sí, y siempre se hace así. Un salto de línea duro dentro de un bloque es una decisión tipográfica —un punto en el que quien subtituló decidió que la línea se estaba haciendo demasiado larga en pantalla—, no un punto en el que la persona que habla hizo una pausa. Por eso las dos líneas se unen con un espacio y se sintetizan como un solo enunciado, y un bloque partido en líneas sigue sonando como una sola respiración en lugar de dos hablantes que se turnan. Solo el límite entre bloques produce una pausa en la salida.
¿Qué idiomas puede hablar de verdad la pista de voz y qué pasa con los subtítulos en japonés?
Siete: en-US, en-GB, es, fr, hi, it y pt-BR. El japonés y el chino no están entre ellos porque el fonemizador incluido con esta página (espeak-ng) no tiene voz para ninguno, aunque el modelo de voz se entrenó con ellos. Pasar un .srt japonés a una voz inglesa no falla de forma ruidosa: las letras romanas se leen como inglés y los kanji se omiten o se deforman. El flujo honesto para esos idiomas es esperar una versión que lleve un fonemizador japonés o chino, en lugar de aceptar una pista que suena plausible y está mal.
¿Merece la pena el MP3 con sus 31 MB extra frente al WAV que da esta página de forma predeterminada?
Para cualquier cosa de más de unos minutos, sí. WAV es PCM mono sin comprimir a 24 kHz, así que diez minutos de narración son unos 28 MB, mientras que el mismo audio codificado en MP3 a 128 kbps ocupa unos 2,8 MB. El precio es que MP3 y M4A necesitan descargar una vez el núcleo de ffmpeg, y por eso WAV es el valor predeterminado: si solo quieres comprobar cómo suena una voz, no se descarga nada extra. Una vez que el codificador está en caché, convertir otra vez el mismo subtítulo con los mismos ajustes es rápido.