Modelo Gaussiano de Mezclas.pdf

Embed Size (px)

Citation preview

  • 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 r1/r0, 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 qt.

    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[qt = Sj | qt-1 = Si, qt-2 = Sk, ] = P[qt = Sj | qt-1 = SI]

    Sin consideramos las MCs homogneas solas, las probabilidades de transicin del estado aij vienen dadas por

    aij = P[qt = Sj | qt-1 = SI], 1 i, j N

    Donde N = 5 en este caso. Las aijs son tales que aij 0 y j = 1, , N, aij = 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) = P1 P(H) = P2

    P(T) = 1-P1 P(T) = 1-P2

    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 = (S1,S2, ... ,SN) y un estado en un momento t como qt.

    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 = (v1, v2, ..., vM).

    Las probabilidades de transicin; n de estado aij.

    Las probabilidades del smbolo de observacin, B = {bi(k)}, donde bj(k) = P[vk @ t / qt = Sj], 1 j N, 1 k M.

    La distribucin de estados inicial, pi = {pipi = {pipi = {pipi = {pii}}}}, , , , donde pipipipii = P[qt = SI], 1 i N.

    Dados estos cinco elementos, se puede utilizar un HMM para generar una secuencia de observacin O = O1 O2 OT donde T es el nmero de observaciones en la secuencia. El procedimiento se detalla a continuacin:

    Se escoge un estado inicial qt = Si como pi.

    t = 1. Se escoge Ot = vk como en bi(k). Transicin a otro estado qt+1 = Sj como aij. 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 = (, , pi) = (, , pi) = (, , pi) = (, , pi). Resolucin de los 3 problemas bsicos Como se dijo anteriormente, hay 3 problemas fundamentales de la descripcin HMM:

    el problema de la evaluacin: dado = (, , pi), calcular eficientemente la probabilidad de la secuencia de observacin O = O1 O2 OT, 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 = q1 q2 qT 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*NT, requeridos para el clculo directo de la probabilidad de la secuencia de observacin a N2T. 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 Ot , una elocucin se representa entonces por una secuencia de vectores O:

    [ ]TooooO ,,........., 3,21= (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:

    ),/( jji OSSP = (6) donde Si corresponde al locutor i que pretende ingresar al sistema, Sj 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

    )()(),/(),/(

    OPSSPSSOP

    OSSP jijjijji==

    ==

    (7)

    Debido a que los trminos )( ji SSP = y )(OP se consideran constantes para todos los locutores, el trmino

    trascendental para encontrar ),/( jji OSSP = corresponde al valor de la verosimilitud definida por ),/( jji SSOP = .

    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 Ot. Esta funcin tambin se denomina probabilidad de salida o de emisin y se denota por bx(ot). 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 ax,y, donde y=x o y=x+1. Por definicin se tiene que ax,x + ax,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 ),,( pi BAj = donde A es la matriz de todas las transiciones de probabilidad, B es el conjunto de los parmetros de las probabilidades de observacin, y pi 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=[o1, o2, o3, ... o12]. 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

    )()()()()()()/,( 6444543443233222221211 obaobaobaobaobaobXOP 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)},

    a12 a23 a a a a a34 45 56 67 782 3 4 5 6 7

    a22 a33 a44 a55 a66 a77

    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

    a11

    9 b (o )7 10 b (o )7 11

    1

    a88

    8

    Modelo de Markov

    o1

    b (o )1 1

    o12

    b (o )8 12

  • 19

    =

    =

    T

    ttxtxttx

    Xj aobOP

    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

    ttxtxttx

    Xj aobMaxOP

    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 (bj(ot)). Los parmetros de los vectores de observacin (ot) 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

    gxgxgtxgtx Nxocob

    =

    =1

    ,1 ),;()( (11)

    donde Ne corresponde al nmero de estados del HMM, G es el nmero de Gaussianas, cx,g es la ponderacin de las Gaussianas, las cuales deben cumplir:

    Ggxc

    xc

    xg

    G

    gxg

    ==

    1N,1 0

    N,1 1

    e

    1e

    (12)

    (.;,) Corresponde a una Gaussiana multivariable con vector de medias y una matriz de covarianza :

    ( ) ( )

    pi

    = t

    Tt oo

    nt eo

    1

    21

    )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 = [o1, o2,......, ot], 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(()( 21)1( ctty oooytxxxxPt == (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:

    secumpliendo 1

    ),()( ==

    M

    iiibpp xx

    11 ==

    Mi

    ip (1)

    donde x es un vector aleatorio de dimensin D (vector caracterstico), es el modelo del hablante, pi son la mezcla de pesos, bi(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

    1exp2/1)2(

    1)( 12/ iiiD

    ib xxxpi

    (2)

    Estado

    1 2 3 5 6 7 8 9 104 Frame

    a

    a

    ii

    ij

    j tb (o )

  • 21

    El vector de la media i, matriz de covarianza I, y la mezcla de pesos pi 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=(x1,x2,,..xT) a ser entrenado, la probabilidad de GMM puede ser escrita como:

    ==

    T

    tpp

    1)()( xX (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 )()_

    ( XPXP 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 pi 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 2i , y la mezcla de pesos pi son calculados en

    iteraciones consecutivas dadas por:

    ==

    T

    tti ipT

    p1

    ),(1 xr (4)

    =

    =

    =

    ),(),(

    1

    1

    x

    xx

    r

    rr

    ip

    ipTt

    ttTt

    i (5)

    2

    1

    12

    ),(),(

    it

    Tt

    ttTt

    iip

    ip

    =

    =

    =

    x

    xx

    r

    rr

    (6)

    Donde la probabilidad a posteriori a la i-th clase es dada por:

  • 22

    =

    =)(

    )(),(1 tkk

    Mk

    tiit

    xbp

    xbpxip

    (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

  • 24

    if (h

  • 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 #include "nrutil.h"

    #include "hmm.h"

    #include 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 N; i++) phmm->pi[i] = .001 + .999*gamma[1][i];

    for (i = 1; i N; i++) { denominatorA = 0.0; for (t = 1; t

  • 28

    for (t = 1; t 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 B[j][O[t+1]]); sum += xi[t][i][j]; }

  • 30

    for (i = 1; i N; i++) for (j = 1; j 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

  • 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