miércoles, 13 de agosto de 2014

Texto a Voz + SRT

Text to Speech + Subrip Subtitle

Algunas veces me gusta leer y al mismo tiempo escuchar lo que leo. Esto me permite llevar un ritmo constante y lograr mayor concentración en la lectura.

El otro día quise subir un texto a Youtube, sintetizado con una voz Loquendo y con subtítulos, de modo que desde Youtube el lector pudiera escuchar y al mismo tiempo leer la transcripción. Procedí a sintetizar el texto a voz utilizando SodelsCot Estándar y la voz de Loquendo Ximena. SodelsCot convierte a un archivo de audio el texto copiado al portapapeles y Youtube tiene una función que permite cargar la transcripción en formato de texto y convertirla a subtítulos en el video. Pero tanto SodelsCot como Youtube han presentado algunos inconvenientes:

  • Si el texto es muy grande, SodelsCot falla en el proceso de conversión de Texto a Voz.
  • Durante la conversión, prácticamente no se puede usar el portapapeles para otra cosa, ya que interfiere con el archivo de audio generado o crea archivos de más.
  • SodelsCot solamente permite convertir un texto a audio a la vez.
  • Si el texto es relativamente grande, Youtube demora muchas horas en procesar la transcripción.
  • Youtube falla frecuentemente, mostrando un mensaje de error en el procesamiento de la transcripción.
Con tanta "fricción cognitiva", pensé que sería mejor escribir un pequeño programa de uso personal que permita realizar lo siguiente:
  1. Recibir como entrada un archivo de texto plano.
  2. Generar 2 archivos, uno de audio (mp3 o wav) y un SRT con los subtítulos correspondientes.

SubTTS

SubTTS es el nombre con el que bauticé al programa. Por ahora es una aplicación de consola parametrizable por medio de un archivo de configuración.

SubTTS fue escrito en C# sobre .Net Framework 4.


Utilizando SubTTS

  1. Lo primero es descargar el programa aquí. Para descomprimir el RAR utiliza WinRAR y la clave: cristiandlr.blogspot.com
  2. Una vez descomprimido, ejecutar TTSub.exe para comprobar el listado de voces instaladas. Presionar Ctrl + C para salir del programa.
  3. Editar el archivo de configuración TTSub.exe.config y establecer los siguientes parámetros:
    • PathToText. Ruta completa al archivo de texto que se procesará.
    • WordsPerSub. Número de palabras por cada subtítulo.
    • VoiceName. Una de las voces instaladas (listadas en el paso 2).
    • VoiceRate. Velocidad de lectura, los valores oscilan entre -10 y 10.
    • OutputFormat. WAV o MP3.
  4. Una vez guardada la configuración, ejecutar nuevamente TTSub.exe, pero esta vez presionamos Enter para continuar luego de ver las voces instaladas.
  5. La ventana se cerrará sola al finalizar el trabajo y los archivos resultantes (wav y srt) quedan en la misma carpeta donde está el archivo de texto.

Qué hacer con los archivos?

Por ahora SubTTS es una herramienta que cumple una tarea muy simple. Por sí mismos los archivos de audio (wav o mp3) y srt (subrip subtitle) no pueden utilizarse juntos en un reproductor de audio convencional. El archivo de audio debe ser codificado en un formato de video (mp4, wmv, etc.) para que el reproductor cargue y despliegue los subtítulos. Se puede utilizar una herramienta como Windows Movie Maker para crear un video.

Licenciamiento

El programa es de uso libre para cualquier fin.

2016 11 25 Actualización: He publicado el código fuente en github.

8 comentarios:

  1. Oye ¿podrias por favor compartir el codigo del programa?

    ResponderEliminar
    Respuestas
    1. Puedes encontrar el código fuente aquí:
      https://github.com/cristiandlr/SubTTS

      Eliminar
    2. Hola Cristian, puedes resubir el archivo .exe , porque ya lo borraron. Gracias

      Eliminar
    3. https://drive.google.com/file/d/0BzzoVgrvxWkwQXhfQXFndHcwVkE/view?usp=sharing

      Eliminar
    4. Gracias por el programa, pero me manda error al iniciarlo.

      Tengo una consulta: Como abro archivos .sln o .py de este programa https://github.com/openscriptures/BibleOrgSys ?

      Me interesa convertir un arhivo, pero no se como usarlo.
      Gracias y Dios te bendiga

      Eliminar
  2. Hola. Dime conoces algún programa que convierta los subtitulos SRT en audio. Sucede que el archivo SRT ya está sincronizado y me gustaría un audio en ingles y portugués que vaya leyendo los subtítulos.
    Existe tal cosa?

    ResponderEliminar
  3. una pregunta porque estuve utilizandolo, pero sabes me esta generando la voz de las horas y minutos, deberias hacer una actualizacion para que no lea esos horas, minutos y segundos, utilice con el formato SRT. me puedes escribir a oscarga20@gmail.com. Para saber cuando lo actualices. gracias. Deberias hacer uno mas grafico y mas amigable para la vista. Eres fenomenal amigo, yo pagaria por esa aplicacion. Me gusta ver muchos videos en ingles y traducirlo en español. Y me gustaria ver una mejora en este programa es el unico que existe en tu medio.

    ResponderEliminar
  4. The 5 Best Casino Bonuses in Canada - Oklahoma Casino Guru
    The 5 Best Casino Bonuses in Canada · 마틴게일 전략 1. 해외 라이브 스코어 Betway Casino · 2. 벳 365 가상 축구 주소 Betway Casino · 3. 한게임바카라 Caesars Casino · 4. LeoVegas Casino 1xbetonline · 5. BetMGM Casino.

    ResponderEliminar