Festival, de Texto a Voz en linux

Si, es cierto que muchos de los programas para windows faltan en linux, pero cada vez la cifra se estrecha mas ya que crean dia a dia, mas programas de calidad para linux, lo que a veces falta es un Gui, para esta aplicacion, y no tener que trabajar desde la consola. Pero bueno, en fin. Esta Vez hablare de como tener este programa que te lee, en español y en ingles, y ademas te pasa un texto a wav.

Empecemos

Festival

El nombre completo es Festival Speech Synthesis System, el cual es un
sistema de lo mas completo hecho para convertir texto en sonido y
viceversa, es un proyecto que ya tiene mucho tiempo, se puede
encontrar toda la información necesaria en
http://www.cstr.ed.ac.uk/projects/festival/ y en http://festvox.org.

Para instalarlo en Ubuntu tenemos que tener habilitados los
repositorios extras en el apt y teclear lo siguiente en una terminal.

#$: sudo aptitude install festival festlex-cmu festlex-poslex festvox-kallpc16k libestools1.2 festvox-ellpc11k

ahora en consola

#$: festival –language spanish

Y ahora en los comandos vamos a teclear lo siguiente

festival> (SayText “Hola amigo. ¿Como estas compadre?”)

para salir pon

festival> (quit)

ahora si queremos leer un texto es asi en consola:

festival –language spanish –tts textoejemplo

ahora lo que haremos sera poner este texto en un wav, festival tiene una aplicacion llamada text2wave, lo default festival lo hace en ingles pero nada que no podamos solucionar

text2wave slashdot.txt | oggenc – -o slashdot.ogg

(comando para textos en ingles, el que esta arriba)

ahora para que sea en español haremos lo siguiente

en nuestro home creamos el archivo .festivalrc y ponemos lo siguiente

Código:
(Parameter.set ‘Audio_Method ‘Audio_Command)
(Parameter.set ‘Audio_Command “cat $FILE >> foo.raw”)

Lo que nos va a resultar que cuando entremos a festival de modo interactivo no escuchar nada, ya que la salida de audio se vuelca a un archivo y luego usamos el mismo festival para pasar el texto al audio (nadie es imprecindible, escuchastes text2wave!?)

ejecutamos :
$festival –language spanish –tts archivo.txt

los que nos generara un archivo .raw

Para recodificarlo a un formato mas comun vamos a usar sox…

primero vamos a probarlo mediante play

play -c 2 -f s -r 6500 -s w -t raw foo.raw

los valores que estube manejando fueron entre 5800 a 8000 , queremos algo livianito y para uso personal, no para poder crear un mp3 de 41100 hertz y pasarlo a la ipod.

Despues de jugar con play y encontrarle la frequencia ideal lo recodificamos a wav (hago este paso porque no se como mandarlo como ogg directamente)

$sox -c 2 -r 6500 -s -w foo.raw feed.wav

y ahora para pasarlo a mp3 y/o ogg hacer lo siguiente

a mp3 en consola:

oggenc *.wav

a ogg en cosola:

lame -h -m j tema.wav

y listo uff medio largo el tutorial pero a mas de alguien le servira, lo malo de festival es la voz, se escucha como robot no como otras que estan en win como TTS, etc, pero bueno, mas adelante hablare sobre otros programas de audio que suenan un pelin mejor que este como es MBrola.

pd: Alguien que se paletee y cree un GUI para esta aplicacion Pleaseee..

saludos a todos

Anuncios

11 comentarios

  1. Gracias por los datos, yo soy uno de los que necesita este tipo de programa 😉 …

  2. Muy bueno el artículo, estaba yo buscando información sobre el festival para crear un artículo pero he decidido hacer mención al tuyo.

    Un saludo.

  3. cual es el gusto de copiar y pegar en todos los blogs la misma cosa? , esto esta super repetido

  4. Está genial el post. Es el único que he encontrado sobre como grabar los archivos. Sin embargo, me he topado con lo siguiente:

    anna@milzein:~$ festival –language spanish –tts Cervantes.txt
    SIOD ERROR: unbound variable : ‘Audio_Method
    closing a file left open: /home/marta/.festivalrc
    closing a file left open: /usr/share/festival/init.scm
    festival: fatal error exiting.

    No entiendo por qué me devuelve eso la consola??? Alguna idea?

    Gracias de antemano

  5. Anna, fijate las comillas, debes usar las comunes (‘ y “), en la pagina las han cambiado por las direccionales y esas fallan.

  6. Muy buen articulo pero esta desactualizado. No funciona bien ya la opcion -w porque no existe y hay una forma mas corta:

    # Inicio el interprete de festival y ejecuto las siguientes lineas separadas:

    (Parameter.set ‘Audio_Method ‘Audio_Command)
    (Parameter.set ‘Audio_Required_Format ‘snd)
    (Parameter.set ‘Audio_Command “cat $FILE > foo.wav”)

    Y listo! La segunda linea evita usar la conversion RAW a WAV y el archivo final ya funciona con mplayer por ejemplo.

    • Se me olvido las siguientes anotaciones:

      1. Tener cuidado con las comillas, son simples y dobles, no la que pone el manejador de contenidos de este portal web.

      2. Hay que configurar antes el idioma, entonces quedaria asi:

      (language_castillian_spanish )
      (Parameter.set ‘Audio_Method ‘Audio_Command)
      (Parameter.set ‘Audio_Required_Format ‘snd)
      (Parameter.set ‘Audio_Command “cat $FILE > foo.wav”)

      3. El archivo es un PCM al parecer que le falta algo de formato para que funcione por ejemplo en una aplicación Android, entonces es aconcejable usar por ej audacity para exportar correctamente el wav.

    • Excelente. xD Yo buscando por otros lados para convertir ese archivo raw y aquí mismo estaba la respuesta. ¡Gracias! También gracias al autor de esta sección.

  7. […] como es MBrola.pd: Alguien que se paletee y cree un GUI para esta aplicacion Pleaseee..Visto en: kubuntuchile¿Te gustó este artículo?¡Suscríbete a nuestro feed RSS! Archivado en: Configuraciones Deja un […]

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: