19.04.2015 Views

Una aplicación alternativa para personas discapacitadas

Una aplicación alternativa para personas discapacitadas

Una aplicación alternativa para personas discapacitadas

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CENTRO DE INVESTIGACIONES Y DESARROLLO – FACULTAD DE INGENIERÍA<br />

Las tecnologías del reconocimiento de voz y su<br />

implementación en software libre<br />

<strong>Una</strong> aplicación <strong>alternativa</strong> <strong>para</strong> <strong>personas</strong><br />

<strong>discapacitadas</strong> 1<br />

Coca Bedoya, Óscar Julián 2 y Ramírez Rendón, Carlos Alberto 3 . GLEC.<br />

Resumen<br />

Este documento, presenta una introducción general de las tecnologías del<br />

reconocimiento de voz y cómo éstas pueden ayudar a que las <strong>personas</strong> con<br />

alteraciones motoras utilicen, de una manera amigable y dinámica, las<br />

tecnologías de la información (TIC's). El sistema operativo GNU/Linux, una<br />

tecnología moderna de la información, puede usarse <strong>para</strong> la creación de<br />

nuevas utilerías y la personalización, según las necesidades de los<br />

programadores y usuarios, <strong>para</strong> diseñar e implementar una interfaz<br />

Hombre/Máquina a través de comandos orales.<br />

Palabras clave: Comandos orales, Gnome, Interfaz hombre máquina,<br />

Software Libre.<br />

I. Introducción<br />

El reconocimiento de voz es un campo disciplinal muy nuevo, surgido en los<br />

inicios de la década de los años cincuenta, que presenta una evolución<br />

significativa, debido al uso de diferentes enfoques de reconocimiento de<br />

patrones, tales como: el estadístico, que emplea los modelos ocultos de<br />

Markov (HMM); el sintáctico, que se basa en encontrar las relaciones<br />

estructurales que guardan los objetos de estudio utilizando la teoría de los<br />

lenguajes formales; el lógico combinatorio, que se fundamenta en la idea de<br />

que la modelación del problema debe ser lo más cercano posible a la<br />

realidad; las redes neuronales artificiales (RNA's), fundamentadas en la<br />

simulación del comportamiento neuronal del cerebro humano; y en los<br />

últimos años, algunos híbridos como el Branch and Bounds, que combina las<br />

1 Basado en el trabajo de grado “Acceso al escritorio Gnome del Sistema Operativo GNU/Linux<br />

utilizando la voz: una ayuda a las <strong>personas</strong> <strong>discapacitadas</strong>”, realizado como requisito parcial <strong>para</strong> optar<br />

al título de Pregrado en Ingeniería de Sistemas y Telecomunicaciones, Facultad de Ingeniería,<br />

Universidad de Manizales, 2005.<br />

2 Estudiante Ingeniería de Sistemas y Telecomunicaciones, Facultad de Ingeniería, Universidad de<br />

Manizales. E-mail: juliancoca@athenea.umanizales.edu.co<br />

3 Estudiante Ingeniería de Sistemas y Telecomunicaciones, Facultad de Ingeniería, Universidad de<br />

Manizales. E-mail: karlox@linuxmail.org<br />

VENTANA INFORMÁTICA No. 12 – Universidad de Manizales, enero – junio / 2005 – pp 203-209


- Universidad de Manizales, enero – junio / 2005<br />

RNA's y los HMM.<br />

Los avances logrados con el uso de los enfoques mencionados, han<br />

evolucionado desde el reconocimiento de palabras aisladas dependientes del<br />

hablante, hasta el discurso continuo independiente del mismo, pasando por<br />

la edición de texto a través de comandos orales, la autenticación de usuarios<br />

en sistemas de seguridad, la administración de sistemas informáticos a<br />

través de comandos orales y los sistemas de comunicación móvil con<br />

marcado automático por voz.<br />

Debido a lo nuevo de este campo disciplinal, los actuales motores de<br />

reconocimiento de voz presentan falencias en su rendimiento, situación que<br />

lo convierte en un medio de cultivo atractivo <strong>para</strong> investigación pionera por<br />

parte de inquietos profesionales y estudiantes.<br />

A. Obstáculos de la Vida Moderna<br />

Actualmente, las <strong>personas</strong> <strong>discapacitadas</strong> o con alteraciones motoras de los<br />

miembros superiores, están buscando con urgencia soluciones tecnológicas<br />

que les permitan una interfaz, amigable y flexible, <strong>para</strong> desarrollar sus<br />

actividades relacionadas con un computador.<br />

En el medio latinoamericano, muchos aplicativos de software <strong>para</strong><br />

reconocimiento de voz tienen un alto valor comercial y, en algunos casos, no<br />

suplen las necesidades de este grupo social. Es más, la mayoría de las<br />

aplicaciones comerciales están enfocadas a la creación de documentos y<br />

envío de correos, pero <strong>para</strong> acceder a ellos es necesario entrar en el menú<br />

de aplicaciones, buscar el programa de reconocimiento de voz y ejecutarlo<br />

manualmente.<br />

Otros aplicativos de reconocimiento de voz, por el contrario, se cargan al<br />

iniciar el equipo; sin embargo presentan algunas limitaciones, como: la<br />

configuración del volumen del micrófono o de la multimedia no es<br />

automática; la configuración de algunas aplicaciones es difícil y dispendiosa;<br />

y requiere de los archivos de entrenamiento <strong>para</strong> su correcto funcionamiento.<br />

Además de lo anterior, los costos de aplicativos de reconocimiento de voz y<br />

los requerimientos mínimos de hardware y software, implican que el acceso a<br />

ellos está limitado a un pequeño y privilegiado grupo de <strong>personas</strong>.<br />

II. <strong>Una</strong> <strong>alternativa</strong> <strong>para</strong> la integración social<br />

Permitir a las <strong>personas</strong> <strong>discapacitadas</strong> o con alteraciones motoras de los<br />

miembros superiores, o a cualquier otro tipo de usuario, la utilización de<br />

herramientas de reconocimiento de voz <strong>para</strong> la realización de sus labores<br />

periódicas que involucren la interacción con un computador, es un gran reto,<br />

dada la diversidad de las características que se deben tener en cuenta <strong>para</strong><br />

2


CENTRO DE INVESTIGACIONES Y DESARROLLO – FACULTAD DE INGENIERÍA<br />

la obtención de patrones en el reconocimiento de voz.<br />

Así pues, se pretende construir una aplicación que permita la navegación de<br />

algunos submenús del escritorio Gnome, que se instale fácilmente, y que<br />

sea independiente del hablante, teniendo en cuenta el compromiso social;<br />

éstas características la convierten en una herramienta útil y ambiciosa <strong>para</strong><br />

los usuarios que no cuentan con los recursos económicos, y que quieran<br />

utilizarla <strong>para</strong> sacar el mayor provecho de las aplicaciones que los sistemas<br />

operativos les proporcionan.<br />

Este trabajo implica, de manera adicional, crear un espacio virtual dentro del<br />

servidor del GLEC (Grupo Linux Eje Cafetero), donde todos los interesados<br />

en el tema podrán consultar nuestros avances, documentos relacionados,<br />

enlaces de interés, foros de discusión, hacer sus preguntas y sugerencias.<br />

Logrando con esto la unificación de islas de conocimiento.<br />

III. El reconocimiento de voz en la<br />

plataforma GNU/Linux<br />

GNU/Linux es un sistema operativo de laboratorio concebido bajo una<br />

Licencia Pública General (GPL), la cual establece que todos los desarrollos<br />

bajo los términos de ésta, deben liberar su código fuente, contener la<br />

documentación, dar permisos <strong>para</strong> que cualquier persona que quiera realizar<br />

cambios al código fuente lo pueda hacer, siempre y cuando éstas <strong>personas</strong><br />

respeten los derechos morales y patrimoniales del autor, y que además siga<br />

manteniendo los términos de ésta licencia.<br />

El software libre ha nacido con la filosofía de permitir a cualquier persona<br />

natural acceder a él con un bajo costo y así incrementar la participación de<br />

los mismos en el desarrollo y utilización de las tecnologías de la información.<br />

La gran bondad de GNU/Linux radica en su implementación a nivel mundial<br />

por programadores de toda clase y, por tanto, se puede tener una respuesta<br />

rápida ante cualquier dificultad que se presente, lo que se refleja también en<br />

una gran comunidad que permite alta disponibilidad de la información y<br />

actualización del sistema operativo.<br />

Inicialmente GNU/Linux se diseñó e implementó como un sistema operativo<br />

orientado a servidores, esto aclara por qué a pesar de su trascendencia y<br />

robustez, GNU/Linux no era en un principio un sistema operativo utilizado por<br />

los usuarios en sus computadores de escritorio, debido a la falta de<br />

aplicaciones orientadas a suplir sus necesidades.<br />

Con la aparición de los escritorios gráficos como Gnome y casas de<br />

desarrollo de las diferentes distribuciones de GNU/Linux como son: Debian,<br />

Suse, Fedora y otras, se logró darle una orientación a GNU/Linux hacia los<br />

3


- Universidad de Manizales, enero – junio / 2005<br />

usuarios finales, esto gracias a la inclusión de aplicaciones de multimedia,<br />

paquetes de ofimática y otros.<br />

A.Avances y Retrocesos de una larga Búsqueda<br />

En la actualidad los diseñadores y desarrolladores de las distribuciones de<br />

GNU/Linux, se han preocupado por crear interfaces amigables <strong>para</strong> acceder<br />

a las aplicaciones y permitir su uso <strong>para</strong> una gran variedad de usuarios,<br />

como es el caso de la distribución BLINDUX.<br />

Dentro del tipo de interfaces interactivas están las consolas Braille y su<br />

integración con las aplicaciones orientadas a las <strong>personas</strong> invidentes,<br />

aplicaciones que utilizan los sintetizadores de voz <strong>para</strong> guiar a los usuarios, y<br />

otras aplicaciones que están orientadas a la administración del sistema<br />

operativo a través de comandos hablados, como lo hace el paquete<br />

CvoiceControl.<br />

CvoiceControl fue desarrollado por Daniel Kiecza y básicamente es un<br />

sistema de reconocimiento de voz dependiente del hablante, basado en<br />

HMM; su objetivo es permitir al usuario ejecutar comandos de Unix/Linux a<br />

través de comandos orales.<br />

El lenguaje de programación utilizado <strong>para</strong> la implementación de<br />

CvoiceControl es C. Es de aclarar, que la codificación realizada presenta<br />

falencias de programación, reflejadas en la ausencia de identación del<br />

código fuente y el uso de punteros globales, por lo cual la lectura y estudio<br />

del código son tareas difíciles de implementar. El CvoiceControl, permitió<br />

grabar los segmentos de voz correspondientes a los comandos orales, pero<br />

no su ejecución.<br />

Dadas las razones anteriores, se planteo la necesidad de contactar a Daniel<br />

Kiecza con el fin de obtener mayor información sobre el análisis y diseño de<br />

CvoiceControl; el autor nunca dió respuesta, por tal motivo, se buscaron<br />

otras <strong>alternativa</strong>s <strong>para</strong> utilizar o implementar otro motor de reconocimiento de<br />

voz.<br />

En esta búsqueda continua de otros sistemas de reconocimiento de voz<br />

implementados con software libre, se encontró el Perlbox-Voice; ésta<br />

aplicación transforma texto en voz utilizando el sintetizador Festival, permite<br />

además ejecutar comandos orales que se encuentran asociados a una<br />

aplicación específica de GNU/Linux y responde con mensajes de voz a<br />

ciertos comandos orales (por ejemplo un saludo) guiando al usuario. El<br />

idioma predeterminando <strong>para</strong> el reconocimiento de los comandos orales, es<br />

el inglés.<br />

La principal característica de Perlbox-Voice es su independencia del<br />

4


CENTRO DE INVESTIGACIONES Y DESARROLLO – FACULTAD DE INGENIERÍA<br />

hablante, debido al uso de Sphinx-II como motor de reconocimiento, el cual<br />

permite la identificación tanto de palabras aisladas como del discurso<br />

continuo, dando resultados favorables de respuesta de reconocimiento de<br />

voz.<br />

El Sphinx-II fue desarrollado por el grupo CMU-Sphinx de la Universidad de<br />

Carnegie Mellon, el cual se ha preocupado por las falencias de los motores<br />

de reconocimiento de voz existentes, y el resultado de esto es el desarrollo<br />

Sphinx-II, que utiliza los modelos ocultos de Markov y un diccionario de<br />

lenguaje orientado al idioma inglés.<br />

El Sphinx-II, se puede utilizar a través de una API de funciones que permite<br />

desarrollar aplicaciones que integran el reconocimiento de voz. Esta API fue<br />

desarrollada bajo el lenguaje C, su código fuente está bien documentado, y<br />

en com<strong>para</strong>ción con otras herramientas de reconocimiento de voz<br />

disponibles <strong>para</strong> GNU/Linux, tiene buena estética en su codificación.<br />

La primera fase consistió en la descarga e instalación del código fuente del<br />

Sphinx-II en las distribuciones de GNU/Linux que se tenían a disposición:<br />

Debian Woody, SUSE 9.1 y Red Hat 8. Posteriormente se realizaron pruebas<br />

utilizando un micrófono de baja calidad y una tarjeta de sonido genérica, <strong>para</strong><br />

capturar voz utilizando las funciones de la API de Sphinx-II, que permiten el<br />

acceso y grabación en modo crudo (a nivel de hardware). Los resultados<br />

obtenidos fueron satisfactorios.<br />

Lo anterior garantiza que los requerimientos de hardware son mínimos,<br />

bajando así los costos <strong>para</strong> el usuario que utilice una aplicación que integre<br />

la API Sphinx-II, lo que beneficiará a un mayor grupo social en el que se<br />

encuentran las entidades de ayuda a discapacitados, las <strong>personas</strong><br />

<strong>discapacitadas</strong> y cualquier persona que necesite este tipo de aplicaciones<br />

implantadas sobre un computador con pocas exigencias de hardware.<br />

La siguiente fase fue la traducción de los manuales técnicos y de usuario del<br />

Sphinx-II, lo cual ha permitido una mayor apropiación de la estructura y<br />

funcionamiento de la API.<br />

IV. Conclusiones<br />

La técnica más utilizada <strong>para</strong> el reconocimiento de voz son los modelos<br />

ocultos de Markov, dado su buen rendimiento <strong>para</strong> el reconocimiento del<br />

discurso continuo e independiente del hablante, como se puede notar en los<br />

sistemas de reconocimiento de voz referenciados en este documento.<br />

El Sphinx-II es un sistema de reconocimiento de voz muy robusto y es<br />

recomendable su uso <strong>para</strong> integrarlo en aplicaciones que lo necesiten.<br />

5


- Universidad de Manizales, enero – junio / 2005<br />

El uso de ingeniería de software en el desarrollo de aplicaciones, permite que<br />

éstas tengan características como escalabilidad, calidad, facilidad de<br />

mantenimiento y reutilización de código. Pues el software es un producto no<br />

terminado.<br />

El desarrollo de proyectos con software libre, permite un mayor alcance de<br />

las aplicaciones informáticas que solucionan los problemas cotidianos a las<br />

comunidades menos favorecidas, permitiendo así trascender en los campos<br />

social y científico.<br />

Bibliografía<br />

[1] CMU SPHIX. [en<br />

linea]. Estados Unidos: Carnigie Mellon University. Disponible En:<br />

http://www.speech.cs.cmu.edu / sphinx/Sphinx.html. Consultado en<br />

13.08.03.<br />

[2] GOLOMB, Josh. Speech Recognition History. Leland Stanford Junior<br />

University. (en línea) Disponible En:<br />

http://florin.stanford.edu/~t361/Fall2000/jgolomb/YYSpeechHistoryWB.ht<br />

m. 2001. Consultado en 13.08.03.<br />

[3] GRASSO, Michael y FININ, Tim. Integración de Tareas en Ambientes de<br />

Reconocimiento de Voz Multimodales. (en línea) Disponible En: URL:<br />

http://www.acm.org/crossroads/crew/michael_grasso.html. Consultado en<br />

07.08.03.<br />

[4] LOPEZ MORENO, J. Desarrollo de un reconocedor de dígitos con<br />

distintos énfasis. Universidad de las Américas, (en línea) Disponible En:<br />

http://mailweb.udlap.mx/ ~tesis/lis/lopez_m_j/ seccion_1_5.pdf.<br />

Consultado en 07.04.03.<br />

[5] PMXSHOP. Reconocimiento de voz. (en línea) Disponible En:<br />

http://www.pmx-shop.com/Reconocimiento de voz.htm. Consultado en<br />

07.08.03.<br />

[6] FREE SOFTWARE FUNDATION. GNU Operating System - Free<br />

Software Fundation. Disponible En: . Consultado en<br />

08.11.04.<br />

[7] KIECZA, Daniel. DANIEL KIECZA. Disponible En:<br />

URL:. Consultado en<br />

08.08.04.<br />

6

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!