Você está na página 1de 66

Tema 3. Anlisis de la voz.

Parametrizac

3.1.- Anlisis localizado de la voz

3.2.- Anlisis temporal localizado

3.3.- Anlisis localizado en frecuencia

3.4.- Anlisis de prediccin lineal

3.5.- Anlisis espectral localizado


3.1.- Anlisis localizado de la voz

La seal de voz solo presenta caractersticas


pseudo-estacionarias a corto plazo

Ser necesario procesar la seal de voz en


segmentos de corta duracin: Anlisis
Localizado

El mecanismo que nos permite realizar este


anlisis es el enventanado de la seal
3.1.1.- Enventanado de la seal

s[n]: Seal de voz w[n]


w[n]: Ventana de anlisis
N: Tamao de la ventana
M: Desplazamiento
N
w[M-n] w[2M-n] w[3M-n]
1

0.8

0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8 S[n]
-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

M
3.1.1.- Enventanado de la seal

Perfiles: Rectangular, Hanning, Hamming,


1
Blackman1
0.8
0.8
0.6
0.6

0.4 0.4

0.2 0.2

0 0
0 10 20 30 0 10 20 30
Rectangular Hanning
1 1

0.8

0.6
0.5
0.4

0.2

0 0
0 10 20 30 0 10 20 30
Hamming Blackman
3.1.1.- Enventanado de la seal

Espectros de los perfiles:


40 40

20 20

0 0
dB

dB
-20 -20

-40 -40

0 0.5 1 0 0.2 0.4 0.6 0.8


Lbulo principal Rectangular Hanning
40 40

20 20

0 0
dB

dB

-20 -20

-40 -40
Lbulos laterales 0 0.5 1 0 0.2 0.4 0.6 0.8
Hamming Blackman
3.1.1.- Enventanado de la seal

Problemas del enventanado:


Produce derrame espectral (leakage).
El lbulo principal dificulta la identificacin de
frecuencias cercanas entre s.
Los lbulos laterales introducen seal en
frecuencias donde no debera haber nada.

Se debe llegar a un compromiso entre el ancho del


lbulo principal y la minimizacin de los laterales.
Generalmente se prefiere minimizar los lbulos
laterales.

Perfiles tpicos para voz: Hanning/Hamming y


3.2.- Anlisis temporal localizado

Parmetros tpicos que se suelen calcular:

Energa localizada (o en su defecto la


magnitud)

Tasa de cruces por cero

Autocorrelacin

Estimacin de la frecuencia fundamental F0


(Pitch)
3.2.1.- Energa localizada

E[m]: Energa localizada


N 1
E[m] x[ n ]w[ n m ] 2
x[ n ] 2
w[ n m ] 2

n n 0
Energa localizada de la palabra Hipotenusa: Forma de onda
1
A m p l it u d

0.5

-0.5

-1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

0.4
i p o t e n u s a
Muestras
Energa
4
x 10
A m p li t u d

0.3

0.2

0.1

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Muestras 4
x 10
3.2.1.- Energa localizada

E[m]: Energa localizada


N 1
E[m] x[n]2 w[n m]2
n 0
Esta ecuacin se puede interpretar como:
N 1
E[m] x[n] h[n]
2
Siendo:h[ n] w[ n m]
2

n 0
Esto a su vez se puede interpretar como:

x[n] x[n]2 h[n] E[m]


3.2.2.- Magnitud

M[m]: Magnitud
N 1
M [m] x[n] w[n m]
n 0

Es un parmetro alternativo a la energa


Menor complejidad
Menor margen dinmico
Muestras elevadas pueden desvirtuar el
valor de la energa al ser elevadas al
cuadrado
3.2.2.- Magnitud

Ejemplo del clculo de la magnitud para la


palabra Hipotenusa
Forma de onda
1

0.5
A m p litu d

-0.5

-1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
i p o t e n u s a Muestras
Magnitud
4
x 10
0.5

0.4
A m p litu d

0.3

0.2

0.1

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Muestras 4
x 10
3.2.3.- Tasa de cruces por cero

Tcc[m]: Tasa de cruces por cero


1 1
Tcc [m]
N
n 2 sgn( x[n]) sgn( x[n 1]) w(m n)

Donde sgn() es la funcin signo definida por:

1, x 0
sgn( x)
1, x 0
3.2.3.- Tasa de cruces por cero

Indica la relacin entre la energa a baja y alta


frecuencia.
Las seales sonoras dan un tasa menor que las
seales sordas.
Tasa de cruces por cero de Hipotenusa
Forma de onda
1
A m p li t u d

0.5

-0.5

-1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
h i p o te n u
Muestras
Tcc
s a 4
x 10
0.4
A m p lit u d

0.3

0.2

0.1

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Muestras 4
3.2.4.- Aplicaciones E, M y Tcc

Entre las principales aplicaciones se encuentran:


Clasificacin de sonidos
Sonoros/Sordos, etc

Detector de actividad (VAD: Voice Activity


Detector)
Uso en codificacin:
Ej. GSM: para reducir interferencias y
ahorrar batera.
Uso en reconocimiento:
Mayor eficiencia y evitar
reconocimientos errneos.
3.2.4.- Aplicaciones E, M y Tcc

Detector de actividad:

E[m] M No Tcc[m]
> No Ruido
>
Umbral? Umbral?

Si Si

Voz
3.2.5.- Autocorrelacin

Rm[k]: Autocorrelacin
N 1
Rm [ k ] w[ m n] x[ n] w[ m ( n k )]x[ n k ]
n 0

k 0, 1, 2, ...p.

Propiedades:
Es una funcin par
Rm [ k ] Rm [0]
Tiene un mximo en k=0, i.e.:
Rm [0] Energa
3.2.5.- Autocorrelacin

Para desplazamientos de k igual al periodo de la


seal la autocorrelacin tiene mximos locales
La autocorrelacin de una seal peridica es
peridica20 Segmento sonoro
Autocorrelacin

10

-10

-20
0 20 40 60 80 100 120 140 160 180
Muestras
Segmento sordo
10
Autocorrelacin

-10
0 20 40 60 80 100 120 140 160 180
Muestras
3.2.5.- Autocorrelacin

En una seal de voz:


Los mximos locales de la autocorrelacin
corresponden con el pitch (frecuencia
fundamental, f0) y los formantes del tracto
vocal.
3.2.6.- Estimacin del Pitch

A partir de la correlacin
Es el mayor mximo local de la autocorrelacin
(excluyendo el mximo global)

Segmento
Sonoro

Segmento
Sordo
3.2.6.- Estimacin del Pitch

Problema:
No siempre el mayor mximo local
corresponde con el pitch

Para facilitar su localizacin emplearemos una


funcin de recorte

Esta funcin eliminar toda la seal de entrada


que no sobrepase un determinado umbral
3.2.6.- Estimacin del Pitch

Funcin de recorte:
3.2.6.- Estimacin del Pitch

Autocorrelacin de la seal recortada


3.2.6.- Estimacin del Pitch

AMDF, Average Magnitude Difference Function


Estima del pitch empleando la Magnitud en
vez de la correlacin
Menor complejidad y coste computacional
En este caso en vez de buscar mximos se
deben buscar mnimos
m N 1
AMDF m, s[n]w[n m] s[n ]w[n m ]
nm
3.2.6.- Estimacin del Pitch

AMDF, Average Magnitude Difference Function


3.3.- Anlisis localizado en frecuencia

Para realizar un anlisis localizado en frecuencia


basta con calcular la TF de un segmento de seal
enventanado.

S n, s[ m ]w[ n m ]e j m

m
3.3.1- Espectrogramas

Tambin denominados Sonogramas


Representan la evolucin del espectro con el
tiempo
Estas variables son inversas
Al ganar resolucin en una de ellas, la
perdemos en la otra

Tipos de espectrogramas:
Banda ancha
Banda estrecha
3.3.1- Espectrogramas

Banda ancha (poca resolucin en frecuencia)


Ventanas temporales cortas
4000

3500

3000

2500
Time

2000

1500

1000

500

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1



Normalized Frequency ( rad/sample)
3.3.1- Espectrogramas

Banda estrecha (poca resolucin en el tiempo)


Ventanas temporales largas

3500

3000

2500
Time

2000

1500

1000

500

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1



Normalized Frequency ( rad/sample)
3.3.2- Anlisis Homomrfico: Cepstrum

Utilidad:
Permite separar la seal de excitacin de la
respuesta del filtro del tracto vocal

Un segmento sonoro es la convolucin entre:


La seal de excitacin glotal e[n]
El filtro del tracto vocal h[n]
s[n] e[n] * h[ n]
La convolucin en el tiempo es una
multiplicacin en frecuencia
S [k ] E[ k ]H [k ]
3.3.2- Anlisis Homomrfico: Cepstrum

Aprovechando las propiedades de los logaritmos:


log S [k ] log E[k ] log H [k ]

Si ahora regresamos al tiempo: Cepstrum


c[n] IDFT log( S [k ])

s[n] FFT Log IFFT c[n]


3.3.2- Anlisis Homomrfico: Cepstrum

El cepstrum puede ser real o complejo:


Cepstrum complejo: tomamos logaritmos del
espectro completo (con la fase desenrollada,
unwrapped)

Cepstrum real: slo aplicamos el logaritmo al


mdulo del espectro

El cepstrum complejo se puede deshacer, el


real no al no contener informacin de fase

Para voz se suele emplear el cepstrum real


3.3.2- Anlisis Homomrfico: Cepstrum

La convolucin se ha convertido en una suma:


s[ n] e[n] h[n] c[ n] ce [n] ch [ n]
0.6

ce y ch son separables 0.5

0.4

0.3

0.2
cepstrum

0.1

-0.1

-0.2

-0.3
Periodo Fundamental
-0.4
0 50 100 150 200 250 300 350 400 450 500
quefrency
3.3.2- Anlisis Homomrfico: Cepstrum

Obtencin de la envolvente espectral:


Una vez calculado el cepstrum
Extraemos ch con una ventana
El espectro de ch es la envolvente espectral
0.6
0
0.5
-10
0.4

0.3 -20

Amplitud(dB)
0.2
-30
cepstrum

0.1
-40
0

-0.1 -50

-0.2
-60
-0.3
-70
-0.4 0 1 2 3 4 5 6 7 8
0 50 100 150 200 250 300 350 400 450 500 Frecuencia(KHz)
quefrency
3.3.2- Anlisis Homomrfico: Cepstrum

Terminologa empleada:

Spectrum Cepstrum
Frecuency Quefrency
Filtering Liftering
Analysis Alanysis
3.4.- Anlisis de prediccin lineal

Modelo del tracto vocal:


Suponemos que el tracto vocal es una serie de
tubos de seccin variable sin prdidas
Suponemos que el sonido se propaga como una
onda plana a travs de los tubos

Glotis
A1 A2 AN ALabios
3.4.- Anlisis de prediccin lineal

Modelo del tracto vocal

Glotis
A1 A2 AN ALabios

1-kN
Ug ULabios

-1 kN


Estructura de filtro en celosa (lattice)
tiempo de propagacin para atravesar una
3.4.- Anlisis de prediccin lineal

Coeficientes de reflexin:
1-km +
+
Um Um+1
Interconexin Am -km km Am+1
de secciones:
Um- -
Um+1
1+km

Clculo de los coeficientes k Am Am 1


m
de reflexin: Am Am 1
3.4.- Anlisis de prediccin lineal

Trabajando en tiempo discreto:

Si el periodo de muestreo T = 2 se puede


demostrar que la respuesta en frecuencia del
tracto vocal es un filtro todo polos

Los coeficientes ak del filtro se pueden


obtener a partir de los coeficientes de reflexin
km (Durbin)
3.4.- Anlisis de prediccin lineal

Prediccin lineal:
Vamos a intentar predecir el valor de s[n] a
partir de sus valores anteriores s[n-1], s[n-2],
, s[n-M]

Es decir, s[n] se puede calcular en funcin de


s[n] f santeriores
sus muestras [n 1], s[n (podemos ]
predecir
2],..., s[n M su
valor):

Si la funcin f es lineal: prediccin lineal


3.4.- Anlisis de prediccin lineal

Clculo de la prediccin de s[n]:


s[n] a1s[n 1] a2 s[n 2] ... a P s[n P ]

Coeficientes de prediccin:
a1 , a2 ,..., aP
Error de prediccin:
P
e[n] s[n] s[n] s[n] ai s[n i ]
i 1
3.4.- Anlisis de prediccin lineal

Clculo de los coeficientes de prediccin:


Son aquellos que minimizan el error de
prediccin (la energa del error de prediccin)
2
P

Ep e[n] s[n] ai s[n i ]
2

i 1
Minimizar: Para cada ak derivar e igualar a 0
Ep
0 k 1,.., P
ak

Obtenemos un sistema de P ecuaciones con P


incgnitas
3.4.- Anlisis de prediccin lineal

Clculo de los coeficientes de prediccin:


2
P

Ep s[n] ai s[n i ]
i 1
Ep P

0 2 s[n] ai s[n i ] s[n k ] 0
ak i 1

s[n]s[n k ] a s[n i]s[n k ]


P

i
i 1

Rs [ k ] Rs [ k i ]
3.4.- Anlisis de prediccin lineal

Clculo de los coeficientes de prediccin:


P
Rs [ k ] ai Rs [ k i ] para k 1..P
i 1
Sistema de ecuaciones:
Rs [1] a1 Rs [0] a2 Rs [1] ... a p Rs [ P 1]
Rs [2] a1 Rs [1] a2 Rs [0] ... a p Rs [ P 2]
... ... ...
Rs [ P ] a1 Rs [ P 1] a2 Rs [ P 2] ... a p Rs [0]
3.4.- Anlisis de prediccin lineal

En forma matricial: Ecuaciones de Yule-Walker

Rs [1] Rs [0] Rs [1] ... Rs [ P 1] a1


R [2] R [1]
s s Rs [0] ... Rs [ P 2] a2
... ... ... ... ... ...

Rs [ P ] Rs [ P 1] Rs [ P 2] ... Rs [0] a p

r Ra a R 1 r

R es una matriz Toeplitz


3.4.- Anlisis de prediccin lineal

Algoritmo de Durbin:
Solucin recursiva para calcular los
coeficientes ak aprovechando que R es toeplitz.
Inicio: E ( 0 ) r[0]

Recursin: i=1,...,P
1 i 1
Coef. Reflexin ki r[i ] a ( i 1)
r[i j ]
E ( i 1) j
(PARCOR) j 1
ai(i ) ki
Coef.
LPC a (ji ) a (ji 1) ki ai(i j1) j 1,..., i 1
Energa residual E (i ) 1 ki2 E ( i 1)
3.4.- Anlisis de prediccin lineal

Algoritmo de Durbin:
Calcula los coeficiente de reflexin (PARCOR)
Calcula los coeficientes de prediccin lineal a
partir de los de reflexin
El filtro resultante siempre es estable:
|km|<1

Filtro obtenido: IIR todo polos


b0 b0
H ( z ) H ( z )
P
1 a1 z 1 a2 z 2 ... a p z p
1 ak z k
k 1
3.4.- Anlisis de prediccin lineal

Clculo de las frecuencias de los formantes:


A partir de los ak calcular las races del polinomio
El clculo de estas races debe hacerse de forma
aproximada por mtodos numricos ya que no puede
hacerse de forma analtica para polinomios grandes
1

0.8

0.6

Fs/2 Hz 0.4 0 Hz
Imaginary Part

0.2

-0.2

-0.4

-0.6

-0.8

-1

-1 -0.5 0 0.5 1
Real Part
3.4.- Anlisis de prediccin lineal

Orden de prediccin:
Un par de polos complejos conjugados por cada
formante
Aadir dos o tres polos ms
En general
20
P suele estar entre 10 y 14 coeficientes
LPC-5
10

0
LPC-10
LPC-14
Amplitud (dB)

-10

-20

-30

-40

-50
0 500 1000 1500 2000 2500 3000 3500 4000
Frecuencia (Hz)
3.4.- Anlisis de prediccin lineal

Modelo de produccin de voz:


Pitch
Parmetros
Espectrales
Excitacin
Peridica

Envolvente Voz
espectral
G
Ruido
Aleatorio
3.4.- Anlisis de prediccin lineal

A partir del error de prediccin y del filtro LPC


podemos obtener s[n]:
P P
e[n] s[n] ai s[n i ] s[n] e[n] ai s[n i ]
i 1 i 1

1
e[n] P s[n]
1 ai s[n i ]
i 1
3.4.- Anlisis de prediccin lineal

Con el filtro LPC inverso y la seal de voz


podemos obtener la seal de error:
P
s[n] 1 ai s[n i ] e[n]
i 1

0.08 0.08

0.06 0.06

0.04 0.04

0.02 Amplitud 0.02


Amplitud

0 0

-0.02 -0.02

-0.04 -0.04

-0.06 -0.06

-0.08 -0.08
0 50 100 150 200 250 300 350 400 450 0 50 100 150 200 250 300 350 400 450
Muestras Muestras
3.4.- Anlisis de prediccin lineal

Filtros LPC y LPC inverso:


20 0

10
H ( z) -10

0 -20
Amplitud (dB)

Amplitud (dB)
-10 -30

-20 -40

-30
1 -50

-40

-50
H ( z) -60

-70
0 500 1000 1500 2000 2500 3000 3500 4000 0 500 1000 1500 2000 2500 3000 3500 4000
Frecuencia (Hz) Frecuencia (Hz)

Al pasar s[n] por el filtro LPC inverso obtenemos


e[n]
e[n] adems de ser la seal de error es la seal
de excitacin del modelo de produccin de voz
3.4.5.- Mtodo SIFT, estimacin del Pit

Simplified Inverse Filtering Technique, Markel


1972.
x[n] e[n]
F. Paso Bajo Diezmado Filtro LPC
S[n] Autocorrelacin
0-900 Hz 5:1 Inverso
Fs = 10 kHz

Anlisis LPC
P=4
Localizar
Mximo

Sonoro / sordo?
Interpolacin
Estimar F0
3.4.5.- Mtodo SIFT, estimacin del Pit

Filtrar paso bajo con fc = 900Hz.


Esto nos permite reducir Fs de 10 kHz a 2 kHz.
Desechamos 4 de cada 5 muestas.
Realizamos un anlisis LPC de orden 4.
No es necesario ms: hasta 1000Hz como mximo 2
formantes.
Procesamos x[n] con el filtro inverso LPC.
Obtenemos e[n] que ser la seal de excitacin.
Calculamos la autocorrelacin de e[n].
Localizamos el mayor valor dentro del rango de pitch
probables.
Para obtener mayor resolucin en la estima del
pitch, interpolamos la autocorrelacin en la regin
del mximo.
3.5.- Anlisis espectral localizado

3.5.1.- Conceptos de percepcin auditiva

MEL: Escala de frecuencias de distribucin no


lineal que responde al mecanismo de
percepcin auditiva

Con esta escala medimos la frecuencia en


MELs, es la frecuencia percibida aparente.

Conversin de Hz a MELs
m 1125 log 0.0016 f 1
3.5.2.- MEL-Frequency Cepstrum (MFC

Coeficientes cepstrales derivados del anlisis


sobre la escala MEL
Calculamos el espectro
Calculamos el Log del mdulo (cepstrum real)
Aplicamos la escala MEL
Agrupamos frecuencias en bandas crticas
Calculamos la DCT

FFT Log Escala MEL DCT


3.5.2.- MEL-Frequency Cepstrum (MFC
a
0.6

0.4

0.2

-0.2

-0.4
0 100 200 300 400 500 600 700 800 900 1000
[samples]

a
0

-10

-20

-30

-40

-50

-60
0 500 1000 1500 2000 2500 3000 3500 4000 4500
[Hz]
3.5.2.- MEL-Frequency Cepstrum (MFC

0.8

Banco de 0.6

filtros 0.4

0.2

0
0 1000 2000 3000 4000 5000 6000 7000
[Hz]
0

-2

Espectro -4

suavizado -6

-8

-10
0 2 4 6 8 10 12 14 16 18
3.5.2.- MEL-Frequency Cepstrum (MFC

Cepstrum obtenido:
El nmero de coeficientes resultante es muy
inferior
El cepstrum obtenido es una aproximacin
1

0.5

-0.5
0 2 4 6 8 10 12 14 16
3.5.3.- Cepstrum LPC (LPCC)

Es posible obtener los coeficientes cepstrales a


partir de los coeficientes LPC
Obtendremos el cepstrum de una seal
suavizada
No es necesario calcular el espectro
c(1) a1
n 1
m
c ( n ) an 1 a m c ( n m) n 2..P
m 1 n
P
m
c ( n ) 1 am c ( n m) nP
m 1 n
3.5.4.-Otros parmetros

Existen multitud de representaciones distintas de


los parmetros vistos

Unos parmetros se pueden obtener a partir de


los otros

El empleo de unos u otros parmetros es


indistinto en cuanto a mejoras en la
sntesis/reconocimiento

La eleccin entre unos u otros se debe


principalmente a:
Robustez que ofrecen frente a fallos
3.5.4.-Otros parmetros

Coeficientes PARCOR:
PARtial autoCORrelation coefficients.
Se calculan como paso intermedio en el
algoritmo de durbin.
Son los coeficientes de Reflexin ya vistos.

Relacin de reas / Coefs. PARCOR


Ai 1 1 ki

Ai 1 ki
LAR: Log Area Ratios
1 ki
Li log
1 ki
3.5.4.-Otros parmetros

Coeficientes LSF / LSP:


Line Spectral Frequencies / Line Spectral Pairs
Permiten una representacin distinta de los
coeficientes LPC
El filtro inverso LPC, A(z), se puede
descomponer en: ( p 1) 1
P( z ) A( z ) z A( z )

Q( z ) A( z ) z ( p 1) A( z 1 )

Donde P(z) representa la respuesta del tracto


vocal con la glotis cerrada, y Q(z) con la glotis
abierta.
3.5.4.-Otros parmetros

A(z) tiene races dentro de la circunferencia


unidad
P(z) y Q(z) slo tienen races sobre la
circunferencia
P(z) es un polinomio simtrico y Q(z) antisimtrico
Las races de P(z) y Q(z) se encuentran de forma
alternada en frecuencia
Clculo de las raices:
Tomar z = exp(jw) y evaluar P(z) y Q(z) en una
malla de puntos entre 0 y pi.
1
A( zde
Recuperacin P ( z ) Q( z )
) A(z):
2
3.5.4.-Otros parmetros

Problemas de usar los coeficientes LPC:


El error de cuantificacin es problemtico, el
filtro se puede hacer inestable
Se comportan muy mal al intentar
interpolarlos

Ventajas de usar LSF/LSP:


Son ms robustos en cuanto a errores de
cuantificacin
El filtro permanece estable
Al ser una representacin en frecuencia, un
error solo altera un pequeo rango de
frecuencias
3.5.5.- Proceso de obtencin de parme

Pasos a realizar:
Pre-nfasis de la trama
Enventanado con solapamiento
Clculo de la autocorrelacin
Anlisis LPC, obtencin de los coeficientes
Clculo del cepstrum a partir de la LPC
Anlisis de los parmetros obtenidos

Você também pode gostar