KuBuNtU cHiLE

Friday, September 15, 2006

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

0 Comments:

Post a Comment

<< Home


Generated