eSpeak

eSpeak en Ubuntu 16 (y otros ambientes)

Yo renombraría esta utilería como “e-Speak”, un apócope de “Electronic Speak” porque para nosotros los castellanohablantes nos suena como un “espanglish“, pero bueno, así se llamaeSpeak” (así nos confunda) ¿Y qué hace este software? Pues simplemente nos “habla” el texto que querramos y es especialmente útil para añadir ayuda auditiva para los discapacitados visuales en nuestros programas. La imagen de los labios la he sacado de su propio sitio web, el programa es de los años 90 y las gráficas se necesitaban así, ligeras y toscas (por extensión a la licencia imagino la imagen será de dominio público, en todo caso siempre enlazamos dando crédito de autoría). Acá haremos unas simples líneas de comando (nosotros siempre usando solo la venta terminal ¡cuándo no es pascua en diciembre!) así que disfrutad de nuestra primera entrada de agosto de 2017.

eSpeak
eSpeak (página web)

Instalación.

Como reza el título estamos en un ambiente Ubuntu 16 así que las instrucciones serán para esta popular distribución (para Fedora seguid el enlace de las fuentes consultadas al final de este artículo). Abrimos una ventana terminal CTRL+ALT+T y tipeamos lo siguiente:

sudo apt-get install espeak
apt-get install espeak
apt-get install espeak

Una vez hayáis introducido vuestra contraseña y esperar que se descarguen los archivos de internet pues tendremos instalada nuestra nueva utilidad de deletreo. Probad, como todos los programas que por defecto vienen en idioma inglés, con el parámetro ” –help” para visualizar la ayuda disponible; leed y analizad antes de pasar al siguiente punto, las voces instaladas.

Otros sistemas operativos.

Lo bueno del software libre es que como tiene acceso al código fuente, podréis instalarlo vosotros mismos (con los ajustes y correcciones necesarios) en varios ambientes. En su repositorio en GitHub hay instrucciones detalladas al respecto para Windows, Mac, BSD y Android.

Voces instaladas.

Si nosotros hablaramos inglés, pues al diablo, todo sería más fácil, pero como hablamos “spanish” (¿habrá alguna aplicación que se llame “eSpanish“? 😉 ) procedemos a buscar las voces en nuestro idioma, mirad la figura:

espeak --voices | grep "spanish"
espeak --voices | grep "spanish"
espeak –voices | grep “spanish”

Acá vemos las dos letras claves son las del principio “es”, investigando más a fondo listamos las voces correspondientes al castellano:

espeak --voices="es"
espeak –voices=”es”

Ya vemos las voces disponibles para nuestro idioma pero en la documentación advierten que muchos idiomas son experimentales, así que solo esperad la perfección de Dios solamente, nosotros pobres mortales somos imperfectos (pero buscando siempre la excelencia).

Usando “eSpeak”.

La voz que vamos a utilizar entonces es “venezuala-mbrola-1” (para los angloparlantes el nombre de nuestro país es difícil de pronunciar, por eso lo escriben mal allí arriba en la opción, para ellos es “vene -pausa- zuuuuu-Ela”) así que podemos, por ejemplo, dar la siguiente orden en un guion para que nos avise que finalizó el proceso solicitado:

echo "Respaldo completado" | espeak -v es-vz

Así mismo podemos grabarlo en un archivo con la extensión .wav con el parámetro nemotécnico “-w“:

echo "Respaldo completado" | espeak -v es-vz -w respaldo_completado.wav

Otro uso es leer un archivo de texto que tengamos para ayudar a nuestros usuarios, pues “eSpeak” lo lee por nostros con el parámetro “-f” seguido del nombre del fichero:

espeak -f archivo.txt -v es-vz

Por último, si queremos que cada minuto nos de la hora de nuestro sistema, en castellano, lanzad lo siguiente:

while true; do date +%S | grep '00' && date +%H:%M | espeak -v es-vz; sleep 1; done

Si la voz “venezuala” está instalada, oiréis la hora en castellano y si es demasiado robotizada podemos jugar con los parámetros de amplitud, tono, etcétera, acá un ejemplo, experimentad vosotros mismos con otras cifras:

while true; do date +%S | grep '00' && date +%H:%M | espeak -v es-vz -s 160 -a 100 -g 4; sleep 1; done

Uso práctico.

Se nos ocurre que podemos agregar un trabajo por fecha “cron-job” para que revise un registro .log (archivos de texto con la extension .log) para que revise las últimas 10 líneas (valor por defecto de tail) y si encuentra un error nos advierta de manera auditiva:

tail -1F /tu/fichero/log | grep --line-buffered 'ERROR' | espeak  -v es-vz

Conclusión.

Ya no hay excusas para no ayudar a nuestros compatriotas discapacitados visualmente e incluso nos ayudamos nosotros mismos con recordatorios, podemos agregarlo a una aplicación o simplemente agregar una tarea programada para que ejecute un guion de un fichero donde agreguemos las cosas que queremos recordar ¿Qué os parece?

Fuentes consultadas:

En idioma inglés: