calculadora controlada por voz

9
Calculadora controlada por voz CALCULADORA CONTROLADA POR VOZ Juan Marcelino Aguayo Rodríguez Universidad Peruana de Ciencias Aplicadas (UPC) Facultad de Ingeniería – Escuela Profesional de Ingeniería Electrónica, Lima – Perú [email protected] Prof. Guillermo Kemper Vásquez Universidad Peruana de Ciencias Aplicadas (UPC) Facultad de Ingeniería – Escuela Profesional de Ingeniería Electrónica, Lima – Perú [email protected] Prof. Antonio Moran Universidad Peruana de Ciencias Aplicadas (UPC) Facultad de Ingeniería – Escuela Profesional de Ingeniería Electrónica, Lima – Perú [email protected] RESUMEN El producto terminado a obtener al final del proyecto consiste en un programa informático que emula a una calculadora de un solo dígito. La entrada de datos de este programa consistirá en comandos verbales que comprenden a los 10 números enteros en [0, 9], las cuatro operaciones básicas de números enteros (suma, resta, multiplicación y división) y el comando de ejecución para obtener el resultado de la operación (igual). Para la implementación de la etapa de extracción de características de voz se utilizará la técnica de codificación por predicción lineal y el análisis cepstral. La etapa de adaptación de la muestra de voz se implementará a través del proceso de Cuantificación Vectorial. La etapa de reconocimiento de palabras dependiente del locutor, se implementará basándose en un sistema de reconocimiento de patrones construido con redes neuronales. ABSTRACT The finished product to achieve at the end of the project will be a software that emule a single digit arithmetic calculator. The data input will be verbal commands that include the ten integer numbers in [0, 9], the four basic arithmetic operations (add, subtraction, multiplication and division) and the execution command to acquire the final result of the operation (equal). For the implementation step of the voice’s characteristics extraction, the linear prediction codification technique and the cepstral analysis will be used. The adaptation step of the voice sample will be implemented thru the Vectorial Quantification process. The speaker dependant word recognition step will be implemented on a recognition pattern system builded with neural networks. I. INTRODUCCIÓN En los últimos años se ha desarrollado constantemente tecnología orientada a cerrar la brecha entre lingüística computacional e inteligencia artificial para poder implementar sistemas que manejen y entiendan el lenguaje, al menos en un grado limitado y en un dominio específico. Otras áreas en desarrollo son la ingeniería y la acústica para crear sistemas de reconocimiento de voz. Los sistemas que trabajan únicamente con la señal de voz no logran determinar eficientemente las palabras pronunciadas. Es decir, esos sistemas tienen dificultades para distinguir entre palabras como casa, caza y taza en frases como “Vivo en una ¿? pequeña”, “Pedro ¿? con una escopeta” o “Sírveme el café en una ¿? de porcelana” respectivamente. En general, los sistemas de reconocimiento de voz son la realización algorítmica de un análisis detallado de las características del habla que, sin duda, depende del lenguaje usado y de ciertos conceptos que no deben ser excluidos al momento de implementar el reconocedor. Las etapas del sistema implementado se dividen en tres: muestreo y cuantificación de la señal, preprocesamiento (o proceso de adaptación de la muestra) y reconocimiento. Según lo anterior, el interés principal del proyecto radica en una correcta implementación de los algoritmos clásicos de extracción de características y de reconocimiento de palabras. UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS (UPC) 1

Upload: migue-rave-stars-melo

Post on 06-Aug-2015

1.288 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Calculadora Controlada Por Voz

Calculadora controlada por voz

CALCULADORA CONTROLADA POR VOZ

Juan Marcelino Aguayo Rodríguez Universidad Peruana de Ciencias Aplicadas (UPC)

Facultad de Ingeniería – Escuela Profesional de Ingeniería Electrónica, Lima – Perú [email protected]

Prof. Guillermo Kemper Vásquez

Universidad Peruana de Ciencias Aplicadas (UPC) Facultad de Ingeniería – Escuela Profesional de Ingeniería Electrónica, Lima – Perú

[email protected]

Prof. Antonio Moran Universidad Peruana de Ciencias Aplicadas (UPC)

Facultad de Ingeniería – Escuela Profesional de Ingeniería Electrónica, Lima – Perú [email protected]

RESUMEN

El producto terminado a obtener al final del proyecto consiste en un programa informático que emula a una calculadora de un solo dígito. La entrada de datos de este programa consistirá en comandos verbales que comprenden a los 10 números enteros en [0, 9], las cuatro operaciones básicas de números enteros (suma, resta, multiplicación y división) y el comando de ejecución para obtener el resultado de la operación (igual). Para la implementación de la etapa de extracción de características de voz se utilizará la técnica de codificación por predicción lineal y el análisis cepstral. La etapa de adaptación de la muestra de voz se implementará a través del proceso de Cuantificación Vectorial. La etapa de reconocimiento de palabras dependiente del locutor, se implementará basándose en un sistema de reconocimiento de patrones construido con redes neuronales.

ABSTRACT The finished product to achieve at the end of the project will be a software that emule a single digit arithmetic calculator. The data input will be verbal commands that include the ten integer numbers in [0, 9], the four basic arithmetic operations (add, subtraction, multiplication and division) and the execution command to acquire the final result of the operation (equal). For the implementation step of the voice’s characteristics extraction, the linear prediction codification technique and the cepstral analysis will be used. The adaptation step of the voice sample will be implemented thru the Vectorial Quantification process. The speaker dependant

word recognition step will be implemented on a recognition pattern system builded with neural networks.

I. INTRODUCCIÓN

En los últimos años se ha desarrollado constantemente tecnología orientada a cerrar la brecha entre lingüística computacional e inteligencia artificial para poder implementar sistemas que manejen y entiendan el lenguaje, al menos en un grado limitado y en un dominio específico. Otras áreas en desarrollo son la ingeniería y la acústica para crear sistemas de reconocimiento de voz. Los sistemas que trabajan únicamente con la señal de voz no logran determinar eficientemente las palabras pronunciadas. Es decir, esos sistemas tienen dificultades para distinguir entre palabras como casa, caza y taza en frases como “Vivo en una ¿? pequeña”, “Pedro ¿? con una escopeta” o “Sírveme el café en una ¿? de porcelana” respectivamente. En general, los sistemas de reconocimiento de voz son la realización algorítmica de un análisis detallado de las características del habla que, sin duda, depende del lenguaje usado y de ciertos conceptos que no deben ser excluidos al momento de implementar el reconocedor. Las etapas del sistema implementado se dividen en tres: muestreo y cuantificación de la señal, preprocesamiento (o proceso de adaptación de la muestra) y reconocimiento. Según lo anterior, el interés principal del proyecto radica en una correcta implementación de los algoritmos clásicos de extracción de características y de reconocimiento de palabras.

UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS (UPC) 1

Page 2: Calculadora Controlada Por Voz

Calculadora controlada por voz

Para la implementación de la etapa de extracción de características de voz se utilizó la técnica de codificación por predicción lineal y el análisis cepstral, que corresponde a un modelo matemático de extracción de patrones (compresión de señal). La etapa de adaptación de la muestra se implementa a través del proceso de Cuantificación Vectorial. Por su parte, la etapa de reconocimiento de palabras dependiente del locutor, se implementó después de analizar las diversas propuestas tecnológicas que existen actualmente, las más eficientes son los sistemas basados en redes neuronales, los basados en modelos de Markov e incluso los sistemas híbridos que fusionan las dos metodologías. En este informe se presentarán las bases teóricas de los conceptos, metodologías fundamentales para desarrollar un sistema funcional de reconocimiento de voz y su implementación utilizando la herramienta de análisis MatLab.

II. OBJETIVOS

• Implementar el control de una calculadora por comandos de voz y la generación de voz indicando el resultado de la operación.

• Estudio e implementación de técnicas de detección de actividad de voz basada en el nivel de la energía y cruces por cero (técnica de Rabiner). Esto permitirá seleccionar solo la parte de la señal que lleva información de voz efectiva.

• Estudio de técnicas de parametrización de secuencias de voz, basada en coeficientes LPC y cuantización vectorial.

• Establecimiento del corpus de voz para el entrenamiento del sistema (números del 0 al 9 y las palabras "más", "menos", "por", "entre" e “igual”).

• Implementación de la técnica de reconocimiento de voz por redes neuronales y entrenamiento del sistema de red neuronal.

• Implementación de una base de datos de audio para presentar los resultados (generados en la calculadora) en forma audible, a través de algoritmos de síntesis de voz.

III. DESARROLLO DEL TRABAJO El sistema busca la interacción hombre-máquina a través de comandos de voz (ver Fig. 1). Asi mismo presenta una interfase visual que es mostrada en la Fig. 2.

Ususario

5+3

8

ΥΠΧ

Figura 1. Esquema general del sistema

Figura 2. Interfase visual de usuario.

El programa se inicia oprimiendo el botón “Introducir Dato”, luego se activa una ventana de tiempo que da 5 segundos de tolerancia para introducir el dato vía micrófono. La señal es procesada y el dato reconocido se muestra en la caja de texto “Dato oído”. El sistema espera la secuencia de entrada: número - nombre de operación – número. Luego, una vez reconocido cada dato, se efectúa la operación y se muestra el resultado en la caja de texto “Resultado”. Asi mismo el resultado se muestra audiblemente a través de los parlantes multimedia del sistema (ver Fig. 4). La secuencia de procesamiento de voz es presentada en la Fig 3. III.1. Muestreo y extracción de la señal Las condiciones de muestreo de la señal son:

• Frecuencia de muestreo (fs): 8 KHz • Resolución del muestreo (r): 16

bits/muestra. • Tiempo de grabación (tGrab): 3

segundos. • Canal de audio: monoaural.

Es decir, que se graban ventanas de 3 segundos para registrar la voz (comandos) muestreada a 8 KHz con 16 bits por muestra, se obtienen 24000 muestras en el vector de datos X (ver Fig. 5). La señal adquirida se somete a un filtro Pasa-Banda de 300 Hz a 1800 Hz (FIR) para eliminar ruido de baja y alta frecuencia obteniéndose el vector de datos XFil (ver Fig. 6).

UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS (UPC) 2

Page 3: Calculadora Controlada Por Voz

Calculadora controlada por voz

0 0.5 1 1.5 2 2.5

x 104

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Figura 5. Señal muestreada de la tarjeta de audio.

0 0.5 1 1.5 2 2.5

x 104

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

Figura 6. Señal filtrada.

Captura de señal(ventana de 3 seg)

Filtración Pasa Banda (FIR) [300, 1800 ] Hz

Extracción de señal de voz (sin vacíos)

Pre-énfasis de la señal

Normalización en el tiempo

Definicion de bloques

Análisis por bloque

Codificación de señal

Análisis Neuronal

Identidad de palabra pronunciada

Aplicación de ventana Hamming

Cálculo de autocorrelación

Análisis LPC(Algoritmo de Durbins )

Cálculo de coeficientes cepstrales

Ponderado de coeficientes

Calculo de 1ª derivada en el tiempo de coeficientes cepstrales

Determinación de codigo en base a información del codebook

Un factor importante a tener en cuenta en el momento de la grabación es poder diferenciar y recortar silencios o zumbidos de fondo previos y posteriores a la palabra pronunciada. Esta forma de discriminación es posible de realizar cuando el archivo de sonido ha sido grabado en un ambiente no extremadamente ruidoso. Cuando esta última condición se cumple, se puede aplicar un sencillo algoritmo que logra este objetivo, y que fue propuesto por Rabiner y Sambur [1]. El resultado del algoritmo es conformado por los puntos extremos de inicio y finalización de secuencia de voz efectiva.

Con estos datos se procede a realizar el corte de la señal de voz adquirida, lo cual permite eliminar los tiempos muertos y el ruido de fondo inicial y final (ver Fig. 7). El segmento de voz resultante (vector XExt) es enseguida sometido la etapa de cuantificación para reconocimiento.

Figura 3. Análisis de señal (reconocimiento de voz).

Identidad de palabra

pronunciada

Calcula operación

Selecciona salida según resultado

Envía audio a salida

0 0.5 1 1.5 2

x 104

-1

-0.5

0

0.5

1

0 500 1000 1500 2000 2500-1

-0.5

0

0.5

1

Figura 7. Señal adquirida y señal resultante del algoritmo de recorte de tiempos muertos

Figura 4. Análisis de señal (síntesis de voz).

UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS (UPC) 3

Page 4: Calculadora Controlada Por Voz

Calculadora controlada por voz

III.2.2. Preénfasis (ver Fig. 10): III.2. Cuantificación LPC de la señal y obtención de parámetros cepstrales La señal extraída (XExt) se somete a un

proceso de Preénfasis [1]. Este proceso consiste en filtrar la señal con un filtro FIR de 1er orden: . Con este tratamiento se busca “aplanar” la respuesta en frecuencia de la señal para hacerla menos susceptible a los efectos de cálculo digital (efectos del uso de matemática de precisión finita del computador). La señal queda determinada por:

1( ) 1H z az−= +

Se utiliza el proceso sugerido por Rabiner: III.2.1. Detección de vocales:

Este paso no está indicado por Rabiner, sin embargo para la parametrización resulta fundamental la ubicación de las vocales en la señal como elemento de identificación de la palabra. La detección de vocales se determina por la comparación de energía por bloques definidos adecuadamente. Como se utilizarán bloques de tamaño de 240 muestras mas adelante, es conveniente utilizar la misma cantidad de muestras por bloque de cálculo de energía. El resultado ejemplo se muestra en la Fig. 8 y la señal recortada (vocal) en la Fig. 9, aunque la información relevante son los índices limites de estas tramas de vocal aplicadas en la señal XExt.

Pr ( ) ( ) ( 1)e Ext ExtX n X n aX n= − − (1)

III.2.3. Formación de bloques por trama de vocal detectada:

Para el análisis LPC es necesario dividir las señales muestreadas en bloques superpuestos; es decir, se deben definir grupos de muestras que contengan información (muestreada) de bloques subsiguientes y contiguos para lograr implementar el algoritmo de análisis LPC por el método de la autocorrelación.

Figura 8. Análisis de energía para detección de

vocales.

Figura 9. Señal de vocales determinadas en la

palabra detectada.

Figura 10. Señal extraída sometida al proceso de Preénfasis.

En cada señal de vocal dentro de la palabra detectada XExt se definen M grupos de muestras. Se definen bloques con N muestras (N es múltiplo de M) de donde se obtienen L bloques con datos

( ) ( )NTiempoX n X M n= −l l

l

por bloque,

donde n = 0, 1,…, N-1; = 0, 1,…, L-1. Dada la naturaleza aleatoria que implica la pronunciación de una palabra articulada por el aparato articulador humano, se tendrá un número variable (ni) pero característico de bloques que serán analizados individualmente (en la variable XBloque) en los siguientes pasos (ver Fig. 11).

III.2.4. Aplicación de ventana de Hamming:

Cada bloque obtenido se somete a la aplicación de una Ventana de Hamming.

...1

23

ni

Figura 11. Definición de grupos y bloques a partir de la señal de cada vocal

UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS (UPC) 4

Page 5: Calculadora Controlada Por Voz

Calculadora controlada por voz

0 50 100 150 200 250-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5

Figura 12. Señal del bloque 5 sin ventana de

Hammnig

0 50 100 150 200 250-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5

Figura 13. Señal del bloque 5 con ventana de

Hammnig. Esto se hace con el objetivo de minimizar los efectos de discontinuidad al principio y al final de la señal en cada bloque (ver Fig. 12 y Fig. 13):

2( ) 0,54 0, 46 , 0 11

nw n Cos n NN

π = − ≤ ≤ − −

(2) En cada bloque se aplicará:

. Luego se tendrá el vector de datos (bloque): X

ˆ ( ) ( ) ( ), 0 1x n x n w n n N= ≤ ≤l l −

Ventana.

III.2.5. Autocorrelación : Se calcula la autocorrelación para cada bloque “ ”. l

[ ]1

0

ˆ ˆ( ) ( ) ( ) , 0, 1,...,N m

n

r m x n x n m m p− −

=

= + =∑l l l

con p = 10; [1]

(3)

III.2.6. Análisis LPC Siguiendo el algoritmo de Durbins [5], se obtienen los coeficientes LPC am y la ganancia cuadrática G2 [2].

III.2.7. Coeficientes cepstrales Los coeficientes cepstrales son la representación de la magnitud logarítmica de

la transformada de Fourier del espectro, se pueden determinar (aproximar) a partir de los valores de am y G2 hallados en el análisis LPC. La regla de conversión es definida en (4), donde c(0) = ln(G2).

c(m)

1

1

1

1

( ) ( ) ( ) , 1

( ) ( ) ,

m

m mk

m

mk

ka m c k a m k m pm

k c k a m k m pm

=

=

+ − ≤ ≤ − >

(4)

Utilizando el valor recomendado [1] de Q = 12, los 13 valores obtenidos se guardan en el vector “c”

III.2.8. Ponderado de los parámetros cepstrales [1]

Debido a la alta sensibilidad de los coeficientes cepstrales (espectro) de bajo orden al solapamiento de datos en cada bloque definido y a la gran sensibilidad de los coeficientes de alto orden al ruido, se ha hecho común aplicar una ventana a los datos del coeficiente para minimizar estas sensibilidades. Para lograr la estabilidad para mayores valores de m (baja ponderación cerca de m = Q), se debe considerar una ponderación más genérica como:

¨ˆ ( ) ( ), 1m m mc m w c m para m Q= ≤ ≤ (5) Una ponderación adecuada se conoce como el filtro pasa banda (en el dominio cepstral):

( ) 1 , 12mQ mw m Seno m Q

= +

≤ ≤ (6)

Este filtro desenfatiza cm (m) alrededor de m = 1 y m = Q. El resultado de esta ponderación por bloque se guarda en la variable cW.

III.2.9. Primera derivada en el tiempo de los coeficientes cepstrales [1]

Una representación mejorada de los coeficientes cepstrales se puede obtener extendiendo el análisis a las derivadas temporales. Es preciso aclarar que el término temporal no se refiere a la dimensión tiempo, sino más bien, al índice relativo de la señal dentro del bloque (índice discreto). Dado que cm(t) es una representación discreta, el uso de una diferencia de 1er o 2º

UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS (UPC) 5

Page 6: Calculadora Controlada Por Voz

Calculadora controlada por voz

orden es inadecuado debido al alto nivel de ruido introducido. Entonces, una mejor solución es aproximar la derivada a un desarrollo polinomial como:

[ ] [ ]( )( ) ( )

Km

m mk K

c tc t kc t k

=−

∂= ≈ +

∂ ∑ (7)

donde µ es una constante adecuada para normalización y (2K+1) es el número de bloques sobre los que se efectúa el cálculo. Se ha encontrado que K = 2 es un valor adecuado para la 1ª derivada. Estos datos se almacenan en el vector de datos dt1cW.

III.3 Sistema de análisis por red neuronal Con los códigos obtenidos (cepstrum y su derivada en el tiempo) en el acápite anterior (26 entradas), se tomará una decisión de cuál ha sido la palabra muestreada entrenando una red neuronal (perceptrón de 3 capas) al calcular la mayor probable solución (una de las 15 posibles). Ver Fig. 14.

1 2 3

x1

...

x26

y1

y2

y15

...

Figura 14. Perceptrón de la red neuronal usada.

Un modelo de red neuronal conocido como perceptrón multicapa [4] es una red neuronal con múltiples capas o niveles en las que cada neurona es un perceptrón que está gobernado por una función de activación de cierta forma. Generalmente los niveles son de tres tipos: un nivel de entrada, un nivel de salida y niveles ocultos intermedios. En los modelos de red de tipo feedforward [4] cada una de las neuronas de un nivel está conectada a todas las neuronas del siguiente nivel. Existen múltiples funciones de activación posibles de utilizar. Sin embargo, las mejores funciones de activación para clasificación de patrones (que es lo que se busca) es la denominada función de base radial (o Radial Basis Function) que define redes con una sola capa intermedia pero cuyas funciones de activación en vez de de calcular una suma ponderada de las entradas y aplicar una sigmoide, calculan la distancia euclídea entre el vector de pesos sinápticos (que recibe el nombre en este tipo de redes de centro o centroide) y la entrada y

sobre esa distancia se aplica una función de tipo radial con forma gaussiana. Los pasos a seguir para el entrenamiento de los modelos fonéticos con redes neuronales deben ser: • Selección del conjunto de datos para

entrenamiento. • Especificación de las características fonéticas

que reconocerá el modelo acústico (en el caso del proyecto: los coeficientes cepstrum de cada vocal).

• Utilización de distintas muestras de las diferentes categorías fonéticas (las vocales) definidas para la etapa de entrenamiento.

III.4 Tabulación de vocales detectadas El conjunto de vocales detectadas por trama (vocal) en la palabra se tabulan para proceder al análisis cualitativo – cuantitativo de los grupos de vocales detectados en cada bloque. Se agrupan las vocales de cada bloque en filas y las silabas en columnas. Como no todas las tramas tienen el mismo número de bloques, se debe almacenar el número de bloques por trama hallados. III.5 Análisis de tablas de vocales Para cada vocal obtenida, se puede asociar la vocal a la presencia de una silaba. Para los comandos verbales del proyecto se analiza lo siguiente: • 5 comandos monosilabitos (‘2’, ‘3’, ‘6’, ‘+’,

‘*’). • 10 comandos bisilábicos (‘1’, ‘4’, ‘5’, ‘7’,

‘8’, ‘9’, ‘0’, ‘-‘, ‘/’, ‘=’).

De donde existen: • 20 sílabas con una vocal simple (‘a’, ‘e’, ‘i’,

‘o’, ‘u’). • 5 sílabas formadas por diptongos (‘ua’, ‘ei’,

‘ie’, ‘ue’).

Como el 20% de vocales a analizar son diptongos, es mejor determinar los parámetros de moda para la mitad superior y mitad inferior de las tablas de vocales obtenidas y el parámetro de media para toda la columna de datos. Siempre reconociendo la formación aleatoria de las palabras en el sistema articulador del ser humano, es posible determinar reglas características que particularizan a cada palabra (y silabas componentes) para su identificación con un buen grado de certeza (75%-90%).

UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS (UPC) 6

Page 7: Calculadora Controlada Por Voz

Calculadora controlada por voz

IV. RESULTADOS Vocal I

-15.0000000000

-10.0000000000

-5.0000000000

0.0000000000

5.0000000000

10.0000000000

15.0000000000

1 3 5 7 9 11 13

Serie1

IV.1. Codificación de las vocales Para una muestra de 5 segundos por vocal se pudo establecer que los valores de cepstrum y su derivada en el tiempo son buenas características de identificación dado sus valores estables. Para 270 muestras se puede afirmar que el promedio de las muestras es representativo, entonces para cada vocal:

-2.5000000000

-2.0000000000

-1.5000000000

-1.0000000000

-0.5000000000

0.0000000000

0.5000000000

1.0000000000

1.5000000000

1 2 3 4 5 6 7 8 9 10 11 12 13 Serie1

Vocal A

-10.0000000000

-5.0000000000

0.0000000000

5.0000000000

10.0000000000

15.0000000000

1 3 5 7 9 11 13

Serie1

Figura 17. C y dC/dt

-1.5000000000

-1.0000000000

-0.5000000000

0.0000000000

0.5000000000

1.0000000000

1.5000000000

1 3 5 7 9 11 13

Serie1

Vocal O

-3.5000000000-3.0000000000-2.5000000000-2.0000000000-1.5000000000-1.0000000000-0.50000000000.00000000000.50000000001.00000000001.5000000000

1 3 5 7 9 11 13

Serie1

Figura 15. C y dC/dt

-4.0000000000

-2.0000000000

0.0000000000

2.0000000000

4.0000000000

6.0000000000

8.0000000000

10.0000000000

12.0000000000

1 3 5 7 9 11 13

Serie1

Vocal E

-10.0000000000

-5.0000000000

0.0000000000

5.0000000000

10.0000000000

15.0000000000

1 3 5 7 9 11 13

Serie1

Figura 18. C y dC/dt

IV.2. Reconocimiento de comandos

-4.0000000000

-3.0000000000

-2.0000000000

-1.0000000000

0.0000000000

1.0000000000

2.0000000000

1 3 5 7 9 11 13

Serie1

Con la red entrenada, se estableció un patrón inicial de pruebas y se obtuvo los resultados presentados en la tabla 1. De acuerdo a ello, el desempeño del sistema es dado por: Identificaciones correctas : %67,78

7559

=

Figura 16. C y dC/dt

UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS (UPC) 7

Page 8: Calculadora Controlada Por Voz

Calculadora controlada por voz

Vocal U VII. REFERENCIAS BIBLIOGRÁFICAS

-2.5000000000

-2.0000000000

-1.5000000000

-1.0000000000

-0.5000000000

0.0000000000

0.5000000000

1.0000000000

1.5000000000

1 3 5 7 9 11 13 Serie1

[1]. RABINER, Lawrence y JUANG, Biing-

Hwang1993 Fundamentals of speech recognition. 1ª Ed. New Jersey: Prentice Hall.

[2]. RABINER, Lawrence y SCHAFFER, R. W.Digital Proccesing of Speech Signals. 1ª Ed. USA: Prentice Hall.

[3]. RABINER, Lawrence y SAMBUR, M. R.An Algorithm for Determinng the Endpoints of Isolated Utterances. Bell Syst. Tech. Journal, Vol. 54, No. 2, pp. 297-315, February 1975.

-4.0000000000

-2.0000000000

0.0000000000

2.0000000000

4.0000000000

6.0000000000

8.0000000000

10.0000000000

12.0000000000

1 3 5 7 9 11 13

Serie1

[4]. DELLER, John; HANSEN, John; PROAKIS, John 1999 Discrete time processing of speech signals. 1ª Ed. USA: IEEE Press.

[5]. KEMPER, Guillermo2004 Separata del curso Procesamiento Avanzado de Señales e Imágenes

[6]. UNIVERSITY OF IOWA.2003. Fonética: Los sonidos en Español. En: http://www.uiowa.edu/~acadtech/phonetics/spanish/frameset.html.

Figura 19. C y dC/dt

V. CONCLUSIONES • Se ha establecido un modelo de

reconocimiento de voz operativo con un buen nivel de certeza y con potencial de mejoramiento.

• Las identificaciones obtenidas aun reflejan un margen de trabajo para la optimización del sistema.

• Respecto de la red neuronal se puede afirmar que se obtiene una tasa de reconocimiento mucho mayor al azar, por lo que se puede afirmar que el sistema de reconocimiento funciona. Se tiene una mayor taza de reconocimiento en el caso de palabras bisilábicas que monosilábicas.

• Es necesario buscar procesos adicionales para mejorar el sistema (actualmente se efectúa el estudio de técnicas adicionales para mejorar la performence del sistema).

VI. RECOMENDACIONES Se han propuesto dos caminos de análisis para mejorar el sistema de reconocimiento de voz:

• Potenciar el sistema actual con la adición de

un modelo de Markov para la realimentación estadística de los resultados experimentales del sistema.

• Analizar las varianzas mínimas cuadráticas

de los cepstrum de cada bloque de palabra con codebooks particulares a cada código (comando).

UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS (UPC) 8

Page 9: Calculadora Controlada Por Voz

Calculadora controlada por voz

Comando ‘1’ ‘2’ ‘3’ ‘4’ ‘5’ ‘6’ ‘7’ ‘8’ ‘9’ ‘0’ ‘+’ ‘-‘ ‘*’ ‘/’ ‘=’ Código 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Ex #1 OK OK OK OK OK X OK OK OK OK OK OK OK X OK Ex #2 X OK OK OK OK OK OK OK OK X OK OK OK OK OK Ex #3 OK OK OK OK OK X OK OK OK OK OK OK OK OK OK Ex #4 OK X X OK OK OK OK OK OK OK OK X X X OK Ex #5 OK X OK OK X OK OK OK X X OK X OK OK X

Tabla 1. Resultados obtenidos

UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS (UPC) 9