Tratamiento Digital de Voz Prof. Luis A. Hernández Gómez ftp.gaps.ssr.upm.es/pub/TDV/DOC/...
-
Upload
sofia-canal -
Category
Documents
-
view
8 -
download
2
Transcript of Tratamiento Digital de Voz Prof. Luis A. Hernández Gómez ftp.gaps.ssr.upm.es/pub/TDV/DOC/...
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.