SRT a voz: convierte subtítulos en una pista de voz
Un archivo de subtítulos ya contiene todo lo que necesita una locución: las palabras y el momento en que debe oírse cada línea. Convertirlo en voz da a un tutorial, un short o un vídeo traducido una pista de voz sincronizada con la imagen, sin grabar ni una frase.
El motor gratuito SuperClonica genera cada línea sin conexión con una voz natural, y un breve script de Python la coloca en su momento. Esta guía muestra el script, cómo encajar las líneas largas en su hueco y cómo poner la pista bajo el vídeo.
Qué necesitas
El motor no lee archivos SRT por sí solo: unas veinte líneas de Python hacen el trabajo.
- Un archivo SRT: de tu editor, de subtítulos automáticos o de una traducción.
- El motor gratuito SuperClonica y Python 3.10 o posterior: python -m pip install superclonica-cpu. numpy viene incluido.
- Una voz: una de las diez de serie, una del catálogo o tu propia voz entrenada.
- Sin tarjeta gráfica: basta un procesador normal.
Escucha una línea gratis
En la página de cualquier voz, pega una línea de subtítulo, de 30 a 100 caracteres, elige el idioma y pulsa el botón para generarla. En unos segundos oyes cómo sonará el vídeo, sin cuenta.
De las líneas a una pista
Crea el motor una vez antes del bucle: cargarlo tarda unos segundos y cada frase, una fracción de segundo.
- Lee el archivo: cada entrada es un número, una línea con las horas de inicio y fin, y el texto.
- Genera cada entrada: audio, sample_rate = tts.synthesize(text, voice="F2", lang="es", seed=7).
- Crea un array de numpy en silencio tan largo como el vídeo y suma cada frase en la muestra donde empieza su entrada: el inicio en segundos por la frecuencia de muestreo.
- Guarda el resultado con tts.save("track.wav", track).
Líneas que no caben
Imprime la duración de cada frase junto a la duración de su entrada. Si la voz dura más que su hueco, se solapa con la siguiente. Primero acorta el texto; une dos entradas cortas en una; o crea el motor algo más rápido, por ejemplo Superclonica(speed=1.15), dentro del rango permitido de 0,7 a 2,0. El mismo texto, voz y seed dan siempre el mismo audio, así que puedes arreglar una frase y reconstruir la pista.
Pon la voz bajo el vídeo
Importa track.wav en tu editor de vídeo como pista de audio, o únelo al vídeo con un solo comando: ffmpeg -i video.mp4 -i track.wav -map 0:v -map 1:a -c:v copy -c:a aac voiced.mp4. Deja el sonido original en una segunda pista si quieres música o efectos bajo la voz. Pon voz solo a vídeos tuyos o con permiso, y no uses una voz que imite a una persona real sin su consentimiento.