14 Abril, 2008

Ubuntu habla (1): eSpeak

Archivado en: despuesdeG | | 4 Comentarios »
Compartir en Twitter | Compartir en Facebook | Delicious Archivar en Delicious

La síntesis de voz no es ajena a Linux y Ubuntu. Existen programas libres y abiertos TTS (Text to Speach, “del texto al habla”) que permiten en estos sistemas la lectura automatizada de textos.
¿Utilidad de este tipo de software? Por ejemplo, puede resultar un práctico soporte de audio para el aprendizaje de idiomas extranjeros.

eSpeak viene preinstalado en la mayoría de distribuciones. Conviene instalar el paquete alsa-oss:

sudo apt-get install alsa-oss

Para ejecutar eSpeak, debes cerrar todas las aplicaciones que puedan usar el sistema de sonido.
Si al lanzar eSpeak con el comando

espeak

la consola te devuelve (repetido varias veces) el error

PaHost_OpenStream: could not open /dev/dsp for O_WRONLY
PaHost_OpenStream: ERROR - result = -10000

es que todavía necesitas cerrar algún programa. En mi caso, hasta que no cerré Firefox, no funcionó.

Las posibilidades de eSpeak son muchas (lista completa de parámetros) Las básicas son:

espeak

o mejor

aoss espeak

y escribes un texto, que es leído por el programa cuando pulsas Enter, quedando libre para la lectura de una nueva línea. Para interrumpir, CTRL + C
Otra posibilidad:

espeak un_texto_cualquiera

Quizás la fonética te resulte extraña. Conviene especificar al programa en qué idioma debe hablar. Para comprobar cuáles tiene instalados:

aoss espeak --voices

Seguramente, te aparecerá una lista con unos cuarenta, incluido el español (es)
Para que eSpeak lea de forma más convincente un texto en español emplea el parámetro -ves:

aoss espeak -ves hola,mundo

Puedes definir la sintaxis de dos formas: mediante comas que funcionan como separaciones entre palabras, o bien metiendo la frase entre comillas. Así, con equivalentes:

aoss espeak -ves hola,hoy,es,lunes,y,mañana,martes

y

aoss espeak -ves "hola, hoy es lunes y mañana martes"

Para leer un texto (siempre que sea texto plano) guardado, se emplea el parámetro -f:

aoss espeak -ves -f ruta_al_archivo

Y para guardar un texto como archivo de audio, se emplea el parámetro -w:

aoss espeak -ves "hola, soy un PC Ubuntu" -w ubuntu.wav

4 comentarios »

Sitios que enlazan a esta entrada

Dejar un comentario