Download - Recocimiento de Voz en Labview

Transcript
Page 1: Recocimiento de Voz en Labview

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 comoobjetivo el reconocimiento decomandos de voz, más exactamente delos números, pronunciados por unúnico usuario, mediante el softwareLabview.

Mediante un análisis de la señal de vozy la comparación de las característicasmás significativas con un archivo deaudio grabado en la memoria de uncomputador, se busca el identificar quenúmero pronuncia el usuario.

Palabras clave: Reconocimiento, Labview, señales.

1. Introducción

El problema consiste en caracterizar laseñal de audio que se obtiene a travésde la tarjeta de audio de uncomputador; la aplicación seimplementó sobre un computadorpuesto que este permite elprocesamiento rápido y eficiente de lainformación y puede ser utilizado paradarle mayor aplicabilidad alreconocimiento de comandos, porejemplo la marcación telefónica parauna persona discapacitada.

Otra herramienta empleada, que esparte importante del desarrollo, es elsoftware que se encarga de tomar laseñal de audio y analizarla. Con laposibilidad de varios programas querealizaban esta función se optó por laviabilidad de Labview (programacióngráfica), ya que este permite tanto una

análisis en tiempo, frecuencia ytiempo- frecuencia, y al mismo tiempopermite una interfaz gráfica necesariapara un manejo eficiente de laaplicación.

2. Planteamiento del problema

Inicialmente se considero analizar laseñal en el tiempo, para esto se debenconsiderar varios aspectos: cómocapturaba la señal la tarjeta de audio,o en otras palabras cómo convertía laseñal análoga proveniente del tractovocal del usuario en una señal digitalcompuesta de muestras a unaespecífica frecuencia de muestreo. Esposible contener toda la muestra de laseñal en un mismo paquete deinformación, es decir, en el momentoen que el usuario pronunciaba elcomando este en su totalidad eracapturado por la tarjeta audio, teniendoen cuenta que esta capturaba a unafrecuencia de 11025 Hz. La frecuenciade muestreo es la más apropiada paraobtener una señal completa sin tenerque incomodar al usuario con unapronunciación rápida o a undeterminado tiempo?. Se utiliza uncódigo eficiente que permitieracapturar la muestra y hacer lacomparación en un tiempoprocesamiento mínimo?. Al analizar laseñal en el tiempo, se puedecaracterizar de la mejor formaconsiderando que la señal de voz deuna persona es una señal noestacionaria en el tiempo?. Es

Page 2: Recocimiento de Voz en Labview

2

necesario buscar la mejor forma de caracterizar la señal utilizando elmínimo espacio de memoria posible,optimizando el desempeño y losrequerimientos de la aplicación.

Figura 1. VIs para audio.

Antes de comenzar a hablar sobre elanálisis de la señal es necesariodiscutir la forma en que la tarjeta deaudio captura la señal, y la forma enque Labview interpreta los datos que leentrega el dispositivo de audio y comolos procesa. Labview tiene unasfunciones definidas como VIs(instrumentos virtuales) que secaracterizan por su funcionalidad,modularidad, y por supuesto supresentación gráfica. Dentro de estosvi se encontraban aquellos referentes ala tarjeta de audio y los cuales: abrenel puerto, lo configuran, lo inicializany lo leen. Figura 1. La captura se haceen formato mono de ocho bits y a unafrecuencia de 11025 Hz con un tamañode espacio memoria o buffer de 16384,que corresponde al número demuestras. En la Figura 2. se observauna señal de voz en el tiemporepresentada en 255 niveles de latarjeta de audio. Estos permitía unacaptura de la señal a una velocidadque depende de las características deprocesamiento de la máquina y de lafrecuencia y el número de muestrasque se utilizaron. Puesto que lascaracterísticas de la máquinadeterminaban en cierta manera algunascaracterísticas de configuración de latarjeta de audio el problema se resolvió

de manera empírica ajustando lascondiciones que permitían una capturacompleta de la señal; teniendo encuenta que la información a capturarno era muy extensa y estabarelacionada con la pronunciación delos números de 0 a 9.

3. Análisis en el Tiempo

Una señal en el tiempo se puedecaracterizar por ser estacionaria, eneste caso significa que en un rango detiempo, por ejemplo de 0 a 1us, seencuentran las mismas frecuencias,una señal no estacionaria presenta uncambio de frecuencias en un rango detiempo, una señal no estacionaria esuna señal chirp donde a medida quetranscurre el tiempo la señal pasa deuna frecuencia menor a una mayor,una señal modulada en frecuencia esotro ejemplo de una señal noestacionaria. Partiendo de esto es fácildeterminar que una señal de voz es noestacionaria, puesto que esta secompone de partes en la que esperiódica y que corresponde a lasvocales, y partes en la que es una señalaleatoria que corresponde a lasconsonantes.

Figura 2. Dominio del tiempo.

Page 3: Recocimiento de Voz en Labview

3

Como se menciono antes inicialmentese analizo la señal en el tiempo, dondeel primer problema fue capturar laseñal en un mismo paquete deinformación dentro de un ciclo decomparación, en este proceso eradifícil realizar una comparacióneficiente, pero a partir de esto seanalizo los picos de la señal, crucespor cero, se opto también por efectuaruna convolución, pero sin tener buenosresultados; es necesario entoncesbuscar la forma de obtener algunainformación adicional de la señal, yuna forma es mediante unatransformada.

4. Análisis en Frecuencia.

Figura 3. Dominio de la frecuencia

Una información adicional decualquier señal es su espectro defrecuencias, y este se obtiene mediantela transformada de Fourier. Figura 3.El procedimiento para comparar lasdos señales, la que se captura con latarjeta y la que se guardaba en lamemoria del computador, consistía enobtener el espectro y hallar laslocalizaciones y amplitudes de sus

picos, mediante el VI de LabviewTHD (Total Harmonic Distortion,Figura 4) que realiza esta función, conla posibilidad de escoger un númerodeterminado de picos para describir laseñal con más exactitud, además deesto utilizar una ventana de Hammingpara suavizar las discontinuidades enel momento en que se captura la señaly se analiza; se tenía la posibilidad dealgunas otras ventanas pero la anteriorarrojo buenos resultados.

Figura 4. VI THD

A partir de este análisis se realizaronvarias pruebas inicialmente con elnúmero uno, pero se tenía el problemade que al pronunciar uno y u elprograma identificaba el comando devoz como él mismo; este problemaconsistía en que la transformada deFourier representa de igual forma unaseñal estacionaria y una señal noestacionaria con las mismasfrecuencias a lo largo de un periodo detiempo, como el número uno contienevocales la señal que representa estapronunciación contiene armónicos querepresentan las señales periódicas deestas, por esta razón al pronunciar unoy u el programa no diferenciaba conexactitud que lo que se estabapronunciando era uno.

El espectro de frecuencias de estaforma era muy útil para elreconocimiento pero no entregaba unainformación adicional que nospermitiera diferenciar con exactitud elcomando, aunque muy posiblemente

Page 4: Recocimiento de Voz en Labview

4

nos podría ayudar a diferenciar lasvocales, ya que estas se identifican porsus frecuencias.

De esta manera el problema de que laseñal de voz no es estacionaria debíasolucionarse buscando otra forma quenos permitiera determinar totalmentelas características de la señal y sucomportamiento en el tiempo, esto sepuede lograr analizando la señal envarios intervalos de tiempo y en esosintervalos definir las frecuencias de laseñal, y esto a la vez se debe definircomo un espectrograma tiempo-frecuencia. Algunas funciones queentrega estas características son laSTFT (Short-time Fuorier Transform)y Wigner Distributions.

5. Análisis Tiempo-Frecuencia

Un algoritmo eficiente que nospermite analizar una señal en el tiempoy la vez en la frecuencia es latransformada Wavelet. Labview tienela opción de transformada WaveletDaubechies 4.vi. Figura 5.

Figura 5. VI Wavelet

Este algoritmo procesa másrápidamente la información entregandouna información tiempo frecuencia dela señal analizada permitiendo unreconocimiento casi en tiempo real. Esimportante mencionar que latransformada consiste de un banco defiltros sobre la señal original que buscaobtener información de frecuencia enintervalos de tiempo, aunque lo que sedesearía es obtener que frecuencias

ocurren y a que tiempos esto esimposible debido al principio deincertidumbre Heisenberg. A partir deesta transformada se pudo observarque para cada comando pronunciadoefectivamente su transformada eradiferente, sin embargo ydesafortunadamente esas diferenciasno eran tan notorias entre uno y otrocomando. La Figura 6 muestra latransformada Wavelet de una señal.

Figura. 6. WT

Para hacer una comparación en untiempo mínimo se necesitaba extraeresta misma información de losarchivos grabados en la memoria y a lavez obtener una informaciónsignificativa de esta transformada, seoptó por buscar los picos de la señalcaracterizándola por la localización yla amplitud de estos, además se optótambién por hallar el valor AC de laseñal en diferentes espacios sobre eleje x, la operación matemática quenos permite esto corresponde a lafunción de probabilidad del segundomomento de un arreglo de números, elsegundo momento también nos da laventaja de evitar los valores negativosy hacer más notoria una diferenciaentre la comparación de los comandospor tratarse de una función cuadratica.De igual forma al capturar la señal dela tarjeta de audio se analizaba paraobtener la información característicade la señal en un pequeño espacio

Page 5: Recocimiento de Voz en Labview

5

tiempo y realizar una comparación enun nuevo ciclo, es de aclarar que elpatrón de algunos comandos es muyparecido a otros, especialmente paralos comandos que terminan con igualpronunciación como s ó o.

6. Resultados.

El principal inconveniente consiste endiferenciar los comandos que tienenuna pronunciación muy parecida, encuanto comandos que terminan dediferente pronunciación elreconocimiento es más efectivo, seespera encontrar una forma a partir dela transformada que nos permitecaracterizar con mayor detalle la señalde voz logrando comparar másefectivamente dos señales. Se encontróque la transformada Wavelet nodifiere mucho de un usuario a otro, porlo tanto este procedimiento se podríaextender a múltiples usuarios.

7. Conclusiones

Labview permitió una programacióngráfica más rápida y fácil, además dela posibilidad de analizar las señalescon ayuda de VIs para procesamientodigital, se tuvo también la posibilidadde analizar la señal: en el tiempo,frecuencia y tiempo- frecuencia.Observando la forma de las señales deuna manera gráfica muy ordenada ysencilla. En cuanto al análisis de la vozse concluye que una buena forma dereconocimiento es mediante Wavelet,puesto que permite caracterizar unaseñal no estacionaria, que era el casode la voz. Se espera encontrar unaforma de aprovechar mejor estatransformada y lograr utilizarlaefectivamente para el reconocimientode cualquier comando. Se plantea laposibilidad de analizar las señales

como decrecientes o crecientes en elcaso de dos y tres, ya que medianteeste método el reconocimiento no esmuy efectivo. Una señal decrecientedisminuye la intensidad a medida quetranscurre el tiempo, es el caso de lapronunciación de tres al contrario dedos que es creciente.