miércoles, 6 de mayo de 2015

Proyecto Kinect: reconocimiento de comandos de voz

Con la ayuda del conjunto de micrófonos que incorpora Kinect y la API de reconocimiento de voz de Windows podemos reconocer la voz humana. Gracias a ello, es posible construir una serie de comandos de voz que controlen ciertas funcionalidades concretas de la aplicación.

La elección de esta tecnología que incluye Kinect viene motivada por el hecho de que a la hora de la realización de una terapia o a la hora de realizar el guardado de tareas de postura, se requeriría de otra persona para realizar dichas acciones en el sistema. Por todo ello, se considera la implementación de diversos comandos de voz que ayuden al usuario a realizar las acciones por sí mismo y sin necesidad de terceras personas.

La utilización del reconocimiento de voz en este proyecto a nivel de implementación se ha realizado usando la solución que permite el SDK oficial de Kinect. Usando la clase VoiceCommander se consigue el reconocimiento de palabras en el idioma castellano para la realización de determinadas funciones. Un ejemplo de aplicación en este proyecto puede verse a continuación.

Lo primero de todo es inicializar el objeto de la clase VoiceCommander, al que se le pueden pasar como parámetros una serie de palabras que serán los comandos de voz a detectar. Un ejemplo de código es el de la siguiente ilustración. En ella se detalla el comando de voz “realizar” utilizado para generar la función de realización de tarea postura por el paciente y su evento de detección.

Código C# de inicialización del comando de voz para la realización de tarea postura
En la siguiente ilustración se puede ver la implementación del método lanzado por el evento de detección de comandos de voz. En él se puede ver que para el caso de que el dispositivo Kinect detecte la palabra “realizar”, ejecutará el método SavePostura(skeletons).

Código C# del método lanzado por el evento de detección de voz
Hasta aquí llega este post, en sucesivos posts seguiré hablando de los frameworks utilizados para la creación y manejo de servicios web y de base de datos.

Álvaro Alcolea

No hay comentarios:

Publicar un comentario

Añade un comentario