Cómo hacer para que el PC hable en Fedora 14
En Fedora 14, queremos que el PC lea texto y lo diga por los altavoces en español.
Por defecto el programa habla en inglés.
Necesitamos instalar el paquete Festival y de paso el idioma español y de paso algunos otros programas que usaremos.
yum install festival flite lame vlc yum install festvox-kal-diphone.noarch festvox-ked-diphone.noarch hispavoces-pal-diphone.noarch hispavoces-sfl-diphone.noarch
Tecleamos festival para entrar en el modo interactivo donde nos pide los comandos, hay que entrarlos entre parentesis ()
Para ver la lista de voces instalada:
(voice.list)
Obtenemos el siguiente resultado:
(JuntaDeAndalucia_es_sf_diphone JuntaDeAndalucia_es_pa_diphone ked_diphone kal_diphone nitech_us_slt_arctic_hts)
Seleccionamos una voz:
(voice_JuntaDeAndalucia_es_pa_diphone)
Probamos para que diga una frase:
(SayText "hola, esto es una prueba")
El problema es que desde el modo interactivo los acentos y eñes, no los entiende. Por lo que debemos usar la linea de comandos directamente:
echo "Hoy en día hay que darle caña." | iconv -f utf-8 -t iso-8859-1 | festival --tts --language spanish SIOD ERROR: unbound variable : voice_el_diphone
Como se puede ver, ahora nos da un error ya que intenta usar una voz española que no encuentra, y como no hay forma de pasar un parámetro, debemos modificar un fichero con el usuario root para solucionarlo.
/usr/share/festival/lib/voices.scm
En este fichero buscaremos la siguiente sección:
; This list has been reordered for Fedora, since we want to have the option ; to only install a smallish voice by default. And the slt voice is nice. (defvar default-voice-priority-list '(nitech_us_slt_arctic_hts nitech_us_awb_arctic_hts nitech_us_bdl_arctic_hts nitech_us_clb_arctic_hts nitech_us_jmk_arctic_hts nitech_us_rms_arctic_hts
Y la dejaremos de la siguiente manera, añadiendo las dos lineas de JuntaDeAndalucia_es
; This list has been reordered for Fedora, since we want to have the option ; to only install a smallish voice by default. And the slt voice is nice. (defvar default-voice-priority-list '(JuntaDeAndalucia_es_pa_diphone JuntaDeAndalucia_es_sf_diphone nitech_us_slt_arctic_hts nitech_us_awb_arctic_hts nitech_us_bdl_arctic_hts nitech_us_clb_arctic_hts nitech_us_jmk_arctic_hts nitech_us_rms_arctic_hts
Ahora ya podemos oir frases en español con acentos:
echo "caña al camión" | iconv -f utf-8 -t iso-8859-1 | festival --tts
Podemos generar un archivo de sonido con el resultado:
echo "hola camión" | iconv -f utf-8 -t iso-8859-1 | text2wave -o resultado.wav
Podemos pasar el resultado a formato .mp3
lame resultado.wav resultado.mp3
Con esto nos genera un fichero resultado.mp3 en el mismo directorio.
Ahora queremos que lea un fichero de texto con varias lineas
cat texto.txt | iconv -f utf-8 -t iso-8859-1 |festival --tts
Y para terminar queremos generar un fichero .mp3 a partir de un fichero de texto:
cat a.txt | iconv -f utf-8 -t iso-8859-1 | text2wave -o resultado.wav && lame resultado.wav resultado.mp3
Para oir el resultado podemos usar el programa vlc desde consola con en comando:
cvlc resultado.mp3
Ctrl-C para terminarlo.
Con esto podemos generar un .mp3 a partir de cualquier fichero de texto.
diciembre 26th, 2012 at 9:33 am
PERO QUE BUEN POST, MUCHISISISISISISISMAS GRACIAS AMIGO, TE PASASTE TODO ME SALIO A LA PERFECCION Y SOY MUY FELIZ, GRACIAS
diciembre 27th, 2012 at 6:41 pm
Unsa sola pregunta, por favor ayudame para ser completamente alegre, ¿como se controla la velocidad del lector de voz? porfa espero tu respuesta.