Вы находитесь на странице: 1из 5

RECONOCIMIENTO DE COMANDOS DE VOZ CON LABVIEW

LABORATORIO DE INSTRUMENTACION VIRTUAL LIV Universidad Distrital Francisco Jos de Caldas Noviembre del 2000 Resumen: El proyecto tiene como objetivo el reconocimiento de comandos de voz, ms exactamente de los nmeros, pronunciados por un nico usuario, mediante el software Labview. Mediante un anlisis de la seal de voz y la comparacin de las caractersticas ms significativas con un archivo de audio grabado en la memoria de un computador, se busca el identificar que nmero pronuncia el usuario. Palabras clave: Reconocimiento, Labview, seales. 1. Introduccin El problema consiste en caracterizar la seal de audio que se obtiene a travs de la tarjeta de audio de un computador; la aplicacin se implement sobre un computador puesto que este permite el procesamiento rpido y eficiente de la informacin y puede ser utilizado para darle mayor aplicabilidad al reconocimiento de comandos, por ejemplo la marcacin telefnica para una persona discapacitada. Otra herramienta empleada, que es parte importante del desarrollo, es el software que se encarga de tomar la seal de audio y analizarla. Con la posibilidad de varios programas que realizaban esta funcin se opt por la viabilidad de Labview (programacin grfica), ya que este permite tanto una anlisis en tiempo, frecuencia y tiempo- frecuencia, y al mismo tiempo permite una interfaz grfica necesaria para un manejo eficiente de la aplicacin. 2. Planteamiento del problema Inicialmente se considero analizar la seal en el tiempo, para esto se deben considerar varios aspectos: cmo capturaba la seal la tarjeta de audio, o en otras palabras cmo converta la seal anloga proveniente del tracto vocal del usuario en una seal digital compuesta de muestras a una especfica frecuencia de muestreo. Es posible contener toda la muestra de la seal en un mismo paquete de informacin, es decir, en el momento en que el usuario pronunciaba el comando este en su totalidad era capturado por la tarjeta audio, teniendo en cuenta que esta capturaba a una frecuencia de 11025 Hz. La frecuencia de muestreo es la ms apropiada para obtener una seal completa sin tener que incomodar al usuario con una pronunciacin rpida o a un determinado tiempo?. Se utiliza un cdigo eficiente que permitiera capturar la muestra y hacer la comparacin en un tiempo procesamiento mnimo?. Al analizar la seal en el tiempo, se puede caracterizar de la mejor forma considerando que la seal de voz de una persona es una seal no estacionaria en el tiempo?. Es

necesario buscar la mejor forma de mnimo espacio de memoria posible, optimizando el desempeo y los requerimientos de la aplicacin.

caracterizar la seal utilizando el de manera emprica ajustando las condiciones que permitan una captura completa de la seal; teniendo en cuenta que la informacin a capturar no era muy extensa y estaba relacionada con la pronunciacin de los nmeros de 0 a 9. 3. Anlisis en el Tiempo

Figura 1. VIs para audio.

Antes de comenzar a hablar sobre el anlisis de la seal es necesario discutir la forma en que la tarjeta de audio captura la seal, y la forma en que Labview interpreta los datos que le entrega el dispositivo de audio y como los procesa. Labview tiene unas funciones definidas como VIs (instrumentos virtuales) que se caracterizan por su funcionalidad, modularidad, y por supuesto su presentacin grfica. Dentro de estos vi se encontraban aquellos referentes a la tarjeta de audio y los cuales: abren el puerto, lo configuran, lo inicializan y lo leen. Figura 1. La captura se hace en formato mono de ocho bits y a una frecuencia de 11025 Hz con un tamao de espacio memoria o buffer de 16384, que corresponde al nmero de muestras. En la Figura 2. se observa una seal de voz en el tiempo representada en 255 niveles de la tarjeta de audio. Estos permita una captura de la seal a una velocidad que depende de las caractersticas de procesamiento de la mquina y de la frecuencia y el nmero de muestras que se utilizaron. Puesto que las caractersticas de la mquina determinaban en cierta manera algunas caractersticas de configuracin de la tarjeta de audio el problema se resolvi

Una seal en el tiempo se puede caracterizar por ser estacionaria, en este caso significa que en un rango de tiempo, por ejemplo de 0 a 1us, se encuentran las mismas frecuencias, una seal no estacionaria presenta un cambio de frecuencias en un rango de tiempo, una seal no estacionaria es una seal chirp donde a medida que transcurre el tiempo la seal pasa de una frecuencia menor a una mayor, una seal modulada en frecuencia es otro ejemplo de una seal no estacionaria. Partiendo de esto es fcil determinar que una seal de voz es no estacionaria, puesto que esta se compone de partes en la que es peridica y que corresponde a las vocales, y partes en la que es una seal aleatoria que corresponde a las consonantes.

Figura 2. Dominio del tiempo.


2

Como se menciono antes inicialmente se analizo la seal en el tiempo, donde el primer problema fue capturar la seal en un mismo paquete de informacin dentro de un ciclo de comparacin, en este proceso era difcil realizar una comparacin eficiente, pero a partir de esto se analizo los picos de la seal, cruces por cero, se opto tambin por efectuar una convolucin, pero sin tener buenos resultados; es necesario entonces buscar la forma de obtener alguna informacin adicional de la seal, y una forma es mediante una transformada.

picos, mediante el VI de Labview THD (Total Harmonic Distortion, Figura 4) que realiza esta funcin, con la posibilidad de escoger un nmero determinado de picos para describir la seal con ms exactitud, adems de esto utilizar una ventana de Hamming para suavizar las discontinuidades en el momento en que se captura la seal y se analiza; se tena la posibilidad de algunas otras ventanas pero la anterior arrojo buenos resultados.

Figura 4. VI THD 4. Anlisis en Frecuencia. A partir de este anlisis se realizaron varias pruebas inicialmente con el nmero uno, pero se tena el problema de que al pronunciar uno y u el programa identificaba el comando de voz como l mismo; este problema consista en que la transformada de Fourier representa de igual forma una seal estacionaria y una seal no estacionaria con las mismas frecuencias a lo largo de un periodo de tiempo, como el nmero uno contiene vocales la seal que representa esta pronunciacin contiene armnicos que representan las seales peridicas de estas, por esta razn al pronunciar uno y u el programa no diferenciaba con exactitud que lo que se estaba pronunciando era uno. El espectro de frecuencias de esta forma era muy til para el reconocimiento pero no entregaba una informacin adicional que nos permitiera diferenciar con exactitud el comando, aunque muy posiblemente
3

Figura 3. Dominio de la frecuencia

Una informacin adicional de cualquier seal es su espectro de frecuencias, y este se obtiene mediante la transformada de Fourier. Figura 3. El procedimiento para comparar las dos seales, la que se captura con la tarjeta y la que se guardaba en la memoria del computador, consista en obtener el espectro y hallar las localizaciones y amplitudes de sus

nos podra ayudar a diferenciar las vocales, ya que estas se identifican por sus frecuencias. De esta manera el problema de que la seal de voz no es estacionaria deba solucionarse buscando otra forma que nos permitiera determinar totalmente las caractersticas de la seal y su comportamiento en el tiempo, esto se puede lograr analizando la seal en varios intervalos de tiempo y en esos intervalos definir las frecuencias de la seal, y esto a la vez se debe definir como un espectrograma tiempofrecuencia. Algunas funciones que entrega estas caractersticas son la STFT (Short-time Fuorier Transform) y Wigner Distributions. 5. Anlisis Tiempo-Frecuencia Un algoritmo eficiente que nos permite analizar una seal en el tiempo y la vez en la frecuencia es la transformada Wavelet. Labview tiene la opcin de transformada Wavelet Daubechies 4.vi. Figura 5.

ocurren y a que tiempos esto es imposible debido al principio de incertidumbre Heisenberg. A partir de esta transformada se pudo observar que para cada comando pronunciado efectivamente su transformada era diferente, sin embargo y desafortunadamente esas diferencias no eran tan notorias entre uno y otro comando. La Figura 6 muestra la transformada Wavelet de una seal.

Figura. 6. WT Para hacer una comparacin en un tiempo mnimo se necesitaba extraer esta misma informacin de los archivos grabados en la memoria y a la vez obtener una informacin significativa de esta transformada, se opt por buscar los picos de la seal caracterizndola por la localizacin y la amplitud de estos, adems se opt tambin por hallar el valor AC de la seal en diferentes espacios sobre el eje x, la operacin matemtica que nos permite esto corresponde a la funcin de probabilidad del segundo momento de un arreglo de nmeros, el segundo momento tambin nos da la ventaja de evitar los valores negativos y hacer ms notoria una diferencia entre la comparacin de los comandos por tratarse de una funcin cuadratica. De igual forma al capturar la seal de la tarjeta de audio se analizaba para obtener la informacin caracterstica de la seal en un pequeo espacio

Figura 5. VI Wavelet Este algoritmo procesa ms rpidamente la informacin entregando una informacin tiempo frecuencia de la seal analizada permitiendo un reconocimiento casi en tiempo real. Es importante mencionar que la transformada consiste de un banco de filtros sobre la seal original que busca obtener informacin de frecuencia en intervalos de tiempo, aunque lo que se deseara es obtener que frecuencias

tiempo y realizar una comparacin en un nuevo ciclo, es de aclarar que el patrn de algunos comandos es muy parecido a otros, especialmente para los comandos que terminan con igual pronunciacin como s o. 6. Resultados. El principal inconveniente consiste en diferenciar los comandos que tienen una pronunciacin muy parecida, en cuanto comandos que terminan de diferente pronunciacin el reconocimiento es ms efectivo, se espera encontrar una forma a partir de la transformada que nos permite caracterizar con mayor detalle la seal de voz logrando comparar ms efectivamente dos seales. Se encontr que la transformada Wavelet no difiere mucho de un usuario a otro, por lo tanto este procedimiento se podra extender a mltiples usuarios. 7. Conclusiones Labview permiti una programacin grfica ms rpida y fcil, adems de la posibilidad de analizar las seales con ayuda de VIs para procesamiento digital, se tuvo tambin la posibilidad de analizar la seal: en el tiempo, frecuencia y tiempo- frecuencia. Observando la forma de las seales de una manera grfica muy ordenada y sencilla. En cuanto al anlisis de la voz se concluye que una buena forma de reconocimiento es mediante Wavelet, puesto que permite caracterizar una seal no estacionaria, que era el caso de la voz. Se espera encontrar una forma de aprovechar mejor esta transformada y lograr utilizarla efectivamente para el reconocimiento de cualquier comando. Se plantea la posibilidad de analizar las seales
5

como decrecientes o crecientes en el caso de dos y tres, ya que mediante este mtodo el reconocimiento no es muy efectivo. Una seal decreciente disminuye la intensidad a medida que transcurre el tiempo, es el caso de la pronunciacin de tres al contrario de dos que es creciente.

Вам также может понравиться