26 octubre 2006

Voces en Linux (y II): Reconocimiento

Lo prometido es deuda, y yo prometí hablar sobre el reconocimiento de voz en Linux, así que aquí estoy.

Si en la síntesis de voz Festival es el rey indiscutible, en el reconocimiento tenemos una pareja de ases: Sphinx2 y Perlbox-voice.

Sphinx2 es el conjunto de librerías (motor) de reconocimiento de voz. Es capaz de reconocer voces con independencia del locutor (no necesita entrenamiento) y una de sus características más importantes es el reconocimiento continuo (no por palabras). En Debian testing podeis instalarlo con sólo hacer

apt-get install sphinx2-bin

Perlbox-voice es el wrapper perfecto para Sphinx2. Está escrito en Perl/Tk y no sólo hace uso de Sphix2 sino también, como no, de Festival. Es decir, también soporta síntesis. La única pega es que, de momento, sólo soporta el inglés.

En resumen, Perlbox-voice queda a la espera de las órdenes acústicas que tengais configuradas para responder con el comando (o la frase) correspondiente. Es decir, podemos decirle "web" para que él ejecute Opera, o "mail" para que ejecute KMail... En fin, ya os podeis hacer una idea. Yo ya casi ni uso el ratón... mi herramienta principal a la hora de manejar soft es el micro :)

Por ejemplo, un comienzo de sesión típico en mi Debian viene a ser algo así:

→YO: Hello (hay que ser educado)
→Perlbox: Hola akira (sí, con say como comando responde hablando y, esta vez sí, en español, ya que para eso usa Festival).
→Y: Music
→Perlbox ejecuta amarok --play-pause, y comienza la música.
→Y: Next (no me gusta esta canción)
→Perlbox ejecuta amarok -f, y pasa a la siguente canción :)
→Y: Mail
→Perlbox ejecuta kmail
→Y: Feed
→Perlbox ejecuta akregator
→Y: Music
→La música se pausa
→Y: Odiss
→Perlbox ejecuta opera http://www.odiss.org/, a ver qué se cuece en el foro
→Y: Donkey
→La mulita a rular...

Y en fin, ya os podeis hacer una idea bastante aproximada de lo que se puede hacer con un poco de imaginación :)

La instalación es bastante sencilla, ya que en la página de descarga podemos obtener el paquete DEB (noarch), o incluso el RPM o un instalador genérico. Lo único a tener en cuenta es que, para funcionar, necesita del paquete perl-tk:

apt-get install perl-tk

La configuración es sumamente sencilla. Prácticamente meterle los comandos y a rular. En la web dice que hay disponible un plugin para KDE pero yo no lo he encontrado por ningún sitio :( Y mirad que estaría interesante, porque, según dice la web, you can switch virtual desktops, invoke the desktop menu, switch wallpaper or lock the screen, osea, ya la locura total... En fin, si alguien da con él, que avise ;)

ACTUALIZADO: Estoy tonto o estoy tonto. Resulta que el plugin de KDE ya viene instalado y listo para usar. Se puede cargar desde la configuración :$

No hay comentarios: