Sunteți pe pagina 1din 34

1

Licenciatura: Ingeniera en Electrnica



Unidad: UAMI


Divisin: CBI

Modelo de Mezclas Gaussianas

PRESENTA
Manuel Rojas Huerta


____________________
Asesor: Dr. Enrique Escamilla Hernndez

Universidad Autnoma Metropolitana Unidad Iztapalapa


Realizacin: 1 de septiembre del 2005 al 28 de Marzo de 2006

2
INDICE.


Abstrac..3

Introduccin..3

Desarrollo.11

Programas.22

Conclusiones....31

Bibliografa32


















3
ABSTRAC.
El siguiente proyecto trata desarrolla un modelo de mezclas gaussianas el cual tiene la intencin de
aplicarse en el desarrollo de sistemas de reconocimiento de voz, por lo cual se desarrollo baja los
siguientes parmetros, utilizando el modelo de Fordward-Backward o mejor conocido como Baulm-Welch
el cual utiliza un modelo puramente iterativo de eliminacin donde los elementos obtenidos despus de un
cierto nmero de iteraciones, las cuales determinamos dentro del programa. Se generaran dos programas
de los cuales uno deber de tener las siguiente cualidades, implementar el algoritmo Baulm-Welch para
trabajar en el software conocido como Matlab, versin 6 en adelante, en el editor mfile, y tambin listo
para utilizarse en el software Code componer que viene incluido al comprar un DSP de Texas Instruments,
para este caso utilice el DSP C6711. Cabe mencionar que este mismo programa se puede realizar con una
herramienta de Matlab llamada simulink, la cual tiene la cualidad de utilizar bloques funcionales que al
unirse pueden formar sistemas muy complejos de electrnica digital y analgica.

INTRODUCCIN.
En la actualidad el mejor procesamiento de seales digitales se ha hecho cada vez ms importante en el
rea de las comunicaciones, es por eso que este proyecto fue realizado. Es claro que este proyecto es muy
importante, la idea principal es que se pueda utilizar como una parte fundamental de aplicaciones ms
especificas, por lo cual es preciso indicar que es una mezcla gaussiana, como es que llegamos a ella y
cuales son las propiedades que la hacen tan importante y esto se har con ms cuidado en prrafos
siguientes. El procesamiento de seales en un futuro ser una parte fundamental en le desarrollo de la
mayora de las tecnologas digitales, lo pensado para este proyecto es utilizarlo en la creacin de sistemas
de reconocimiento vocal, ya que slo hacen falta dos etapas la cuales describir rpidamente.
Como ocurra con el espectro LP, se pueden tomar todos los picos o aquellos cercanos al crculo unitario.
Mezcla de gausianas Cada formante es aproximadamente gausiano. Se puede tratar la densidad del
espectro de potencia como una funcin de densidad de probabilidad.

Se puede modelar una funcin de densidad de probabilidad como una mezcla de gausianas:


La imagen siguiente muestra una mezcla de gausianas que encajan con u espectro de magnitud DFT
4


Combinacin de candidatos Todos los mtodos producen picos de deshecho.
Los formantes tienen continuidad y restricciones en la tasa de cambios.
Se suele imponer restricciones de manera heurstica para rechazar algunos candidatos.
Las restricciones deben expresarse formalmente; debe utilizarse programacin dinmica.
Anlisis de voz Es necesario conocer las siguientes variables:
tono
grado de voz
El tono se define perceptualmente - la correlacin acstica es la frecuencia fundamental. Puede ser que la
frecuencia fundamental no aparezca, como en el caso de la voz telefnica, pero incluso en voz con un
ancho de banda limitado, el tono se mantiene claramente. Anlisis en sincrona con el tono. Las
discontinuidades asociadas al uso de ventanas (windowing) se pueden reducir si el anlisis se lleva a cabo
sincronizadamente respecto al tono.

En la mayor parte de los casos esto se aplica a las tcnicas basadas en LP, ya que es ms fcil trabajar con
ventanas de longitud arbitraria.
5

De nuevo se necesita un conjunto de candidatos potenciales. Cortes con los ejes Los sonidos peridicos
tienen cortes peridicos con el eje x.

Para los armnicos significantes e obtiene un rango de valores de tono. Picos en la funcin de
autocorrelacin Para una seal peridica de periodo P, la funcin de autocorrelacin se repite con un
periodo P:
En la prctica,

Como en el mtodo anterior, es difcil encontrar el pico correcto. Pico en la funcin de autocorrelacin del
residuo LP Es un mtodo similar al anterior. Tiene la ventaja de que una fundamental dbil se potencia al
mismo nivel que los armnicos antes de la autocorrelacin. Funcin de la diferencia media de magnitud Es
similar a la autocorrelativa, pero es ms rpida de implementar en aritmtica de enteros ya que no hau
multiplicaciones.


Pico en el cepstrum
El cepstrum a menudo muestra un pico en el tono muy claro. Este mtodo es uno de los ms robustos
basados en ventanas. Combinacin de candidatos
Todos los meses producen candidatos dudosos.
El tono posee continuidad y restricciones en la tasa de cambios.
Se imponen restricciones heursticamente y se descartan candidatos.
Los errores ms frecuentes son multiplicar o dividir el tono por 2.
Grado de voz
Se trata de definir un mtodo para saber si est ocurriendo una entrada de voz o no. Determinacin de la
existencia de voz Se usa:
6
tasa de cortes con los ejes
r
1
/r
0
, o la fraccin de la potencia a bajas frecuencias
grado de fuerza del pico de tono
sorprendentemente difcil. Provoca una enorme diferencia en la calidad subjetiva de un codificador
LP
en la prctica se combinan varios mtodos (utilizando tcnicas estadsticas de reconocimiento de
patrones)
Uso El uso ms frecuente es del tipo binario: hay voz o no la hay.

En ocasiones un valor real puede resultar til:
mezcla excitaciones de voz o de no-voz con las potencias adecuadas
aplica un filtro pasa-alto a las excitaciones no-voz, y un filtro pasa-bajo a las excitaciones voz, y el
grado de voz define al punto lmite entre unas y otras
Introduccin al reconocimiento de fonemas
Los sistemas de reconocimiento de voz que pueden reconocer lenguaje humano normal han sido objeto de
intenso estudio en laboratorios a lo largo de todo el mundo.

Tales sistemas tienen un amplio abanico de aplicaciones, como sistemas de respuesta a la voz en
ordenadores, sistemas de seguridad, automatizacin de la oficina, etc... El problema del reconocimiento de
voz lo forman a su vez dos problemas, el de las tcnicas de desarrollo y los sistemas de reconocimiento en
si. Se han descrito numerosas aproximaciones a este tema - tcnicas de coincidencia de patrones acsticos,
como DTW (Dynamic Time Warping), tcnicas estadsticas utilizando HMM y redes neuronales
artificiales (ANN),...
Los sistemas de reconocimiento de voz basados en HMMs han sido, aplastantemente, los que ms xito
han tenido.

El principal objetivo de un sistema de reconocimiento de voz es comprender el lenguaje humano y tal vez
iniciar una accin especfica. En esencia es un problema de coincidencia de patrones en el que la voz de
7
entrada al sistema se segmenta y se compara con patrones de referencia para adecuar la salida del
reconocedor al patrn de referencia que ms se parece al patrn de entrada.
Hay otras aplicaciones en las que se espera que el sistema sea capaz de distinguir entre diferentes
interlocutores identificando ciertos patrones en su voz, por ejemplo, en sistemas de seguridad. En cualquier
caso, el nfasis est en identificar qu se est diciendo. La idea es reconocer el lenguaje separndolo en sus
unidades constituyentes, fonemas y comparndolo despus con diferentes patrones almacenados. El
resultado de esta comparacin es algn tipo de medida de distancia que sirve como entrada a un bloque de
decisin que es el encargado de producir la interpretacin de la mquina de la palabra o frase dicha.
A pesar de parecer sencillo, en la prctica hay algunos puntos que complican este proceso. Primero, el
mismo fonema pronunciado por diferentes interlocutores es acsticamente diferente debido a variaciones
en la longitud del tracto vocal y su musculatura. Por ejemplo los interlocutores femeninos producen un
tono ms alto comparado con los masculinos, debido a un aparato vocal ms pequeo. Adems, el mismo
interlocutor puede producir versiones acsticamente diferentes del mismo sonido bajo diferentes
circunstancias, por ejemplo si est o no resfriado.

Determinados sonidos pueden ser acortados o sencillamente no pronunciados si el interlocutor habla muy
rpido. Las caractersticas acsticas de un fonema pueden verse significativamente alteradas debido a que
el interlocutor anticipe lo siguiente que va a decir, fenmeno conocido como co-articulacin.
Al no haber lmites identificables entre sonidos o incluso palabras, se torna extremadamente difcil
determinar dnde comienza o termina una expresin (deteccin del punto final).
Diferencias entre dialectos como evitar un fonema (dejar de pronunciarlo, sobre todo en ingls) o
sustitucin de fonemas (en algunas zonas de Euskal Herria 'j' se pronuncia 'i') tambin complican el
proceso de reconocimiento de voz.

Existen otros problemas como el ruido debido al lenguaje, por ejemplo los chasquidos de los labios o de la
lengua, lo que hace an ms complejo el proceso.

Es obvio que sin asumir determinadas simplificaciones la tarea de reconocer la voz sera prcticamente
imposible. Para empezar, se utiliza un vocabulario limitado de palabras, lo que facilita la accin del
reconocimiento. Ms an, para hacer que la secuencia de palabras sea predecible por el reconocedor, se
8
utilizan lenguajes artificiales. En determinadas aplicaciones est limitado el nmero de interlocutores,
intentando reducir las variaciones.
Sistemas de reconocimiento de voz Anteriormente se ha dicho que los sistemas se simplifican asumiendo
determinadas restricciones. Dependiendo de estas restricciones, un sistema de reconocimiento de voz
puede ser independiente o dependiente del hablante, y de palabras discretas o palabras continuas.
Un sistema independiente del hablante almacena algunos patrones generales que corresponden a un grupo
de usuarios ms que a uno en particular.

Los sistemas dependientes del hablante sin embargo, son entrenados para reconocer la voz de un usuario
dado, y los patrones que se almacenan son sus pronunciaciones de diferentes palabras.
En un sistema de palabras discretas son necesarias pausas entre las diferentes palabras para que el
reconocedor funcione satisfactoriamente, mientras que no hay tal restriccin para un reconocedor de
palabras conectadas.

Otra clasificacin se basa en la representacin de caractersticas - tcnicas de coincidencia de patrones
acsticos donde se realiza la comparacin del lenguaje hablado y el de referencia, y tcnicas estadsticas de
coincidencia de patrones, donde se usan determinadas propiedades estadsticas de la palabra o frase
hablada para la coincidencia de patrones.

Un ejemplo de tcnica de coincidencia de patrones acsticos es el mtodo de alineamiento DTW (Dynamic
Time-Warping) que busca encontrar un camino w(n) que minimice la distancia acumulada D entre los
patrones de prueba y referencia, sujeto a una serie de restricciones de trayectoria y punto final, p.e.
D* = min [ d(T(n), R(w(n)))], para w(n), n = 1 a NT
donde d(T(n), R(w(n))) es la distancia entre la ventana n del patrn de prueba, y la ventana w(n) del patrn
de referencia, y NT es la longitud del patrn de prueba.


Dado que nos interesan los sistemas de reconocimiento de voz que utilizan HMMs, de momento no se
profundizar ms en las tcnicas DTW.
9

En los sistemas de reconocimiento de voz basados en HMMs, se utiliza una representacin estadstica de
caractersticas para la coincidencia de patrones. Reconocimiento de palabras aisladas
En el reconocimiento de palabras aisladas el patrn acstico de cada palabra del vocabulario se almacena
como una secuencia temporal de caractersticas derivadas, usando LPC, anlisis de banco de filtros o
alguna otra tcnica de anlisis del lenguaje.

La medicin de las caractersticas, al ser conocido este proceso, se limita a una tcnica de reduccin de
datos donde un gran nmero de datos de puntos, en este caso, muestras de voz a una determinada
frecuencia de muestreo, se transforman en un conjunto menor de caractersticas; ambos son equivalentes
en tanto que ambos describen las propiedades de la onda acstica.


El reconocimiento se lleva a cabo comparando el patrn acstico de la palabra a reconocer con los patrones
almacenados, y seleccionando la palabra que mejor encaje con la palabra desconocida.
Para que un sistema tal sea prctico en trminos de complejidad de proceso, el nmero de palabras para
comparar debe ser bastante reducido, normalmente inferior a 100.


Una vez que se han medido los patrones, el siguiente paso es determinar la similitud entre el patrn de
prueba y el de referencia. Debido a que la pronunciacin y la velocidad en el habla son variables, la
similitud de patrones involucra un alineamiento temporal y un clculo de la distancia. Se han propuesto
varias tcnicas para llevar a cabo el alineamiento temporal como la maximizacin de la correlacin y
DTW, siendo DTW la estructura ms utilizada.


El ltimo paso en el modelo de reconocimiento de patrones es la regla de decisin, que escoge el patrn de
referencia que ms se acerca al de prueba.
10

Se utilizan comnmente dos reglas de decisin, la regla del vecino ms cercano (NNR) y la regla del
vecino ms K-cercano (KNNR).


NNR es simplemente elegir el patrn con la menor distancia media (obtenida del algoritmo DTW) como el
patrn reconocido. Reconocimiento de palabras conectadas La figura siguiente muestra la estructura
general de un reconocedor de palabras conectadas:
La aplicacin ms importante de un reconocedor de palabras aisladas es el reconocimiento de palabras
conectadas.
En el reconocimiento de palabras conectadas, la entrada hablada es una secuencia de palabras de un
vocabulario especfico, y el reconocimiento se lleva a cabo basndose en la coincidencia de palabras de
referencia aisladas. Ejemplos de esto son las cadenas de dgitos conectados donde el vocabulario es un
conjunto de 10 dgitos, o el reconocimiento de letras conectadas, donde el vocabulario es el conjunto
formado por el abecedario.


No hay que confundir esto con el reconocimiento continuo de voz, donde el reconocimiento se basa en
unidades lingsticas denominadas fonemas, slabas, dtonos, etc. lo que supone separar la voz en estas
unidades y etiquetarlas subsecuentemente.


Si se observa la figura que muestra la estructura de un reconocedor de este tipo, es fcil darse cuenta de
que es idntica a la del reconocedor de palabras aisladas, si no fuera por la posicin de los bloques y el
nivel de la informacin que, al final de cada reconocimiento, realimenta el algoritmo DTW con un
conjunto de estimaciones del lugar donde encaja en la cadena de prueba el fin local actual.
De este modo, el algoritmo DTW puede construir progresivamente un conjunto de coincidencias con la
cadena de prueba y, al final de la bsqueda, determinar y ordenar las coincidencias de acuerdo con las
distancias acumuladas. El otro punto a tener en cuenta es que el DTW ya no es un algoritmo restringido de
punto final, ya que los lmites de la palabra no se conocen a priori. Las aproximaciones del DTW al
reconocimiento de palabras conectadas son bastante complejas, y de momento no se van a tratar. Modelos
11
de seales Un problema de inters capital es la caracterizacin de las seales del mundo real en trminos
de modelos de seales. Un modelo de seales es enormemente importante en el anlisis de sistemas debido
a varias razones. Por ejemplo, un modelo de seales puede emplearse para efectuar simulaciones y utilizar
los resultados para analizar el sistema. Tambin permite caracterizar la fuente que produce las seales sin
tener que acceder realmente a sta. Adems proporcionan una descripcin terica del sistema de proceso
de seales permitiendo as construir sistemas que realicen tareas especficas. Por ejemplo, conociendo el
modelo de seal para una seal viciada por el ruido, se puede disear un sistema que elimine el ruido y
mejore la calidad de la seal.


Los modelos de seales pueden clasificarse de modo general en determinsticos y estocsticos o de seales
aleatorias, basndose en la naturaleza de la seal tratada.

DESARROLLO.
Los modelos determinsticos utilizan propiedades conocidas de la seal subyacente, que puede estimarse
de forma inmediata. Por ejemplo, una onda senoidal puede caracterizarse en trminos de su amplitud, fase
y frecuencia.


Los modelos estocsticos, por otra parte, estiman propiedades estadsticas de las seales subyacentes. Por
ejemplo, series de Gauss, series de Poisson. Se asume que la seal modelada puede caracterizarse como
una serie paramtrica aleatoria, y los parmetros de la serie aleatoria pueden estimarse de manera definida
y precisa. Por esto los modelos estocsticos son una aproximacin particularmente adecuada para el
reconocimiento de voz.


El modelo estocstico ms popular empleado en el reconocimiento de voz es el HMM. Un modelo de
Markov de estados finitos y un conjunto de distribuciones de salida son las caractersticas de los HMMs.
Los parmetros de transicin en la cadena de Markov modelan la variabilidad temporal, mientras que los
parmetros en las distribuciones de salida modelan las variabilidades espectrales.


12
Los HMMs se han utilizado en diversas aplicaciones como sistemas de comunicacin, biologa molecular
(para el anlisis de las secuencias de cidos proteicos y nucleicos), entre otras. Como se dijo anteriormente,
los sistemas de reconocimiento de voz basados en HMMs emplean una tcnica de medicin de
caractersticas estocstica para tratar con las incertidumbres asociadas al reconocimiento de voz, como
efectos contextuales, variabilidades en el interlocutor y homofonas. Procesos discretos de Markov El
modelado de seales segn el model Hidden Markov involucra tres problemas fundamentales:
estimar la probabilidad de una secuencia de observaciones dado un HMM especfico
determinar la secuencia ptima de estados del modelo
ajustar los parmetros del modelo para que representen lo mejor posible una seal dada
A este modelo se le llama 'oculto' (Hidden) en el sentido en que la secuencia de estados que producen una
secuencia de patrones determinada, no puede ser observada/determinada. Dependiendo de cmo
evolucionen los estados podemos hablar de HMMs ergdicos (cualquier estado se puede alcanzar desde
cualquier otro estado) o HMMs left-to-right (donde el modelo nicamente lleva a cabo transiciones hacia
adelante).

La teora se desarrolla describiendo en primer lugar las cadenas discretas de Markov.

Considrese un sistema descrito por la cadena de Markov de 3 estados mostrada por la figura siguiente:

El sistema realiza transiciones o movimientos de un estado a otro (incluida la permanencia en un estado
dado, es decir, bucles sobre el mismo estado) a intervalos discretos predeterminados. Se sealan los
instantes de tiempo por t = 1, 2, ..., y los estados por q
t
.
Por la teora de las cadenas de Markov (MC), se sabe que el futuro es independiente del pasado dado el
presente, donde el presente puede ser uno o ms estados a travs de los cuales evoluciona el sistema. As,
Modelo de 3 estados de Markov

13
el sistema est completamente caracterizado por el estado presente y un nmero finito de estados previos
(el nmero de estados previos requeridos para la descripcin del estado presente da el orden de la cadena
de Markov. En otras palabras, para un proceso de primer orden,
P[q
t
= S
j
| q
t-1
= S
i
, q
t-2
= S
k,
]
= P[q
t
= S
j
| q
t-1
= S
I
]


Sin consideramos las MCs homogneas solas, las probabilidades de transicin del estado a
ij
vienen dadas
por
a
ij
= P[q
t
= S
j
| q
t-1
= S
I
], 1 i, j N


Donde N = 5 en este caso. Las a
ij
s son tales que a
ij
0 y j = 1, , N, a
ij
= 1. La matriz de probabilidad
de transicin de este sistema viene dada por:
Este modelo no es oculto, ya que los estados por los que se mueve el sistema son observables. Claramente,
un modelo tal no resultar muy til en el caso del problema presentado. Modelos Ocultos de Markov
(HMMs) Supngase que la observacin es una funcin estocstica del estado, a diferencia del proceso
discreto de Markov descrito anteriormente.


El modelo resultante ser un proceso estocstico con otro subproceso estocstico oculto. El proceso
subyacente solo puede observarse a travs del otro proceso que produce la secuencia de observaciones y al
cual nos referimos como Modelo Oculto de Markov (HMM).


Para ilustrar esta idea, considrese un experimento de lanzamiento de una moneda, donde las
observaciones CA (cara) y CR (cruz) son conocidas sin la naturaleza exacta del lanzamiento de la moneda.
Dada una secuencia de observaciones (CA, CA, CR, CA, CR, CR, CR, CA,...) queremos conseguir un
sistema (mediante el modelado) que produzca esta secuencia de observaciones. Una solucin sencilla
14
suponer que se lanza una misma moneda con una determinada propensin y modelar la situacin mediante
un modelo de Markov de 2 estados donde los estados corresponden a las ocurrencias de CA o CR. Las
transiciones son descritas mediante la propensin de la moneda (bias), indicando la probabilidad de que
ocurra CA. Si se especifica esta propensin, lo que tenemos es un proceso de Markov observable. Por otro
lado, si se describe ls secuencia de observacin mediante un modelo de Markov de 1 estado, siendo la
moneda con su propensin el estado, y la propensin en si (probabilidad de que suceda CA o CR) siendo el
parmetro desconocido, tenemos un HMM equivalente al modelo de 2 estados.


En la figura 5 se muestra un modelo con dos monedas con propensin en lugar de una sola.


P(H) = P
1
P(H) = P
2


P(T) = 1-P
1
P(T) = 1-P
2



Se puede observar que el modelo de 1 moneda tiene una incgnita, el modelo de 2 monedas tiene 4
incgnitas y un modelo con 3 monedas tendr 9 incgnitas. De este modo, si es necesario escoger entre dos
HMMs posibles, ser preferible el de mayor nmero de incgnitas, ya que proporcionar mayor grados de
libertad y por tanto modelar mejor la situacin. En cualquier caso y debido a consideraciones prcticas,
pueden imponerse limitaciones al tamao del modelo. Elementos de un HMM Un HMM se compone de 5
elementos:
15
N, el nmero de estados en el modelo. Aunque los estados estn ocultos, estos corresponden a
objetos fsicos, como la moneda anterior. Los estados pueden seguir cualquier orden lgico
(ergdico u otro). Los modelos en los que el ndice de estado siempre aumenta (o por lo menos se
mantiene constante) se utilizan frecuentemente en aplicaciones de reconocimiento de voz (left-to-
right o modelo de Bakis). Los estados individuales se denotan por S = (S
1
,S
2
, ... ,S
N
) y un estado en
un momento t como q
t
.
M, el nmero de smbolos de observacin diferentes por estado, es decir, el tamao del alfabeto
discreto. Por ejemplo, en el experimento de la moneda, los smbolos de observacin eran (CA, CR).
Los smbolos individuales se denotan por V = (v
1
, v
2
, ..., v
M
).
Las probabilidades de transicin; n de estado a
ij
.
Las probabilidades del smbolo de observacin, B = {b
i
(k)}, donde b
j
(k) = P[v
k
@ t / q
t
= S
j
], 1 j
N, 1 k M.
La distribucin de estados inicial, = { = { = { = {
i
} }} }, , , , donde
i
= P[q
t
= S
I
], 1 i N.
Dados estos cinco elementos, se puede utilizar un HMM para generar una secuencia de observacin O =
O
1
O
2
O
T
donde T es el nmero de observaciones en la secuencia. El procedimiento se detalla a
continuacin:
Se escoge un estado inicial q
t
= S
i
como .
t = 1.
Se escoge O
t
= v
k
como en b
i
(k).
Transicin a otro estado q
t+1
= S
j
como a
ij.

t = t+1 y vuelta al tercer paso si t < T; si no, fin.
Este procedimiento puede usarse tambin para remarcar la generacin de una secuencia dada. El conjunto
completo de parmetros del modelo se denota como = (, , ) = (, , ) = (, , ) = (, , ). Resolucin de los 3 problemas bsicos
Como se dijo anteriormente, hay 3 problemas fundamentales de la descripcin HMM:
el problema de la evaluacin: dado = (, , ), calcular eficientemente la probabilidad de la
secuencia de observacin O = O
1
O
2
O
T
, es decir, P(O|). La solucin a este problema resulta de
utilidad en la comparacin de diferentes modelos ya que indica cmo de bien une las observaciones
el modelo.
16
extraccin de caractersticas/determinacin de la secuencia de estados: dado O y , encontrar una
secuencia ptima de estados Q = q
1
q
2
q
T
que explique mejor las observaciones. Aqu se trata de
descubrir la parte oculta del modelo, es decir, se intenta encontrar la secuencia correcta de estados.
optimizacin a travs de entrenamiento: maximizar P[O | ] ajustando los parmetros del modelo
. Se intenta obtener la secuencia de observacin que 'mejor encaje', optimizando los parmetros
del modelo mediante una secuencia de entrenamiento. Esta es la parte ms crucial del modelado
HMM.
Los pasos que sigue la descripcin HMM de una secuencia de observaciones pueden indicarse para el
problema del reconocimiento de palabras aisladas:

para cada palabra de un vocabulario de W palabras, se construye un HMM diferente de N-estados. Cada
palabra se representa como una secuencia temporal de vectores espectrales codificados utilizando un
codebook de M vectores espectrales autnticos. La secuencia de entrenamiento para cada palabra consiste
en repeticiones de secuencias de ndices de los vectores espectrales correspondientes a la palabra.
El primer paso es construir modelos de palabra para todas las palabras del vocabulario. La solucin al
problema 3 se utiliza para estimar ptimamente los parmetros del modelo para cada modelo de palabra.
Para llegar a la secuencia de estados correcta, su usa la solucin al problema 2 para segmentar cada
secuencia de la palabra de entrenamiento en estados, y despus estudiar las propiedades de los vectores
espectrales que conducen a las observaciones que ocurren en cada estado. En esencia se est intentando
refinar el modelo en trminos de nmero de estados, tamao del codebook, etc. Una vez que se tiene los W
modelos HMM de palabras suficientemente estudiados y optimizados, el ltimo paso ser el uso de esos
modelos para reconocer la palabra desconocida comparndola contra los modelos de palabras y
seleccionando el que obtenga ms probabilidad, es decir, el que se ajuste mejor. Para esto se utiliza la
solucin al problema 1.

Las soluciones a los tres problemas de la descripcin HMM pueden encontrarse mediante varias tcnicas.
El problema de evaluacin puede solucionarse utilizando el procedimiento adelante-atrs (Forward-
Backward) que soluciona inductivamente la probabilidad de la secuencia de observacin, comenzando con
una observacin parcial. Esta tcnica reduce los clculos de 2T*N
T
, requeridos para el clculo directo de la
probabilidad de la secuencia de observacin a N
2
T. El clculo de probabilidad hacia adelante est basado
17
en una estructura similar a un enrejado (trellis). Esto viene del hecho de que nicamente hay N estados
diferentes y todas las posibles secuencias de estados estarn en estos N estados, independientemente de la
longitud de la secuencia de observacin.

La solucin al problema 2 no es nica, ya que implica un criterio de optimizacin que puede cambiar. Sin
embargo, modificando el criterio de optimizacin para que la solucin sea la mejor secuencia posible de
estados, se puede obtener una solucin exacta utilizando tcnicas de programacin dinmica. Una tcnica
formal que sigue todo esto es el algoritmo Viterbi (este algoritmo sigue muy de cerca la estructura enrejada
del clculo de probabilidad hacia adelante, aunque proporciona una implementacin ms eficiente).
La solucin al problema 3, el del ajuste fino del HMM para un determinado patrn de observacin es la
parte ms complicada de la descripcin HMM. Esto es debido a que no hay soluciones analticas para este
problema. De hecho, dado un vector de entrenamiento de longitud finita, no hay una solucin ptima para
los parmetros del modelo. Sin embargo una solucin sub-ptima puede ser obtenida fcilmente utilizando
tcnicas iterativas como el mtodo Baum-Welch o el mtodo Expectation-Modification (EM).
Implementacin de reconocedores de voz utilizando HMMs
Modelo de Mezclas Gaussianas (Gaussian Mixture Model (GMM)) o MODELOS OCULTOS DE MARKOV
HMM).
Considerando que el frame en el instante t se compone por un vector de parmetros espectrales O
t
, una
elocucin se representa entonces por una secuencia de vectores O:
[ ]
T
o o o o O , ,......... ,
3 , 2 1
= (5)
donde T es la duracin en frames de la seal. Para realizar la clasificacin de patrones acsticos en el proceso de VL
se debe medir la distancia entre el modelo del habla del locutor afirmado j y la secuencia de vectores de
observacin O del locutor i que clama dicha identidad. Luego, la distancia obtenida es comparada con un lmite de
decisin, con el cual se aceptar o rechazar la identidad clamada. En el caso de los HMM, la distancia corresponde
a una probabilidad, la cual se define como:
) , / (
j j i
O S S P = (6)
donde S
i
corresponde al locutor i que pretende ingresar al sistema, S
j
corresponde al cliente j que dice ser, O el vector
de observacin obtenido de la elocucin de verificacin, y
j
el modelo de referencia del cliente j generado a partir
de las elocuciones de entrenamiento.
Usando el Teorema de Bayes para probabilidades condicionadas se tiene:

18

) (
) ( ) , / (
) , / (
O P
S S P S S O P
O S S P
j i j j i
j j i
= =
= =

(7)
Debido a que los trminos
) (
j i
S S P =
y
) (O P
se consideran constantes para todos los locutores, el trmino
trascendental para encontrar
) , / (
j j i
O S S P =
corresponde al valor de la verosimilitud definida por
) , / (
j j i
S S O P =
.
Clasificacin de Patrones usando HMM.
El proceso de VL basado en modelos ocultos de Markov (HMM) asume que cada secuencia de vectores de
observacin corresponde a palabras de un locutor determinado y que cada una de ellas es generada por un modelo
de Markov.
Un modelo de Markov consiste en una secuencia finita de estados conectados entre s por probabilidades de
transicin. Cada unidad temporal, que en este caso corresponde al frame, debe enfrentarse ante la posibilidad de
mantenerse en el estado actual o avanzar al siguiente. Cada estado x se caracteriza por una funcin de densidad de
probabilidad de observar un cierto frame O
t
. Esta funcin tambin se denomina probabilidad de salida o de emisin
y se denota por b
x
(o
t
). Considerando la topologa izquierda-derecha sin salto de estados de la Fig. 3, la probabilidad
de transicin desde el estado x al estado y es a
x,y
, donde y=x o y=x+1. Por definicin se tiene que a
x,x
+ a
x,x+1
= 1.






Figura 3. Topologa izquierda derecha sin salto de estado de un HMM.
Con las definiciones discutidas hasta ahora se tiene que el modelo de referencia del cliente es ) , , ( B A
j
= donde
A es la matriz de todas las transiciones de probabilidad, B es el conjunto de los parmetros de las probabilidades de
observacin, y son las probabilidades de que cada estado sea el primero.
En el modelo de Markov descrito en la Fig. 3 se puede identificar la secuencia de estados como:
{ } 8 , 7 , 7 , 6 , 5 , 5 , 4 , 4 , 3 , 2 , 2 , 1 = X generada por la secuencia de observacin O=[o
1
, o
2,
o
3
, ... o
12
]. La probabilidad
conjunta de que el vector de observacin O sea generado por el modelo
j
de la identidad clamada movindose a
travs de la secuencia X, es calculada como el producto entre las probabilidades de transicin y las probabilidades de
observacin. De esta forma, para la secuencia X mostrada en la Fig. 3 se tendr
) ( ) ( ) ( ) ( ) ( ) ( ) / , (
6 4 44 5 4 34 4 3 23 3 2 22 2 2 12 1 1
o b a o b a o b a o b a o b a o b X O P
j
=
(8)
En la prctica, slo la secuencia de observacin O es conocida y la secuencia de estados X correspondiente es oculta.
Este es el motivo por el cual estos modelos se denominan Modelos Ocultos de Markov. De esta forma, dado que X
es desconocido, la verosimilitud requerida es computada mediante la sumatoria de todas las posibles secuencias de
estados X = {x(1), x(2), x(3),.......,x(T)},
a
12 a
23
a a a a a 34 45 56 67 78
2 3 4 5 6 7
a
22 a
33
a
44
a
55 a
66
a
77
o2 o3 o4 o5 o6 o7 o8 o9 o10 o11
b (o ) 2 2 b (o ) 2 3 b (o ) 3 4 b (o ) 4 5 b (o ) 4 6 b (o ) 5 7 b (o ) 5 8 b (o ) 6
a
11
9 b (o ) 7 10 b (o ) 7 11
1
a
88
8
Modelo de Markov
o1
b (o ) 1 1
o12
b (o ) 8 12
19


=

=
T
t
t x t x t t x
X
j
a o b O P
1
) ( ) 1 ( ) (
todos
) ( ) / ( (9)
donde x(0)=1 corresponde al estado inicial del modelo de la Fig. 3. Una aproximacin para la verosimilitud definida
por la ecuacin 9, consiste en considerar solamente la secuencia de estados ms probable:

T
t
t x t x t t x
X
j
a o b Max O P
1
) ( ) 1 ( ) (
) ( ) / ( (10)
Si bien el clculo analtico de la ecuacin 10 no es posible, existen procedimientos recursivos que permiten calcular
esta expresin de manera eficiente. Uno de estos procedimientos corresponde al algoritmo de Viterbi, el cual
determina una secuencia de estados ptima y la respectiva verosimilitud. Por su parte, las matrices A y B son
determinadas con las elocuciones de entrenamiento del sistema utilizando el algoritmo de re-estimacin de Baum-
Welch (Deller et al., 1993).
La Probabilidad de Observacin (b
j
(o
t
)).
Los parmetros de los vectores de observacin (o
t
) asumen valores continuos y la probabilidad de observacin se
puede modelar con una funcin de densidad de probabilidad multivariable. Esta funcin de densidad de probabilidad
est constituida generalmente por una combinacin lineal de Gaussianas:
e
G
g
xg xg t xg t x
N x o c o b

=
=
1
,1 ) , ; ( ) ( (11)
donde N
e
corresponde al nmero de estados del HMM, G es el nmero de Gaussianas, c
x,g
es la ponderacin de las
Gaussianas, las cuales deben cumplir:
G g x c
x c
xg
G
g
xg

=

=
1 N ,1 0
N ,1 1
e
1
e
(12)
(.;,) Corresponde a una Gaussiana multivariable con vector de medias y una matriz de covarianza :

( ) ( )

=
t
T
t
o o
n
t
e o
1
2
1

) 2 (
1
) , ; ( (13)
El Algoritmo de Viterbi.
En la seccin 5.1 se mostr que la probabilidad conjunta de que el vector de observacin O sea generado por el
modelo
j
de la identidad clamada movindose a travs de la secuencia de estados X (o verosimilitud P(O,X/
j
) es
calculada como un producto entre las probabilidades de transicin y la probabilidad de observacin (ecuacin 9).
Dado que la secuencia de estados X no es conocida se debe calcular la secuencia ms probable, tal como se mostr
en la ecuacin 10. Para encontrar la secuencia ms probable, y por ende realizar la verificacin ms eficientemente,
se utiliza el algoritmo de decodificacin de Viterbi. En la figura 4 se muestra la grfica que representa al uso del
algoritmo de Viterbi operando sobre un modelo HMM de 8 estados con topologa izquierda derecha y sin salto de
estado.
20









Figura 4: Representacin grfica del algoritmo de Viterbi.
El algoritmo de Viterbi puede visualizarse como una solucin para encontrar el camino ptimo a travs de una
matriz que posee como eje vertical los estados del modelo HMM y como eje horizontal los frames en los que est
dividido la seal de voz. Cada punto negro mostrado en la figura representa el logaritmo de la probabilidad de
observar aquel frame en el instante correspondiente y cada arco entre dos puntos corresponde a la probabilidad de
transicin. Si X
)
= {x(1), x(2), x(3),.......,x(t)} es la secuencia ptima de estados obtenida para la secuencia de
vectores de observacin O = [o
1
, o
2
,......, o
t
], y adems se considera
y
(t) como la mxima probabilidad calculada a
lo largo de un camino, trazado hasta el tiempo t, y finalizada en el estado y, se tiene que:
[ ] ) / ... , ) ( , ),......., 2 ( ), 1 ( ( ) (
2 1 ) 1 ( c t t y
o o o y t x x x x P t = =

(14)
es mxima en funcin de las posibles secuencias de estados hasta t. Luego, la verosimilitud para el instante t+1 se
calcular usando los valores obtenidos de la ecuacin (1).
En el modelo GMM, la distribucin de las caractersticas de la seal de voz son modelas para cada
hablante por medio de la suma del producto de la mezcla de pesos por las componentes de densidad de
orden M de distribucin gaussiana de la seal de voz del hablante de la siguiente manera:
se cumpliendo
1
), ( ) ( =
=
M
i
i ib p p x x

1
1
=
=
M
i
i
p
(1)
donde x es un vector aleatorio de dimensin D (vector caracterstico), es el modelo del hablante, p
i
son la
mezcla de pesos, b
i
(x) son los componentes de densidad la cual esta formado por la media (
i
) y la matriz
de covarianza (
i
), para i = 1,2,3,.M., y cada componente de densidad es una funcin gaussiana de
variacin D dada de la siguiente forma:

) (
'
) (
2
1
exp
2 / 1
) 2 (
1
) (
1
2 /
i i i
D
i b x x x


(2)
Estado
1 2 3 5 6 7 8 9 10 4 Frame
a
a
ii
ij
j t
b (o )
21
El vector de la media
i
, matriz de covarianza
I
, y la mezcla de pesos p
i
de todas las componentes de
densidad determinan la Densidad de Mezclas Gaussiana total.
={ , ,p} es usado para representar el modelo del hablante. Para obtener un ptimo modelo
representativo para cada hablante es necesaria una buena estimacin de los parmetros de GMM, esto es,
llevar acabo un buen entrenamiento del modelo. Para realizar ste entrenamiento, un mtodo muy eficiente
es el de la estimacin de Mxima Probabilidad (Maximum-Likelihood (ML)). El cual se utiliza para
calcular la mxima probabilidad de GMM dado el vector caracterstico de la seal de voz con el que ser
entrenado, donde para un vector caracterstico de dimensin T, X=(x
1
,x
2
,,..x
T
) a ser entrenado, la
probabilidad de GMM puede ser escrita como:
=
=
T
t
p p
1
) ( ) ( x X
(3)
Sin embargo esta no es una funcin lineal de los parmetros del modelo ( ), por lo que no es posible
realizar la maximizacin directamente; por lo que se debe utilizar un algoritmo iterativo llamado Baum-
Welch. El algoritmo Baum-Welch es el algoritmo utilizado por HMM para estimar sus parmetros y tiene
el mismo principio bsico del algoritmo de Expectacin de Maximizacin (Expectation-Maximization
(EM)). La principal idea del algoritmo EM es como sigue: Se empieza con la inicializacin del modelo
( ), posteriormente, se calcula un nuevo modelo ( ) tal que ) ( )
_
( X P X P
r
. As, este nuevo modelo
(
r
), se convierte en el modelo inicial para la siguiente iteracin. Durante la estimacin del modelo GMM
los parmetros
i
,
i
y p
i
deben ser estimados. Las condiciones iniciales del modelo es obtenida usando el
algoritmo de Viterbi, para este fin tambin son usados los algoritmos de k-mean y binary split. Despus,
los parmetros de la media
i
, matriz de covarianza
2
i
, y la mezcla de pesos p
i
son calculados en
iteraciones consecutivas dadas por:
=
=
T
t
t i
i p
T
p
1
) , (
1
x
r

(4)

=
=
=
) , (
) , (
1
1

x
x x

r
r r
i p
i p
T
t
t t
T
t
i

(5)
2
1
1
2
) , (
) , (
i
t
T
t
t t
T
t
i
i p
i p

=
=
=
x
x x
r
r r

(6)
Donde la probabilidad a posteriori a la i-th clase es dada por:
22

=
=
) (
) (
) , (
1 t k k
M
k
t i i
t
x b p
x b p
x i p
(7)
Este proceso es repetido hasta llega a un umbral de convergencia establecido. Las variables que necesita
ser consideradas, el orden de las mezclas y los parmetros previos a la maximizacin de la probabilidad del
modelo GMM, pueden ser diferentes dependiendo del tipo de aplicacin.

Figure6. Modelo de Mezclas Gaussianas (Gaussian Mixture Model (GMM))





Programa para implementar el algoritmo Baum-Welch en Matlab.
clear all
for k=1:90
w(k)=cos(2*pi*k/90);
end

n=10;
A=zeros(n-1,n);
%B=[zeros(900,1)];
for i=1:2:n-1
23

for j=1:n

A(i,j)=1;

end

end

k=1;
for i=1:9
for j=1:10
c(k)=A(i,j);
k=k+1;
end
end
k=1;
i=1;
n=0;
kk=9;
a=1/25000;
b=1/25000;
h=1;

for l=1:2
for i=1:kk
j=1;

if (A(i,j)==0)

while (A(i,j)==0 & j<10)

24
if (h<=90)
B(k)=w(h);
h=h+20;
j=j+1;
k=k+1;
else
h=h-90;
B(k)=w(h);
h=h+20;
j=j+1;
k=k+1;
end
end

else

while(A(i,j)==1 & j<10)
if (h<=90)
B(k)=w(h);
h=h+9;
j=j+1;
k=k+1;
else
h=h-90;
B(k)=w(h);
h=h+9;
j=j+1;
k=k+1;
end
end

end
25
end
end

plot(B)
A=[21,4,7;6,9,5;3,4,1]
N=length(A);
suma=0;
for (i=1:N)
for (j=1:N)
suma=suma+A(i,j);
prom=suma/9;
end
end
A(2,2)=prom;
delta=1/20e6;
Xf=4e-6;
F=7e6;
T=4e-6;
X=(0:delta:Xf)
Y=cos(2*pi*(F/T)*X.^2);
A=length(X);
G=Y;
for i=1:A+30
G(A+i)=0;
end
for i=1:A
G(2*A+30+i)=Y(i);
end
yy=fliplr(Y);
w=conv(yy,G)
plot(w)

26


Programa con el cual se implementa el algoritmo de Baum-Welch en el DSP.
** File: baumwelch.c
**
Proposito: Estimar los parametros del algoritmo
**
#include <stdio.h>
#include "nrutil.h"

#include "hmm.h"

#include <math.h>
static char rcsid[] = "$Id: baumwelch.c,v 1.6 1999/04/24 15:58:43 kanungo Exp kanungo $";


#define DELTA 0.001
void BaumWelch(HMM *phmm, int T, int *O, double **alpha, double **beta,
double **gamma, int *pniter,
double *plogprobinit, double *plogprobfinal)
{
int i, j, k;
int t, l = 0;

double logprobf, logprobb, threshold;
double numeratorA, denominatorA;
double numeratorB, denominatorB;

double ***xi, *scale;
double delta, deltaprev, logprobprev;

deltaprev = 10e-70;
27

xi = AllocXi(T, phmm->N);
scale = dvector(1, T);

ForwardWithScale(phmm, T, O, alpha, scale, &logprobf);
*plogprobinit = logprobf; /* log P(O |intial model) */
BackwardWithScale(phmm, T, O, beta, scale, &logprobb);
ComputeGamma(phmm, T, alpha, beta, gamma);
ComputeXi(phmm, T, O, alpha, beta, xi);
logprobprev = logprobf;

do {

for (i = 1; i <= phmm->N; i++)
phmm->pi[i] = .001 + .999*gamma[1][i];

for (i = 1; i <= phmm->N; i++) {
denominatorA = 0.0;
for (t = 1; t <= T - 1; t++)
denominatorA += gamma[t][i];

for (j = 1; j <= phmm->N; j++) {
numeratorA = 0.0;
for (t = 1; t <= T - 1; t++)
numeratorA += xi[t][i][j];
phmm->A[i][j] = .001 +
.999*numeratorA/denominatorA;
}

denominatorB = denominatorA + gamma[T][i];
for (k = 1; k <= phmm->M; k++) {
numeratorB = 0.0;
28
for (t = 1; t <= T; t++) {
if (O[t] == k)
numeratorB += gamma[t][i];
}

phmm->B[i][k] = .001 +
.999*numeratorB/denominatorB;
}
}

ForwardWithScale(phmm, T, O, alpha, scale, &logprobf);
BackwardWithScale(phmm, T, O, beta, scale, &logprobb);
ComputeGamma(phmm, T, alpha, beta, gamma);
ComputeXi(phmm, T, O, alpha, beta, xi);
delta = logprobf - logprobprev;
logprobprev = logprobf;
l++;

}
while (delta > DELTA); /* if log probability does not
change much, exit */

*pniter = l;
*plogprobfinal = logprobf; /* log P(O|estimated model) */
FreeXi(xi, T, phmm->N);
free_dvector(scale, 1, T);
}

void ComputeGamma(HMM *phmm, int T, double **alpha, double **beta,
double **gamma)
{

29
int i, j;
int t;
double denominator;

for (t = 1; t <= T; t++) {
denominator = 0.0;
for (j = 1; j <= phmm->N; j++) {
gamma[t][j] = alpha[t][j]*beta[t][j];
denominator += gamma[t][j];
}

for (i = 1; i <= phmm->N; i++)
gamma[t][i] = gamma[t][i]/denominator;
}
}

void ComputeXi(HMM* phmm, int T, int *O, double **alpha, double **beta,
double ***xi)
{
int i, j;
int t;
double sum;

for (t = 1; t <= T - 1; t++) {
sum = 0.0;
for (i = 1; i <= phmm->N; i++)
for (j = 1; j <= phmm->N; j++) {
xi[t][i][j] = alpha[t][i]*beta[t+1][j]
*(phmm->A[i][j])
*(phmm->B[j][O[t+1]]);
sum += xi[t][i][j];
}
30

for (i = 1; i <= phmm->N; i++)
for (j = 1; j <= phmm->N; j++)
xi[t][i][j] /= sum;
}
}

double *** AllocXi(int T, int N)
{
int t;
double ***xi;

xi = (double ***) malloc(T*sizeof(double **));

xi --;

for (t = 1; t <= T; t++)
xi[t] = dmatrix(1, N, 1, N);
return xi;
}

void FreeXi(double *** xi, int T, int N)
{
int t;

for (t = 1; t <= T; t++)
free_dmatrix(xi[t], 1, N, 1, N);

xi ++;
free(xi);

}
31
Conclusiones.
La finalizacin del proyecto fue satisfactoria, ya que los resultados obtenidos fueron los esperados, ya que
el programa creado para utilizarse en Matlab realiza tantas iteraciones como sean requeridas, claro esta
que entre mayor sea el nmero de iteraciones el desempeo del programa se va haciendo ms lento, por lo
tanto el obtener un estado estacionario dentro del modelo de Markov, se pueden estimar los posibles
resultados, sin embargo se pierde exactitud en las estimaciones, por lo cual se tiene que desarrollar un
sistema alterno, el que tiene que determinar cual es el mejor nmero de iteraciones que se necesitan para
tener un modelo eficiente. Por lo que el programa hecho para Code composer se hace mas eficiente al
utilizar las opresiones de punto flotante que se realizan dentro del DSP, y a su parecido con las
instrucciones de Turbo C, adems de que su funcionalidad y desarrollo hacen que el ambiente poco
agradable en ocasiones de code composer se vuelva ms agradable, por otra parte se tuvo la oportunidad de
utilizar este programa en conjunto con otras aplicaciones para crear un sistema de reconocimiento de voz,
en el que su desempeo fue bastante aceptable, por lo que se obtiene un sistema optimo el cual gracias al
modelo de mezclas gaussianas tiene un grado de confiabilidad de 90% con un margen de error del 10%.
El modelo de mezclas gaussianas determina los parmetros de aproximacin con los coeficientes cepstrales
que se obtiene en una etapa anterior, por que Existen factores importantes que afectarn el desempeo de
los sistemas de MG, entre ellos se pueden nombrar: la cantidad de sesiones de entrenamiento que efecte
cada locutor; la duracin de las sesiones de verificacin; y la diferencia de condiciones entre las sesiones
de entrenamiento y verificacin. Por su parte, los parmetros seleccionados para establecer los modelos de
los clientes, as como el modelo general, deben ser robustos a las variaciones naturales del locutor. Entre
las caractersticas deseables de los parmetros se pueden nombrar: deben representar en gran medida las
caractersticas inter locutor y en pequea medida las caractersticas intra locutor; deben ser de fcil
extraccin; no deben variar bruscamente en el tiempo; se espera que sean independientes del estado de
salud y/o nimo del locutor; no deben ser conscientemente modificables; y deben ser robustos ante ruido
ambiental o canales de transmisin. La utilizacin de un conjunto adecuado de parmetros, escogido a
partir de estas caractersticas, elevar el desempeo de un sistema de MG. Los modelos ocultos de Markov
constituyen una representacin interesante de la seal de voz en un sistema de verificacin de texto
dependiente. La representacin de la probabilidad de salida con Gaussianas en conjunto con las
probabilidades de transicin descritas por una funcin de distribucin geomtrica y el algoritmo de de-
codificacin de Viterbi, generan un modelo de reconocimiento de patrones razonablemente representativo.
La normalizacin de la verosimilitud obtenida para un cliente mediante la verosimilitud obtenida del
modelo general muestra una reduccin significativa de la tasa de error de verificacin. La utilizacin de
32
esta tcnica ayuda tambin a reducir el problema asociado a variacin del lmite de decisin provocado por
las variaciones intra locutor.
La adicin de ruido ambiente o el ruido introducido por canales de transmisin sobre las seales de voz
utilizados por un sistema de MG, constituyen un problema de gran importancia y de difcil solucin. El
desempeo del sistema caer notablemente al operar en condiciones ruidosas y su diseo, tanto de su etapa
de entrenamiento como en el de test, debe considerar el ruido involucrado. Slo de esta forma el algoritmo
de MG ser robusto al operar en ambientes ruidosos y poco estables.





Bibliografa.
Atal, B. S. Automatic recognition of speaker from their voices. Proceedings of IEEE, 64 (4): 460-475, 1976.

Becerra Yoma, N., McInnes, F, R., Jack, M. A. Improving Performance of Spectral Subtraction in Speech
Recognition using a Model for Additive Noise. IEEE Transactions on speech and audio processing, Vol 6, No.6,
November, pp. 579-582, 1998.

Becerra Yoma, N.; Villar, M. Additive and Convolutional Noise Cancelling in Speaker Verification Using a
Stochastic Weighted Viterbi Algorithm. Session E36b Volume 4 pp. 2845 Eurospeech 2001 Scandinavia.

Becerra Yoma, N. & Villar, M. Speaker Verification in Noise Using a Stochastic Version of the Weighted Viterbi
Algorithm, Programado para publicacin en IEEE Transactions on speech and audio processing, Marzo 2002.

Berouti, M., Schwartz, R., Makhoul, J. Enhancement of speech corrupted by acoustic noise. Proceedings of the
IEEE Conference on Acoustics, speech and signal processing, (4): 208-211, 1979.

Claes, T., Xie, F., Van Compernolle, D. Spectral estimation and normalization for robust speech recognition.
Proceedings of the IEEE International conference on signal processing, 1997-2000, 1996.

Deller, J. R., Proakis, J. G., Hansen, J.H.L. Discrete time processing of speech signal. New York: MacMillan,
1993.

Doddington, G.R. Speaker Recognition Identifying people by their Voices, Proceedings of IEEE, 73(11): 1651-
1664, 1985.



33
Forsyth, M. Semi-continuous Hidden Markov Models for Automatic Speaker Verification PhD. Thesis, The
University of Edinburgh, United Kingdom, 1995.

Furui, S. Cepstral analysis technique for automatic speaker verification. IEEE Transactions on acoustic, speech
and signal processing, 29 (2): 254-277, 1981.

Furui, S. An overview of speaker recognition technology. In: ESCA Workshop on Automatic Speaker
Recognition, Identification and Verification, pp. 1-9, 1994.

Furui, S. Recent advances in speaker recognition, Pattern Recognition Letters, 18: 859-872, 1997.

Hermansky, H., Morgan, N., Bayya, A., Kohn, P. Compensation for the effect of the communication channel in
auditory-like analysis of speech (RASTA-PLP). Proceedings of the Eurospeech, pp 1367-1370, 1991.

Higgins, A., Bahler.,L., Porter, J. Speaker Verifiaction Using Randomized Phrase Prompting. Digital Signal
Processing, 1:89-106, 1991.

Lamel, L. An improved end-point detector for isolated word recognition. IEEE Transactions on acoustic, speech
and signal processing. 29 (4): 777-785, 1981.

LDC, http://www.ldc.upenn.edu, Yoho database, 1994

Matsui, T. & Furui, S. Concatenated phoneme models for text-variable speaker recognition. Proceedings of the
IEEE International conference on acoustic, speech and signal processings, Minneapolis, 2:391-394, 1993.

Openshaw, J.P., Sun, S.P., Mason, J.S. A comparison of composite features under degraded speech in speaker
recognition. Proceedings of the IEEE international conference on acoustics, speech and signal processing, 2:371-
374, 1993.

Sambur, M. R. Selection of acoustic features for speaker identification. IEEE Transactions on acoustics, speech
and signal processing, 23 (2): 176-182, 1975.

Savoji, M. H. A robust algorithm for accurate endpointing of speech signals. Speech Communication. 8: 45-60,
1989.

Soong, F. K. & Rosenberg, A. E. On the use of instantaneous and transitional spectral information in speaker
recognition. IEEE Transactions on acoustic speech and signal processing, 36(6): 871-879, 1988.

Vasegui, S. V. & Milner, B. P. Noise compensation methods for Hidden Markov Model speech recognition in
adverse environments. IEEE Transactions on speech and audio Processing, 5 (1): 11-21, 1997.

34

S-ar putea să vă placă și