estimaci on y seguimiento de los formantes de la voz...

30
Estimaci´ on y Seguimiento de los Formantes de la Voz Humana Tratamiento Estad´ ıstico de Se˜ nales Proyecto Final Pablo Iturralde Rodrigo Rosa 17 de julio de 2011

Upload: others

Post on 09-Jul-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

Estimacion y Seguimiento de los Formantes de laVoz Humana

Tratamiento Estadıstico de SenalesProyecto Final

Pablo IturraldeRodrigo Rosa

17 de julio de 2011

Page 2: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

Indice

1. Linear Predictive Coding (LPC ) 31.1. Estimacion de los parametros del proceso AR . . . . . . . . . . . . . 4

1.1.1. Autocorrelacion . . . . . . . . . . . . . . . . . . . . . . . . . . 51.1.2. Covarianza . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.1.3. Autocorrelacion Vs. Covarianza . . . . . . . . . . . . . . . . . 61.1.4. Simulaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2. Visual Vocal Tract Resonance (VVTR) 92.1. Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.1. Etapa I: Analisis de la senal de voz. . . . . . . . . . . . . . . . 102.1.2. Etapa II: Decision de Iniciar/Terminar trayectorias. . . . . . . 102.1.3. Etapa III: Datos Consistentes. . . . . . . . . . . . . . . . . . . 112.1.4. Etapa IV: Seguimiento. . . . . . . . . . . . . . . . . . . . . . . 12

2.2. Simulaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3. Aplicaciones: Reconocimiento y sıntesis de vocales 153.1. Reconocimiento de vocales mediante sus formantes . . . . . . . . . . 153.2. Sıntesis de vocales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4. Conclusiones 25

5. Trabajo a futuro 26

6. Bibliografıa 27

1

Page 3: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

Resumen

En este trabajo se presentan dos metodos (autocorrelacion y autocovarianza)para estimar las principales caracterısticas de la respuesta en frecuencia de un sonidosonoro, modelando el mismo como un proceso AR. A partir de dicha caracterizacionse extraen las frecuencias mas relevantes del sonido (formantes) en distintas ven-tanas de tiempo y se realiza un seguimiento de las mismas, reconociendo cuandoaparecen o desaparecen dichas vocales y mediante un filtro de Kalman se estudiancomo varıan las mismas durante el tiempo que se presentan.

Como aplicaciones de los resultados del mencionado analisis se presenta un sis-tema sencillo de reconocimiento basado en un mapa espacial de las formantes de lasdistintas vocales y una metrica sugerida para dicho espacio. Tambien se presentaun metodo para la sıntesis de las distintas vocales partiendo de una unica vocalmediante la aplicacion de filtros adecuados.

Page 4: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

Introduccion

Los sonidos producidos por la voz hablada pueden clasificarse en sonidos sonorosy sonidos sordos. Los sonidos sonoros tienen caracterıstica tonal, es decir, se lespuede asociar una altura tonal, y su forma de onda es cuasi-periodica. Ejemplos desonidos sonoros son las vocales y los sonidos nasales (’n’, ’m’). Los sonidos sordosson producidos al expeler el aire a traves de alguna restriccion en el aparato fonador,generando una turbulencia de aire. La forma de onda parece aleatoria. Ejemplos desonidos sordos son los fonemas correspondientes a las consonantes ’s’, ’t’, ’p’, etc.

Al realizar un analisis espectral de una senal correspondiente a un fonema, seobservan picos pronunciados en la envolvente del espectro, sobre todo en los sonidossordos. Esos picos se denominan formantes, y estan asociados a frecuencias de reso-nancia del aparato fonador (VTR1: Vocal Tract Resonance). En la figura 1 se observauna ventana de 2048 muestras a 44,1kHz de una senal de voz humana pronunciandola vocal casi abierta anterior no redondeada æ.

Figura 1: Senal de voz humana pronunciando æmuestreada a 44,1kHz, ventana de2048 muestras.

En la mayorıa de los casos, la frecuencia de los picos permite identificar al fonema.Los parametros de los formantes son empleados en sistemas de Reconocimiento devoz, problema que consiste en reconocer las palabras mediante en analisis de la senalde audio. Este problema, en su forma mas general, continua aun abierto.

1Las frecuencias de resonancia visibles en el espectrograma se llaman VVTR:Visible Vocal TractResonance

1

Page 5: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

Las senales de voz se pueden modelar de forma efectiva como un proceso autorre-gresivo variable. Los sonidos sordos son producidos al filtrar ruido blanco gaussianopor un filtro todo-polos y los sonidos sonoros se modelan como un tren de impulsosfiltrado con un filtro todo-polos. Los formantes son los polos del filtro. Es de in-teres entonces encontrar los polos del filtro, o equivalentemente, los coeficientes delproceso AR. La dificultad radica en que solo se conoce la salida del filtro y no la ex-citacion. La tecnica de LPC (Linear Predictive Coding) y sus variantes constituyenformas de encontrar los parametros del modelo. Esta tecnica es ampliamente usadaen telecomunicaciones para codificacion de voz a baja tasa de bits y en musica parala manipulacion de la senal de voz, logrando efectos como time-stretching o pitch-shifting.

En este trabajo se analizan dos metodos para estimar los parametros del modeloautorregresivo, y se implementa un seguimiento sencillo de formantes basado en unfiltro de Kalman.

Como aplicaciones se presentan:

Reconocimiento de vocales : Se analiza la grabacion de una vocal y se estimade que vocal se trata.

Sıntesis de vocales : Se muestra que existen caracterısticas generales de cadavocal, y que estas son independientes de la persona que la pronuncia. A partirde dichas caracterısticas se construyen filtros genericos para cada una de lasvocales, y luego a partir de la grabacion de una persona pronunciando unaunica vocal se sintetizan las otras cuatro, imitando el timbre de voz de lapersona en cuestion.

2

Page 6: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

1. Linear Predictive Coding (LPC )

En el analisis de series temporales es de particular interes la obtencion de unmodelo parametrico para el comportamiento de una cierta senal. Una vez estima-dos los parametros de dicho modelo, es posible utilizar el modelo para prediccion,control, compresion, etc.

En este trabajo se analiza el modelo de la figura 2, conocido como autorregresivo(AR) o todo-polos. Consiste en considerar que la serie temporal sn viene dada comocombinacion lineal de sus p valores previos y de una cierta entrada un:

sn = −p∑

k=1

aksn−k +Gun (1)

Aplicando la transformada Z a la ecuacion 1 se obtiene:

H(z) =S(z)

U(z)=

G

1 +∑p

k=1 akz−k (2)

Dada una senal sn, el problema consiste en determinar los coeficientes del pre-dictor lineal ak y la ganancia G. Se supone que un es completamente desconocida, ypor lo tanto la senal sn solamente se puede predecir de manera aproximada a partirde una combinacion lineal de sus p valores previos:

sn = −p∑

k=1

aksn−k (3)

El error, diferencia entre el valor actual sn y la prediccion sn, viene dado por:

en = sn − sn = sn +

p∑k=1

aksn−k (4)

Figura 2: (a) Modelo AR en frecuencia. (b) Modelo AR en el tiempo.

3

Page 7: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

1.1. Estimacion de los parametros del proceso AR

Los coeficientes ak se obtienen de la minimizacion del error cuadratico total, re-specto de cada uno de los parametros, mediante el metodo de mınimos cuadrados.El problema es analogo al predictor lineal de orden 1 de Wiener.

Para una senal determinıstica el error cuadratico total es:

E =∑n

e2n =∑n

(sn +

p∑k=1

aksn−k

)2

(5)

Y para un proceso aleatorio:

E = E(e2n)

= E

(sn +

p∑k=1

aksn−k

)2

(6)

Las senales de interes en este trabajo son senales de voz, y pueden ser consider-adas procesos localmente estacionarios. A una frecuencia de muestreo de 44,1kHz,localmente se traduce en ventanas de no mas de 2048 muestras (46,5ms).

Tanto para senales determinısticas como para procesos estacionarios, la mini-mizacion resulta en:

p∑k=1

ak∑n

sn−ksn−i = −∑n

snsn−i 1 ≤ i ≤ p (7)

Ep =∑n

s2n +

p∑k=1

ak∑n

snsn−k (8)

Por detalles sobre la deduccion de las ecuaciones 7 y 8 ver [1].

El rango que abarcan las sumatorias de la ecuacion 8 depende del metodo deestimacion utilizado. En este trabajo se analizan dos metodos:

Autocorrelacion, seccion 1.1.1.

Covarianza, seccion 1.1.2.

Para cualquiera de los metodos, los resultados son los mismos tanto si se trabajacon senales determinısticas como con procesos estacionarios. Por simplicidad, setrata solamente el caso determinıstico. Por mas informacion, referirse a [1].

4

Page 8: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

1.1.1. Autocorrelacion

El metodo de autocorrelacion asume que el error en la ecuacion 5 se minimiza so-bre un intervalo infinito −∞ < n <∞. Incorporando esta condicion a las ecuaciones7 y 8 resultan:

p∑k=1

akR(i− k) = −R(i) 1 ≤ i ≤ p (9)

Ep = R(0) +

p∑k=1

akR(k) (10)

donde R(i) es la funcion de autocorrelacion de la senal sn:

R(i) =∞∑

n=−∞

snsn+i (11)

Es facil ver que R(−i) = R(i), y por lo tanto la matriz constituida por loscoeficientes R(i − k), conocida como matriz de autocorrelacion, tiene estructuratoeplitz, lo cual garantiza la estabilidad del filtro solucion. Basandose en la estructurade la matriz de autocorrelacion se han desarrollado algoritmos muy eficientes pararesolver el problema de minimizacion planteado, tales como la recursion de Levinson-Durbin. Por detalles referirse a [1].

En la practica no se dispone de infinitas muestras de la senal sn, y no suele serde interes el analisis en un rango infinito. Un metodo para enfrentar este problemaconsiste en multiplicar la senal sn por una ventana wn, obteniendo una senal s′n quevale cero fuera del intervalo 0 ≤ n ≤ N − 1:

s′n =

{snwn 0 ≤ n ≤ N − 1

0 en otro caso(12)

La solucion que se obtiene trabajando con s′n es en realidad incorrecta, ya que elenventanado distorsiona la estimacion de los coeficientes (ver [2]) por suponer quela senal es nula fuera del intervalo de interes, lo cual no es, en general, cierto.

El problema planteado se puede resolver mediante Levinson-Durbin [4] como fuemencionado anteriormente, pero el enventanado introduce un sesgo. Se puede pro-bar (ver [3]) que la contribucion explıcita del enventanado al sesgo aparece como elproducto entre el coeficiente de autocorrelacion normalizado del proceso sn y el co-eficiente de autocorrelacion normalizado de la ventana wn. La autocorrelacion parauna ventana rectangular se caracteriza por su forma triangular: en la muestra mvale 1 − |m|/N . Si se dispone de suficientes muestras, el efecto del enventanado esdespreciable. Sin embargo, para que la hipotesis de estacionareidad sea valida enel contexto de senales de voz muestreadas a 44,1kHz no se pueden tomar ventanasde mas de 2048 muestras, lo que causa que el efecto del enventanado sea aprecia-ble. Cuando se trabaja con ventanas pequenas es posible reducir significativamenteel sesgo si se utilizan ventanas de Hanning o de Hamming en lugar de ventanasrectangulares. Esto tiene como consecuencia un incremento de la varianza del mod-elo estimado, debido a que el enventanado reduce la cantidad efectiva de muestrasdisponibles para realizar la estimacion. Por mas informacion referirse a [3].

5

Page 9: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

1.1.2. Covarianza

En el metodo de la covarianza, a diferencia del metodo de la autocorrelacion,se minimiza el error (ecuacion 5) en un intervalo finito, por ejemplo en 0 ≤ n ≤N − 1. Esto hace que sea innecesario enventanar los datos, lo cual permite obteneruna mayor resolucion en frecuencia. Agregando esta condicion, las ecuaciones 7 y 8resultan:

p∑k=1

akϕki = −ϕ0i 1 ≤ i ≤ p (13)

Ep = ϕ00 +

p∑k=1

akϕ0k (14)

donde ϕki es la covarianza de la senal sn en el intervalo dado:

ϕki =N−1∑n=0

sn−ksn−i (15)

Cabe destacar que es necesario conocer un total de p + N muestras de la senalsn, mientras que en el metodo de la autocorrelacion solo era necesario conocer N .

Los coeficientes ϕki forman una matriz de covarianza que es simetrica, al igualque la matriz de autocorrelacion, pero no es toeplitz, por lo que ya no se puedegarantizar la estabilidad del filtro resultante (ver [2]). A medida que N crece lasolucion se aproxima al metodo de la autocorrelacion, y por lo tanto se vuelve masestable. En la practica, la estabilidad del filtro resultante no suele ser un problemarelevante.

1.1.3. Autocorrelacion Vs. Covarianza

En terminos computacionales, el metodo de la autocorrelacion es menos costosoy mas rapido que el de la covarianza, ya que la minimizacion presentada se puederesolver eficientemente gracias a:

La estructura toeplitz de la matriz asociada a este metodo.

Los algoritmos mencionados en la seccion 1.1.1.

Un criterio para elegir el metodo a utilizar es el tamano maximo admisible parala ventana. Dicho maximo viene dado por la cantidad de muestras disponibles ypor el maximo intervalo en el cual la hipotesis de estacionariedad se mantiene. Sies viable tomar una ventana razonable, entonces el metodo de la autocorrelaciones probablemente la mejor opcion. Si no es posible tomar ventanas grandes, o si elcosto computacional no es de interes, entonces es razonable optar por el metodo dela covarianza.

6

Page 10: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

1.1.4. Simulaciones

A continuacion se compara, para una aproximacion de orden 32 de un intervalode gardiner l.wav (muestreada a 44,1kHz), la performance del metodo de la auto-correlacion con ventana rectangular y de Hanning con la del metodo de covarianza.

La simulacion de la figura 3 se hizo con una ventana de 1024 muestras. En dichafigura 3 se observa que para pocos datos el metodo de la covarianza es mas precisoque el de la autocorrelacion.

Figura 3: Espectro y estimaciones, ventana de 1024 muestras.

La simulacion de la figura 4 se hizo con una ventana de 4096 muestras. En dichafigura 4 se observa que para ventanas de muchos datos la diferencia entre el metodode la covarianza y el de la autocorrelacion no es significativa. El problema esta en queson pocos los intervalos de 4096 muestras en senales de voz muestreadas a 44,1kHzen los que la senal se puede considerar estacionaria. Si la hipotesis de estacionariedadno es valida, el modelo tampoco lo es.

7

Page 11: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

Figura 4: Espectro y estimaciones, ventana de 4096 muestras.

Experimentalmente se obtuvo un buen compromiso entre resultados y costo com-putacional trabajando con las siguientes configuraciones:

1. Metodo de la covarianza con ventanas de 512 muestras.

2. Metodo de la autocorrelacion con enventanado Hanning y ventanas de 1024muestras.

La performance se reduce al usar el metodo de la autocorrelacion, pero se re-cupera bastante utilizando una ventana mas suave que una rectangular, como porejemplo una ventan de Hanning, junto con un tamano de ventana mayor (segundaconfiguracion). Los resultados obtenidos al variar los parametros concuerdan con losesperados.

En el analisis que sigue se utilizo la primera configuracion.

8

Page 12: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

2. Visual Vocal Tract Resonance (VVTR)

Esta seccion se basa en [5]. Se implementa un algoritmo de seguimiento de losformantes de la voz basado en un filtro de Kalman.

La idea del algoritmo es separar una senal de voz en ventanas de manera tal quedentro de cada ventana la senal se puede considerar un proceso estacionario. A cadauno de estos segmentos se le aplica uno de los metodos (autocorrelacion, covarianza)mencionados en la seccion 1.1 para obtener los parametros del modelo AR. Los polosdel filtro estimado representan las frecuencias de resonancia. Solamente se consideranaquellos polos cuyo ancho de banda no es muy grande. Cuando una frecuencia deresonancia se repite se la sigue mediante un filtro de Kalman.

Figura 5: Algoritmo VVTR.

2.1. Algoritmo

El algoritmo original se basa en una maquina de 4 estados. En la figura 5 seobserva diagrama de bloques de dicha maquina. La maquina de estados implemen-tada utiliza un estado mas, como se observa en la figura 7. El funcionamiento de lamaquina de estados se explica mas adelante.

Figura 6: Etapa II VVTR. Las lıneas punteadas representan trayectorias que noreciben datos consistentes.

9

Page 13: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

2.1.1. Etapa I: Analisis de la senal de voz.

En esta etapa se generan candidatas a frecuencias de resonancia encontrando lospolos del filtro obtenido mediante alguno de los metodos de LPC descritos en laseccion 1.1. El denominador del filtro es:

A(z) = 1−p∑

k=1

akz−1 =

p/2∑k=1

(1− ckz−1)(1− ckz−1) (16)

Las frecuencias de resonancia se obtienen a partir de las raıces complejas A(z).La k-esima raız compleja es ck = |ck|ejwk . Siendo Ts el perıodo de muestreo, lasfrecuencias de resonancia y sus correspondientes anchos de banda se pueden escribircomo:

fk =wk

2πTsk-esima frecuencia candidata. (17)

Bk = − ln|ck|πTs

Ancho de banda estimado. (18)

La frecuencia de muestreo se elige acorde a la banda de frecuencias de interes. Enel algoritmo implementado se descartan las frecuencias por encima de cierto umbral(que se discutira mas adelante) por no ser de relevancia para el problema tratado.

El ancho de banda sirve como un umbral para determinar que polos realmenteson candidatos a frecuencias de resonancia. La frecuencias con ancho de banda muygrande no seran candidatas a frecuencias de resonancia, ya que representan zonasmas planas del espectro.

2.1.2. Etapa II: Decision de Iniciar/Terminar trayectorias.

En la version original del algoritmo de seguimiento se presentan tres posiblesdecisiones respecto a trayectorias:

1. Comenzar una nueva trayectoria.

2. Confirmar una trayectoria ya existente.

3. Terminar una trayectoria.

En nuestra implementacion (figura 7) agregamos una cuarta opcion, que es lade revivir una frecuencia que ya fue terminada. Esto fue hecho en virtud de queciertas frecuencias desaparecıan por unas pocas ventanas y eran terminadas, peroluego continuaban, y resultaba mas sencillo para el procesamiento lograr identificarque se trataba de la misma frecuencia que fue terminada anteriormente y no unadistinta. Esta nueva opcion no afecta de gran manera la maquina de estados y essustituible por un adecuado post-tratamiento de las distintas trayectorias obtenidasen esta etapa.

Cualquier frecuencia candidata fc que surga del analisis LPC y que no caiga muycerca de una frecuencia de resonancia ya existente es considerada como una posibletrayectoria, asignandole el estado 1. En la siguiente ventana el estado de fc pasa a

10

Page 14: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

Figura 7: Maquina de estados implementada.

ser 0 o 2. El cambio de estado se hace en funcion de las frecuencias candidatas dela siguiente ventana: Si en la siguiente ventana aparece una frecuencia candidatacercana a fc entonces fc pasa a estado 2, en caso contrario pasa a estado 0. Losestados 0 y 2 son estados de espera, los tiempos de espera son parametros de diseno.

En el estado 2 se inician filtros de Kalman para el seguimiento de las frecuenciascandidatas. Las trayectorias que no reciban datos nuevos (frecuencias candidatascercanas a ellas) pasan al estado 0, donde esperan un cierto tiempo la llegada denuevos datos. En caso de no recibir datos pasan a estado −1 y son eliminadas, y encaso de recibir datos pasan nuevamente al estado 2.

Las trayectorias candidatas en estado 2 pasan estado 100 y son consideradastrayectorias (VVTR) cuando reciben una determinada cantidad de datos consis-tentes. El estado 100 es el estado de seguimiento, todas las trayectorias en estado100 se siguen mediante el algoritmo de seguimiento, mientras reciban datos nuevos.En caso de no recibir datos nuevos durante un cierto intervalo de tiempo el estadode la misma pasa a ser −100 y la trayectoria se termina.

Nuestra version de la maquina de estados admite que trayectorias que se en-cuentran en el estado −100 puedan volver a recibir datos, y posteriormente admiterevivir la trayectoria en cuestion, pasandola por un proceso similar al de la deteccionoriginal.

2.1.3. Etapa III: Datos Consistentes.

En esta etapa se determinan las bandas dentro de las cuales frecuencias can-didatas se consideran consistentes con frecuencias ya existentes. Si una frecuenciacandidata cae dentro de la banda correspondiente a una frecuencia ya existente en-tonces se considera que la nueva frecuencia es consistente con la ya existente.

Originalmente se utilizo una banda constante para realizar el chequeo de con-sistencia, consisitiendo el procedimiento en ver si las nuevas frecuencias candidatascaıan dentro de una banda de tamano predeterminado alrededor de las frecuenciasya existentes. Sin embargo este sencillo procedimiento resulta insuficiente para re-solver conflictos que surgen cuando una frecuencia candidata cae dentro de mas de

11

Page 15: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

una banda, o el caso opuesto, en que una frecuencia existente tiene multiples can-didatos para su continuacion. Fue necesario entonces implementar un algoritmo deoptimizacion para la asignacion entre el vector de candidatos y el vector de frecuen-cias existentes. Como funcion de costo se utilizo una distancia de norma 1/2.

En el trabajo referenciado en [5] se sugiere el uso tambien de bandas variablescuyo ancho depende de la varianza de las medidas asociadas a una trayectoria hastael momento. Aunque intentamos realizar una implementacion del codigo utilizandodicho mecanismo, finalmente optamos por dejarlo fuera de la version final del codigoya que no obtuvimos buenos resultados iniciales con el mismo, aunque no descarta-mos que su utilizacion pueda mejorar el seguimiento de las frecuencias en los casosmas ruidosos o atenuados.

2.1.4. Etapa IV: Seguimiento.

En la etapa de seguimiento se utiliza un filtro de Kalman para seguir las trayec-torias de las VVTR.

El modelo en variables de estado que rige el filtro es:

xk = Axk−1 +Gwk−1yk = Hxk + vk

(19)

Las trayectorias de las frecuencias de resonancia de modelan como funcioneslineales en intervalos de tiempo reducidos, y las variaciones no lineales se modelanmediante el ruido del sistema dinamico dado por la ecuacion 19. El modelo a utilizarresulta:

A =

[1 T0 1

]G =

[T 2

2

T

]H =

[1 0

](20)

El parametro T es constante, corresponde al perıodo de muestreo. El vector deestados se define como:

xk =

[Fk

Fk

](21)

donde Fk es la frecuencia de resonancia a seguir, y Fk es su derivada respectodel tiempo. Por ultimo, yk son los candidatos a frecuencias de resonancia, y wk y vkruidos de proceso y de medida respectivamente, los cuales se asumen Gaussianos eindependientes.

12

Page 16: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

2.2. Simulaciones

En la figura 8 se observa el resultado de aplicar el algoritmo a una senal de voz.Los candidatos a frecuencias de resonancia se representan con cırculos rellenos, y lastrayectorias que resultan del seguimiento se representan con los trazos continuos.

Figura 8: Algoritmo aplicado a una senal de voz humana (gardiner l.wav)

En la figura 9 se observa el resultado de aplicar el algoritmo a una grabacion de lafrase Aca veo un hongo amaracalala. Es posible diferenciar la parte del espectrogramaque corresponde a cada palabra analizando las zonas donde el espectro no es nulo.Se observa la forma caracterıstica que adopta el espectro en presencia de la vocal a.En el intervalo correspondiente a veo un hongo, claramente no se observa la formacaracterıstica de la vocal a. Un aprendizaje basado en estas formas caracterısticaspermitirıa implementar un sistema de reconocimiento de vocales.

13

Page 17: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

Figura 9: Algoritmo aplicado a una senal de voz humana (hongo.wav)

14

Page 18: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

3. Aplicaciones: Reconocimiento y sıntesis de vo-

cales

3.1. Reconocimiento de vocales mediante sus formantes

A partir de los resultados de la parte anterior, decidimos implementar un pro-grama sencillo que tome una muestra de audio en la que se escuche una vocal, yproceder a extraer las frecuencias mas relevantes de la misma (tambien conocidascomo frecuencias formantes).

Las vocales, como todos los sonidos sonoros, presentan un espectro que dependeesencialmente de dos elementos: el primero es el espectro de la senal de excitacion,dado por las cuerdas vocales del individuo que produce el sonido. El segundo es larespuesta en frecuencia del tracto vocal, que en principio deberıa ser caracterısticodel sonido emitido e independiente del individuo que produce el sonido. Son estasultimas las que son identificadas mediante el sistema de VVTR.

Figura 10: Formantes principales de las vocales de 6 locutores diferentes. Hasta 5formantes por vocal y por locutor.

Para comenzar fue necesario identificar que caracterısticas extraıdas medianteVVTR eran relevantes y utiles en el contexto de la aplicacion. Las principalesincognitas que se nos presentaban eran: ¿Cuantas frecuencias son necesarias paradescribir adecuadamente cada vocal? ¿En que zona del espectro se encuentran las

15

Page 19: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

frecuencias mas relevantes? Para contestar estas preguntas generamos un bancode muestras con varias muestras de distintos individuos pronunciando las distintasvocales. Es de destacar que los sonidos utilizados en estas prueba son bastante ar-tificiales, en el sentido de que son sonidos puros con duracion de varios segundos.En la grafica 10 se observan las distintas frecuencias detectadas para cada vocaly para cada uno de los individuos generadores. Como parametros para el analisis,utilizamos filtros de orden 32, ventanas de 512 muestras, y limitamos el ancho debanda de los polos aceptables a 450Hz.

Ya desde el primer momento notamos que el espectro por encima de 5000Hz seencontraba demasiado atenuado como para ser relevante a los efectos de la comuni-cacion verbal (en particular de la caracterizacion de vocales) por lo que la grafica sepresenta solo en el intervalo 0 − 5000Hz. Se puede apreciar en la misma que cadavocal tiene frecuencias caracterısticas y que alcanzarıa con unas pocas por vocalpara lograr distinguir una de otra. Asimismo es notorio como la dispersion de lasformantes aumenta con la frecuencia. En el rango mas alto las formantes difieren degran manera entre los distintos locutores, incluso no apareciendo formantes comunesen muchos casos. Se presenta entonces la figura 11, donde figuran unicamente 2 for-mantes hasta 2500Hz. De acuerdo a [6] y [7], alcanzarıa con tan solo 2 frecuenciasformantes para identificar completamente cada vocal. En la tabla 1 se presentan lasfrecuencias formantes de las distintas vocales de acuerdo a los autores de [6] y a losde [7].

Cuadro 1: Formantes de las distintas vocales segun [6] y [7].

Formantes Cohen et al. Meinsma et al.F1 F2 F1 F2

A 790 1250 730 1350E 430 2300 400 2600I 300 2500 300 3000O 500 820 410 700U 320 750 300 700

Es de notar que en la tabla algunas vocales presentan frecuencias de relativo altovalor (mayor a 2kHz). En nuestra grafica se puede percibir que si bien estas fre-cuencias estan presentes, las mismas presentan una gran varianza entre los diferentesindividuos, e incluso no estan presentes para todos los locutores. En los trabajos cita-dos este fenomeno se presenta tambien, existiendo una diferencia apreciable entrelos valores registrados para dichas formantes 2. Esto causa que las mismas no seanmuy utiles a la hora de la identificacion, y por lo tanto decidimos implementar unasuerte de tratamiento especial para lidiar con estos casos.

Decidimos entonces utilizar como identificadores hasta 2 frecuencias por vocal,en el rango de 0− 2500Hz. El fingerprint (las formantes dominantes) de cada vocal

2Las vocales presentadas en los trabajos citados son 12, basados en la pronunciacion de lasdistintas 5 vocales del alfabeto latino en diferentes contextos del holandes hablado. Elegimos deentre las 12 las 5 cuya pronunciacion se asemeja mas a las vocales utilizadas en el espanol hablado,como se presenta en [8].

16

Page 20: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

Figura 11: Formantes principales de las vocales de 7 locutores diferentes, en el planode las dos formantes principales.

se presenta en la tabla 2.

Cuadro 2: Fingerprints utilizados.

Formantes F1 F2A 730 1300E 440 2000I 270 2300O 460 800U 280 750

Para identificar las vocales, utilizamos dichos fingerprints y una funcion de com-paracion que responde a una metrica adecuada. Lo destacable de esta metrica es queno es simetrica respecto de las formantes de una vocal ya que, como se mostro ante-riormente, algunas formantes son mas informativas que otras a la hora de reconoceruna vocal. Interpretadas como coordenadas en un plano, la metrica es esencialmenteuna norma 1/2 ponderada:

d = (wx

√x1 − x2 + wy

√y1 − y2)2 (22)

La metrica no responde exactamente a una norma 1/2 ponderada por dos mo-tivos. El primero es que la ponderacion depende de la vocal contra la que se quieracomparar, siendo los pesos inversamente proporcionales a la varianza de la formante

17

Page 21: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

correspondiente en el grupo de entrenamiento 3. El segundo es que la comparacionno se hace realmente componente a componente en forma ordenada, sino que se eligela manera de ordenar las componentes que arroje una distancia mınima (esto cor-responderıa a tomar como distancia el mınimo de los resultados que surgen cuandose realiza la cuenta anterior con las parejas (F1, F2) y (F2, F1)).

La figura 12 presenta el plano de formantes particionado de acuerdo a la metricapresentada anteriormente. Cabe notar al mirar dicho plano que las zonas cercanasa los ejes no tienen ningun significado, ya que el algoritmo no permite devolverfrecuencias muy bajas. Sin embargo los ejes mismos sı son relevantes, ya que en elcaso de que el algoritmo encuentre una unica formante, el sonido correspondiente serepresentara como un punto sobre los ejes en el plano de las formantes.

Figura 12: Plano de formantes particionado de acuerdo a la metrica de comparacion.

De esta manera, fue posible identificar el 100 % de las vocales de entrenamientoen forma correcta. Adicionalmente utilizamos un conjunto de vocales de prueba paravalidar el procedimiento, y fue posible identificiar correctamente hasta el 86 % delas vocales. Cabe destacar que todas las vocales fueron generadas especialmente, suduracion es superior a lo normal.

Al aplicar el algoritmo a una grabacion de la palabra hola (hola.wav) pronuncia-da lentamente el algoritmo fue capaz de reconocer tanto la o como la a. Al intentarcon una version rapida de la misma palabra los resultados no fueron buenos. Elproblema principal esta en la segmentacion del audio. El algoritmo implementadoutiliza la potencia de la senal y los polos candidatos, generados en la primera eta-pa del reconocimiento, para segmentar el audio. No funciona correctamente para

3De esta manera se logra restarle importancia, por ejemplo, a la segunda formante de las letrasE e I, que como mostramos presentan una gran varianza, a contrario de su primera formante.

18

Page 22: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

grabaciones de personas hablando rapido. Pese a esto, ajustando el orden del filtrofue posible obtener mejores resultados, llegando incluso a reconocer correctamentelas vocales. Reducir el orden del filtro implica perder precision, polos que antes erandetectados como 2 polos distintos ahora pueden ser considerados un solo polo con unancho de banda mayor. El orden del filtro deberıa ser considerado por el algoritmode segmentacion. Serıa deseable obtener un sistema mas robusto.

En las figuras 13, 14a y 14b se observan los resultados de analizar la grabacionde la palabra hola (hola.wav) pronunciada lentamente. Se uso el metodo de la co-varianza de orden 32, con una ventana de 512 muestras.

En las figuras 15, 16a y 16b se observa la version rapida de la palabra hola (ho-la fast.wav). Para este caso se utilizo el metodo de la covarianza de orden 24, conuna ventana de 512 muestras.

Figura 13: Analisis y segmentacion de hola.wav previo al VVTR.

.

19

Page 23: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

(a) Vocal a (b) Vocal o

Figura 14: Vocales detectadas por el algoritmo en hola.wav.

Figura 15: Analisis y segmentacion de hola fast.wav previo al VVTR.

20

Page 24: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

(a) Vocal a (b) Vocal o

Figura 16: Vocales detectadas por el algoritmo en hola fast.wav.

3.2. Sıntesis de vocales

Los resultados del Linear Predictor Coding mostraron que es posible, en ciertamedida, reconocer la envolvente en frecuencia de los sonidos sonoros. Surge natu-ralmente entonces la pregunta de si es posible lograr el proceso inverso: conocidala envolvente caracterıstica de algun sonido, sintetizarlo artificialmente, modulandoadecuadamente una senal de voz.

De acuerdo al modelo que tenemos para la generacion de sonidos sonoros, losmismos son esencialmente el filtrado de una senal periodica (que podrıamos asociara el timbre de voz caracterıstico de cada persona) con un filtro adecuado, que gen-eralmente es proporcionado por el tracto vocal. En esta aplicacion nos propusimosrealizar el siguiente procedimiento:

Mediante Linear Predictive Coding, obtener el filtro que da la envolvente enfrecuencia caracterıstica de cada vocal.

Realizar el filtrado inverso para obtener una estimacion de la senal periodicaoriginal (timbre).

Pasar la senal obtenida a traves de un filtro de respuesta similar al de la vocalque se desea sintetizar.

La salida del filtro de la ultima etapa sera similar a la vocal deseada.

En la figura 17 se presenta la grafica del audio de una vocal en el tiempo, y laversion de la vocal filtrada inversamente para obtener el timbre original del locutor.

Se puede ver de la grafica del audio filtrado inversamente que la senal se asemejaa un audio periodico de mas alta frecuencia, tal como esperabamos (la informacionde las vocales esta contenida en frecuencias relativamente bajas). Sin embargo, ex-isten algunas fluctuaciones que lo separan de la senal ideal (que deberıa tener unaamplitud constante). Mas aun, si escuchamos el audio del timbre, notaremos que

21

Page 25: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

Figura 17: Segmento de una pronunciacion de A, y el timbre obtenido mediante elfiltrado inverso.

alguna informacion del sonido pronunciado sigue allı y es perceptible. Esto puedeverse tambien si calculamos la FFT de dicho timbre, que se presenta en la figura18. Particularmente, alrededor de 1300Hz existe un pico en la senal original (cor-respondiente a la formante mayor de la vocal pronunciada) que continua existiendode manera pronunciada en la version filtrada inversamente.

Figura 18: FFT de una pronunciacion de A, y el timbre obtenido mediante el filtradoinverso.

A pesar de que cierta informacion del sonido original permanece en lo que deberıaser el timbre de voz, procedimos a filtrar el mismo con el filtro caracterıstico de cadavocal para obtener vocales artificiales 4. Es difıcil mostrar en esta documentacion

4Para obtener un filtro caracterıstico de cada vocal, se promediaron los filtros obtenidos para

22

Page 26: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

los resultados obtenidos, ya que no hay manera de describir lo que se logra escucharexactamente.

Como acercamiento a esto presentamos a continuacion la respuesta en frecuenciacaracterıstica de las vocales tales como las utilizamos nosotros y de las vocalessintetizadas mediante el procedimiento anterior, en las figuras 19 y 20. Lo que seaprecia en las graficas esta relacionado con lo que logra escucharse en el audiosintetico: para algunas vocales sinteticas el audio se percibe claramente como lavocal que se deseaba sintetizar, mientras que en otros casos la misma se mezcla conla vocal que se utilizo originalmente para generar el timbre de voz. Cuales vocaleslogran escucharse bien y cuales se mezclan con el sonido original depende fuertementede la capacidad de separar la informacion de la vocal del timbre del locutor en elarchivo original. Idealmente el timbre obtenido deberıa tener una caracterıstica maso menos plana en el intervalo de frecuencias de interes.

Figura 19: Espectro caracterıstico obtenido para las vocales reales

los distintos locutores, obteniendo ası un filtro patron para cada vocal.

23

Page 27: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

Figura 20: Espectro obtenido para las vocales sintetizadas

24

Page 28: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

4. Conclusiones

Mediante un algoritmo sencillo, se pudo observar las caracterısticas de la densi-dad espectral de potencia de las formantes de la voz humana, y lograr un seguimientode la evolucion de las mismas.

Extrayendo hasta dos formantes de relativamente baja frecuencia, es posiblegenerar identificadores que caracterizan a cada vocal. A partir de esto se pudo con-struir un sistema que identifica vocales en grabaciones de audio donde estas sepresentan como el unico sonido.

Conocido el espectro que caracteriza a los sonidos sonoros (utilizando LinearPredictive Coding), es posible sintetizar artificialmente muestras de audio que sue-nan como los distintos sonidos sonoros, partiendo de uno solo de ellos. El audiosintetizado presenta artefactos que lo hacen parecer irreal, pero de todas manerasse logra percibir el sonido deseado.

25

Page 29: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

5. Trabajo a futuro

El trabajo presentado deja abiertas muchas opciones en cuanto al tratamientode audio, a continuacion se mencionan algunas posibilidades, en un orden crecientedel trabajo que creemos necesario para lograr los mismos:

Mejorar el sistema de extraccion de timbre de los locutores, para lograr de-sacoplar completamente el mismo del sonido (vocal) pronunciado original-mente.

Mejorar el sistema de identificacion de vocales, hallando la manera optima departicionar el plano a partir de un conjunto de vocales de entrenamiento.

Implementar un sistema de segmentacion mas robusto, que utilice informaciondel analisis mediante el algoritmo de VVTR para lograr su cometido.

Dado un segmento de audio hablado, utilizar la segmentacion para identificardistintos sonidos y, mediante la deteccion de su espectro carecterıstico, decon-volucionar y tratar de identificar si se trata de un sonido sonoro o de un sonidosordo.

Extender el sistema de deteccion a otros sonidos sonoros: sonidos nasales yvocales no presentes en el idioma espanol.

Extender el sistema de sıntesis a otros sonidos sonoros.

Extender los sistemas de deteccion y sıntesis a sonidos sordos.

Si es posible extraer adecuadamente el timbre de voz caracterıstico de cadalocutor, hacer reconocimiento de los distintos locutores mediante el mismo.

26

Page 30: Estimaci on y Seguimiento de los Formantes de la Voz Humanaiie.fing.edu.uy/ense/asign/tes/monografias/2010/iturralde-rosa/estimacion_y...Figura 1: Senal~ de voz humana pronunciando

6. Bibliografıa

Referencias

[1] J. Makhoul. Linear prediction: A tutorial review. Proceedings of the IEEE,VOL. 63, NO. 4, APRIL 1975.

[2] Anthony Zaknich. Principles of adaptive filters and self-learning systems. ISBN-10:1852339845.

[3] Jan S. Erkelens and Piet M. T. Broersen. Bias Propagation in the Autocorre-lation Method of Linear Prediction. IEEE Transactions on Speech and AudioProcessing, VOL. 5, NO. 2, MARCH 1997.

[4] Levinson recursion, Wikipedia.

[5] I. Yocel 0zbek, Mobeccel Demirekler. Tracking of Visible Vocal Tract Reso-nances (VVTR) Based on Kalman Filtering.

[6] W. Klein, R. Plomp, and L.C. Pols, ”Vowel spectra, vowel spaces, and vowelidentification.”The Journal of the Acoustical Society of America, vol. 48, 1970,pp. 999-1009.

[7] A. Cohen, C.J. Ebeling, K. Fokkema, A.G.F. van Holk. Fonologie van het Ned-erlands en het Fries. Martinus Nijhoff, s-Gravenhage, 1962. 2nd Ed.

[8] IPA vowels chart with audio, Wikipedia.

27