Reconocimiento de voz

Anuncio
RECONOCIMIENTO DE VOZ
Oscar David Sari Villa
UNIVERSIDAD POLITÉCNICA SALESIANA
Carrera de Ingeniería Electrónica Y Telecomunicaciones
[email protected]
Resumen—En este documento presentamos el
proceso que se lleva a cabo para el procesamiento
de voz, ya que en la actualidad muchos de los
procesos se lo realizan mediante la voz o se trata de
implementarlo debido a que una interacción entre el
hombre y la maquina fuera mucho mejor si se lo
realizara utilizando el medio de comunicación que
es la voz. Además la voz no es otra cosa más que
una señal que emitimos y que lleva información que
luego será decodificada por el receptor, por tal
motivo se debe realizar uno o varios procesos para
que el mensaje que emitimos sea codificada y pueda
ser recibida y comprendida en este caso por una
maquina o cualquier aparato electrónico.
PALABRAS
CLAVES—Procesamiento
reconocimiento de voz.
I.
y
INTRODUCCION
Todos los sistemas que trabajan procesando señales
de voz necesitan una primera etapa en la cual
segmentos consecutivos de la señal de voz son
convertidos a secuencias temporales de vectores de
parámetros, una manera de disminuir la cantidad de
parámetros la parametrización se combina con
técnicas discriminativas, las cuales tomas los
parámetros que mayor información nos puedan
proporcionar [1][2].
Cuando hablamos sobre un sistema que tenga la
capacidad de procesar y reconocer el habla estamos
hablando de un sistema SRHA, la señal que recibe
debe pasar por un proceso de digitalización para
obtener muestras las cuales permiten comprender el
mensaje enviado para después ser procesado.[7]
Las etapas que debe pasar la señal para ser
procesado son dos: entrenamiento y reconocimiento
de las cuales la primera etapa es la más importante y
critica a la vez ya a ella se deberá el éxito del
proceso [3][5][10]. A continuación mostramos la
secuencia que sigue el reconocimiento de voz:
1
II.
DISEÑO Y DESARROLLO DEL
SISTEMA
A- Reconocimiento de palabras aisladas:
Para este tipo de reconocimiento es necesario que el
emisor pronuncie las palabras de una forma pausada
lo cual simplifica mucho el proceso de
reconocimiento ya que se pueden detectar con
facilidad las fronteras o intervalos de cada palabra,
la siguiente figura ilustra de mejor manera el
proceso que acabamos de mencionar [4][7]:
Distancia: una de las características de los sistemas
de reconocimiento es como las matrices son
combinadas y comparadas son con los patrones de
referencia para lograr esto se debe establecer una
distancia entre los vectores característicos. El
algoritmo utilizado para MATLAB es la distancia
Euclidiana como se indica en la siguiente formula
[1][2]:
√∑
|
|
Parametrización de las señales de voz: su objetivo
es obtener la caracterización de la señal de ingreso
(voz) en un conjunto de vectores que contengan
toda la información discriminatoria.
Cuando hablamos de reconocer la señal de vos
también debemos tomar en cuenta que el sistema
serie mucho más eficaz si la maquina interactuara
de igual manera con nosotros, a lo que nos
referimos es que esta también debería emitir un
mensaje que nosotros recibiríamos de manera
audible, por este motivo existe un modelo clásico
detracto vocal el cual está compuesto por un
generador de pulsos y de ruido aleatorio. Este
modelo presenta dos entradas las cuales dependerán
del tipo de señal, por ejemplo para una señal sonora
(vocales) la excitación es un tren de impulsos de
frecuencia controlada caso contrario para señales no
sonoras la excitación es simplemente ruido
aleatorio. El siguiente esquema representa el
modelo de producción de voz [2][6][9]:
Los coeficientes de Cepstrum en la escala MEL
(MFCCs – MEL-frequency Cesptral Coefficients)
demuestran un mejor rendimiento al momento de
realizar la parametrización, para calcular los
parametros MFCCs utilizamos la siguiente formula
[4][5]:
√ ∑
(
(
))
B- La señal acústica:
Debido a que no existe un sistema que reconozca
los movimientos de la boca el proceso para obtener
la señal de ingreso se enfoca en analizar la voz
misma, la voz no es más que una señal análoga es
decir un flujo continuo de ondas sonoras y de
silencios que juntas forman un lenguaje [5][6][10].
El espectro de frecuencias de la señal vocal se
obtiene del producto de la transformada de Fourier
(FT) de la excitación por la respuesta del filtro:
( )
( ) ( )
Dónde:
( )
( )
( )
D- Reconocimiento de voz con HMM
Es necesario estudiar la ciencia de la acústica ya que
de ella se derivan factores muy importantes para el
reconocimiento efectivo de voz; estos factores son
Frecuencias, Amplitud, Estructura armónica (tono
vs ruido) y la resonancia [5].
C- Modelo de la Producción de la voz:
2
Las siglas HMM quieren decir Hidden Markov
Models también conocido como modelo oculto de
Markov, es la manera más popular y efectiva para el
reconocimiento de voz y cuyo proceso se basa en la
comparación de patrones tipo estocásticos, esto se
debe a que posee algoritmos elegantes y eficientes
tanto en entrenamiento como en reconocimiento.
Este modelo se lo utiliza por dos etapas la una para
modelar palabras usando modelos acústicos y el
otro para modelar el lenguaje que va a estar sujeto a
las restricciones gramaticales.
Este modelo está formado por un conjunto de
estados y transiciones predeterminados por un
conjunto de parámetros [1][4][5].
El filtro diseñado en MATLAB funciona con el
siguiente código [1]:
(
[
]
)
(
E- Ruido
El ruido sigue presentando problemas a pesar de que
en la actualidad se cuentan con poderosos
algoritmos de reconocimiento de voz que trabajan
adecuadamente eliminado el ruido de fondo pero la
aplicaciones sufren alteraciones que bajan su
rendimiento al enfrentarse a ambientes ruidosos. Por
tal motivo existe el software AVSR que además de
trabajar con los algoritmos presenta además una
aplicación para las computadoras que les permite
detectar el rostro de la persona y de igual manera los
movimientos de la boca, de esta manera se logra un
reconocimiento de la voz más precisa. Vale tener en
cuenta que el detector de movimiento no funciona
por sí solo [1][5].
III-
)
Detención y eliminación de los periodos de
silencio de la señal:
Primero calculamos la energía de la señal, para esto
se calcula el valor absoluto y con este el valor pico,
la señal de ingreso la dividimos por el valor que
obtuvimos para lograr independizar la forma de
onda respecto a la intensidad de la señal.
La señal normalizada se la eleva al cuadrado y se la
divide por el número de muestras de la señal [1].
EXPERIMENTACION
Una vez que tenemos una idea más clara de lo que
estamos tratando procedemos a realizar una pequeña
práctica para esto utilizamos un software como
apoyo que va a ser el MATLAB [1][9]:
Filtrado:
Con el software ya mencionado podemos obtener
los parámetros característicos de un filtro, observar
su respuesta en frecuencia, obtener sus coeficientes
característicos y conocer su estabilidad:
3
La siguiente imagen fue filtrada por el algoritmo de
eliminación de silencio y nos quedó de la siguiente
manera:
IV-
CONCLUCIONES
En conclusión podemos decir que si deseamos
realizar un sistema que sea capaza de procesar
señales de voz y ejecutarlos debemos tener en
cuenta muchos parámetros como por ejemplo el
ruido, el ambiente en el que estamos, la rapidez con
la que hablamos va a tener mucha influencia al
momento de captar la señal ya que si el algoritmo de
reconocimiento no es eficiente al momento en el
que nosotros diéramos una orden hablando
rápidamente el sistema no respondería, el ruido es
otro factor importante ya que los algoritmos pueden
trabajar perfectamente eliminando el ruido pero al
momento que se encuentran en ambientes en donde
existe mucho ruido su eficiencia se ve afectada
negativamente, por todo esto siempre se trata de
implementar nuevas ideas para mejorar los
algoritmos de reconocimiento y ya vimos el caso de
que había software para las computadoras que
aparte de procesar la voz tenía la capacidad de
seguir los movimientos de la boca y de esta manera
realizar un trabajo mucho más preciso y eficiente ya
que las posibilidades de error son mucho menores.
V-
BIBLIOGRAFIA
[1] Universidad Tecnológica Nacional Facultad
Regional San Nicolas, Tecnicas Digitales III,
reconocimiento de voz, 2008.
[2] Universidad Politecnica de Catalunya 08034
Barcelona, Esquema unificado de parametrización
de la señal de voz en peconocimiento del habla, J
Mendez, F. Vallverdu.
[3] Graduated: José Luis Oropeza Rodríguez
Centro de Investigación en Computación-IPN
[email protected]
Graduado en diciembre 15, 2006
Advisor: Sergio Suárez Guerra
Centro de Investigación en Computación-IPN
ssuare@cic,ipn,mx
[4] Autor: José Ignacio Puertas Tera
Director: Ramón García Gómez
Madrid 2.000
[5] Autor: Jorge Hierro Álvarez
Madrid, 28 de junio de 2004
4
[6] Implementación de un reconocedor de palabras
aisladas
Dependiente del locutor
César San Martín S.1 Roberto Carrillo A.1
Recibido el 14 de julio de 2003, aceptado el 3 de
mayo de 2004
[7] Universidad De Chile Facultad De Ciencias
Físicas Y Matemáticas. Departamento Ingeniería
Eléctrica.
[8] Rabiner, L. & Juang, B-H.. Speech Recognition
by Machine, Chap. 47 in The Digital Signal
Processing Handbook, CRC Press, IEEE Press,
1998.
[9] Rabiner, L. & Juang, B-H.. Fundamentals of
Speech Recognition, Prentice Hall, N.J., 1993.
[10] PICONE, J.W.: «Signal Modeling Techniques
in Speech Recognition», Proceedings of the
IEEE 1993; 81 (Sept.): 1215-1247.
Descargar