tratamiento digital de voz prof. luis a. hernández gómez ftp.gaps.ssr.upm.es/pub/tdv/doc/...

Post on 18-Apr-2015

8 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Tratamiento Digital de Voz

Prof. Luis A. Hernández Gómez

ftp.gaps.ssr.upm.es/pub/TDV/DOC/Tema3.ppt

Dpto. Señales, Sistemas y Dpto. Señales, Sistemas y RadiocomunicacionesRadiocomunicaciones

Técnicas de Análisis de la Señal de VozTécnicas de Análisis de la Señal de Voz

Análisis LocalizadoConceptoAnálisis en el Tiempo:

EnergíaTasa de Cruces por CeroAutocorrelación

Análisis en Frecuencia: Transformada Localizada de Fourier

Análisis Cepstral

Estima de la Frecuencia Fundamental

Técnicas de Análisis de la Señal de VozTécnicas de Análisis de la Señal de VozAnálisis Localizado

Concepto

s[n] : señal de vozw[n]: ventana de análisis n0

w[n]

n

m mnwnxTAnálisis ][][

s[n]

n

w[M-n] w[2M-n] w[3M-n]

Técnica de Análisis : T{ }

Técnicas de Análisis de la Señal de VozTécnicas de Análisis de la Señal de Voz

Parámetros Básicos del Análisis Localizado (I)Tipo de Ventana:

Hamming, Hanning, Rectangular, Triangular, ..

Técnica de Análisis : T{ }

Ventana de Hamming

resto

NnparaNn

nw0

101

2cos46.054.0

)(

Técnicas de Análisis de la Señal de VozTécnicas de Análisis de la Señal de Voz

Parámetros Básicos del Análisis Localizado (II)

Tamaño de la Ventana : NDesplazamiento de la Ventana: M

s[n]

n

w[M-n] w[2M-n] w[3M-n]

N

M

Técnicas de Análisis de la Señal de VozTécnicas de Análisis de la Señal de Voz

Análisis Localizado en el TiempoE[m]: Energía Localizada

n

m mnwnxE 2][][

Técnicas de Análisis de la Señal de VozTécnicas de Análisis de la Señal de Voz

Técnicas de Análisis de la Señal de VozTécnicas de Análisis de la Señal de Voz

Análisis Localizado en el TiempoTcc[m]: Tasa de Cruces por Cero (relación Energía AF / BF)

n

m nmwnxnxN

Tcc )(|)]1(sgn[)](sgn[|211

Técnicas de Análisis de la Señal de VozTécnicas de Análisis de la Señal de Voz

Análisis Localizado en el TiempoE[m] : Energía Localizada

Tcc[m]: Tasa de Cruces por Cero

DETECTOR DE VOZ / RUIDO (VAD: Voice Activity Detector)

Codificación (Ejemplo GSM: reducir interferencias, ahorro batería)Reconocimiento (mayor eficiencia, evitar falsos reconocimientos)

CLASIFICACIÓN DE SONIDOS

Aplicaciones

Técnicas de Análisis de la Señal de VozTécnicas de Análisis de la Señal de Voz

Análisis Localizado en el TiempoRm[k] : Autocorrelación

...p. 2, 1, ,0

][)]([][][)(1

0

k

knxknmwnxnmwkRN

nm

EnergíaR

RkR

m

mm

)0(

)0()(

Técnicas de Análisis de la Señal de VozTécnicas de Análisis de la Señal de Voz

Análisis Localizado en el TiempoRm[k] : Autocorrelación

Técnicas de Análisis de la Señal de VozTécnicas de Análisis de la Señal de Voz

Análisis en Frecuencia: Transformada Localizada de Fourier:

Interpretación 1: T. Fourier de la señal enventanada

Interpretación 2: Banco de Filtros

][][,

][][,

2

m

Nmkj

m

mj

emnwmsknS

emnwmsnS

Técnicas de Análisis de la Señal de VozTécnicas de Análisis de la Señal de Voz

][][,

m

mjemnwmsnS

Punto de Vista TF: (agrupar s[]·w[] ó tiempo fijo)

Secuencia de DFTs para diferentes posiciones de la ventana w[n-m]

Punto de vista Banco de Filtros: ( agrupar s[n]e-jn ó frecuencia fija)

Considerar w[n] como filtro paso-bajo

s[n]e-jn como modulacíon: desplazamiento del espectro de s[n] en

][][,

m

mj mnwemsnS

Técnicas de Análisis de la Señal de VozTécnicas de Análisis de la Señal de Voz

ESPECTROGRAMAS(Sonogramas)

Representación Tiempo-Frecuencia

Análisis de Banda Ancha - Banda Estrecha

Técnicas de Análisis de la Señal de VozTécnicas de Análisis de la Señal de Voz

Análisis Homomórfico: Cepstrum

Finalidad: El análisis cepstral proporciona un camino para separar excitación y respuesta del filtro (tracto vocal)

El punto de partida es: considerar un segmento sonoro como convolución entre:

e[n] – señal de excitación glotal

h[n] – respuesta al impulso del tracto vocal

Técnicas de Análisis de la Señal de VozTécnicas de Análisis de la Señal de Voz

Análisis Homomórfico: Cepstrum

)(log)(log)(log HES

deSnsFFnc njDTFTDTFT )(log

21

}]}[{{log][ 1

Cepstrum Real:

Por tanto, recordando que:

][][][ ncncnc tractoexcitación

Separables en el dominio n (quefrencia) por filtrado (liftering)

Y las características de:

- E(w) : armónico

- H(w) : envolvente marcada por formantes

Técnicas de Análisis de la Señal de VozTécnicas de Análisis de la Señal de Voz

Análisis Homomórfico: Cepstrum][][][ ncncnc tractoexcitación

Separables en el dominio n (quefrencia) por filtrado (liftering)

0 50 100 150 200 250 300 350 400 450 500-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

quefrency

ceps

trum

Periodo Fundamental

Mel-scaled Cepstral Coefficients Mel-scaled Cepstral Coefficients (MFCC) para Reconocimiento de (MFCC) para Reconocimiento de

VozVoz

Pre-Emphasis Frame-blocking FFT

Mel-scalingDCT

Vectores de CaracterísticasVectores de Características

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

-0.2

0

0.2

0.4

0.6a

[samples]

0 500 1000 1500 2000 2500 3000 3500 4000 4500-60

-50

-40

-30

-20

-10

0a

[Hz]

0 2 4 6 8 10 12 14 16 18-10

-8

-6

-4

-2

0filtered spectrum of "a"

[index]

0 1000 2000 3000 4000 5000 6000 70000

0.2

0.4

0.6

0.8

1filterbank

[Hz]

Cepstral CoefficientsCepstral Coefficients

0 2 4 6 8 10 12 14 16-0.5

0

0.5

1cepstrum of "a"

[index]

MFCCMFCCcurso: curso: Joseph Picone Joseph Picone

http://www.isip.msstate.edu/resources/courses/ece_8463

Recall our filterbank, which we construct in mel-Recall our filterbank, which we construct in mel-frequency domain using a triangularly-shaped frequency domain using a triangularly-shaped weighting function applied to mel-transformed log-weighting function applied to mel-transformed log-magnitude spectral samples: magnitude spectral samples:

MFCCMFCCcurso: curso: Joseph Picone Joseph Picone

http://www.isip.msstate.edu/resources/courses/ece_8463

After computing the DFT, and the log magnitude After computing the DFT, and the log magnitude spectrum (to obtain the real cepstrum), we compute spectrum (to obtain the real cepstrum), we compute the filterbank outputs, and then use a discrete the filterbank outputs, and then use a discrete cosine transform cosine transform

MFCCMFCCcurso: curso: Joseph Picone Joseph Picone

http://www.isip.msstate.edu/resources/courses/ece_8463

Note that the triangular weighting functions are Note that the triangular weighting functions are applied directly to the magnitude spectrum, and then applied directly to the magnitude spectrum, and then the logarithm is taken after the spectral samples are the logarithm is taken after the spectral samples are averaged. The averaged. The resulting coefficients are an resulting coefficients are an approximation to the the cepstrumapproximation to the the cepstrum, and in reality , and in reality simply represent an orthogonal and compact simply represent an orthogonal and compact representation of the log magnitude spectrum. representation of the log magnitude spectrum.

We typically use We typically use 24 filterbank samples at an 8 kHz at an 8 kHz sampling frequency, and truncate the DCT to sampling frequency, and truncate the DCT to 12 MFCC12 MFCC coefficients. Adding energy gives us a total of coefficients. Adding energy gives us a total of 13 coefficients for our base feature vector. for our base feature vector.

Técnicas de Análisis de la Señal de VozTécnicas de Análisis de la Señal de Voz

Predicción Lineal

Predecir s(n) a partir de s(n-1) ..s(n-M)

s(n) <-> f { s(n-1), s(n-2), ... s(n-M)}

Proporciona un “modelo” de s(n)

Si, la función f{ } es lineal, hablamos de Predicción Lineal

• Predecir s(n) a partir de s(n-1) ..s(n-M)

s(n) <-> f { s(n-1), s(n-2), ... s(n-M)}

• Proporciona un “modelo” de s(n)

• Si, la función f{ } es lineal, hablamos de Predicción Lineal

Predicción LinealPredicción Lineal

• s(n) <-> a1 s(n-1) + a2 s(n-2) + .. aPs(n-P)

• {a1, a2, ... aP }: Coeficientes de Predicción

• e(n) = s(n) - ai s(n-i) : Error de Predicción

Predicción LinealPredicción Lineal

• e(n) = s(n) - ai s(n-i) => s(n) = e(n) + ai s(n-i)

• Proporciona un “modelo” para s(n):

1----------------------

1 - aiz-i

e(n) s(n)

Predicción LinealPredicción Lineal

• Interpretación del modelo:

• e(n) : excitación (no predecible a corto plazo)

• {ai} (i=1,2 .. P) : tracto vocal

1----------------------

1 - aiz-i

e(n) s(n)

Predicción LinealPredicción Lineal

• Interpretaciones:

• e(n): Error de predicción

Excitación del modelo

• {ai} (i=1,2 .. P) : Coef. de Predicción

Filtro del Tracto Vocal

Predicción LinealPredicción Lineal

• Conclusiones:

– Podemos encontrar un filtro que represente al

tracto vocal resolviendo el problema de

Predicción Lineal

– Con ese filtro podemos obtener e(n):

1 - aiz-is(n) e(n)

Predicción LinealPredicción Lineal

Resolución numérica:

• Encontrar {ai} (i=1,2 .. P) que minimicen el Error de

Predicción => (su Energía) Ep

Ep = {e(n)}2 = {s(n) - ai s(n-i) } 2

Predicción LinealPredicción Lineal

• Ep = {e(n)}2 = {s(n) - ai s(n-i) } 2

• Para cada ak :

Ep / ak = 0 k = 1,2, ... P

• Sistema de P ecuaciones LINEALES con P incógnitas.

Predicción LinealPredicción Lineal

• Ep = {e(n)}2 = {s(n) - ai s(n-i) } 2

• dEp / ak = 0

2 {s(n) - ai s(n-i) }{- s(n-k)} = 0

{s(n) s(n-k)} = ai {s(n-i) s(n-k)}

Rs(|k|) Rs(|k-i|)

Predicción LinealPredicción Lineal

Rs(|k|) = ai Rs(|k-i|) : para k=1,2, ... P

Rs(|1|) = a1Rs(0) + a2Rs(1) + ... aP Rs(P-1)

Rs(|2|) = a1Rs(1) + a2Rs(0) + ... aP Rs(P-2)

... ... ...

Rs(|P|) = a1Rs(P-1) + ... aP Rs(0)

Predicción LinealPredicción Lineal

• En forma matricial ...

Rs(|1|) Rs(0) Rs(1) ... Rs(P-1) a1

Rs(|2|) Rs(1) Rs(0) ... Rs(P-2) a2

... .... ... ... ...

Rs(|P|) Rs(P-1) ... Rs(0) aP

• r = R a ==> a = R-1 r (R toepliz)

=

Predicción LinealPredicción Lineal

Predicción LinealPredicción Lineal

c(1) a1

c(n) an 1 mn am c(n m) n 2, ...,p

m1

n 1

c(n) 1 mn am c(n m)

m1

p n p

CEPSTRUM LPC

Características y Técnicas de AnálisisCaracterísticas y Técnicas de Análisis

ESTIMA DE LA FRECUENCIA FUNDAMENTAL

Decisión sobre si el segmento es sonoro o no Para segmentos sonoros: Estimar el valor de F0

Pre-Procesado

(Ej. Filtrado)

Voz de

Entrada

Frecuencia

Fundamental

F0

Algoritmo de Estima:Tiempo: AutocorrelaciónFrecuencia: Picos Espectrales

Post-Procesado:Errores:Decisión sonoridadValor estimado

Características y Técnicas de AnálisisCaracterísticas y Técnicas de Análisis

ESTIMA DE LA FRECUENCIA FUNDAMENTAL

SIFT (simple inverers filtering tracking). [Markel 1972]

Filtro Paso Bajo

0-900 Hz

Decimación

5:1

Análisis PL

P=4

Filtro Inverso Autocorrelación

Búsqueda de

Máximo

InterpolaciónDecisión Sonoro / sordo

Estima F0

S[n]

fm = 10 KHz

x[n] y[n]

Características y Técnicas de AnálisisCaracterísticas y Técnicas de AnálisisAlgoritmo SIFT

1. Frecuencia de corte 900Hz => Frec. Muestreo nominal de 10 Khz se reduce a 2 kHz (decimación, i.e., descartar 4 de cada 5)2. La salida diezmada, x[n] , se procesa con análisis LPC con p=4. Un orden 4 es suficiente para modelar la envolvente en el rango 0-1 kHz, ya que en ese rango sólo encontramos 1-2 formantes.3. La señal x[n] se procesa por el filtro inverso para obtener y[n] , con espectro aproximadamente plano.4. Se calcula la autocorrelación localizada sobre y[n], y se obtiene el pico más alto en el rango de valores de pitch probables.5. Para tener una mayor resolución en la estima de F0, se interpola la autocorrelación en la región del máximo encontrado.6. Si el máximo de la autocorrelación, normalmente normalizada por R[0], no supera un umbral, se decide que la trama es sorda.

Características y Técnicas de AnálisisCaracterísticas y Técnicas de Análisis

Algoritmo SIFT

• Figura (a) trama de voz analizada.

• Figura (b) espectro de x[n] y envolvente LP. (Formante en 250 Hz).

• Figura (c) espectro de y[n].

• Figura (d) señal y[n].

• Figura (e) autocorrelación normalizada

de y[n]

Se evidencia un periodo de pitch

de unos 8 mseg.

top related