Transparencias:
Procesamiento de Seales y Mtodos de Anlisis para reconocimiento de Voz
Autor: Dr. Juan Carlos Gmez Basado en: Rabiner, L. and Juang, B-H.. Fundamentals of Speech Recognition, Prentice Hall, N.J., 1993. 1
Introduccin
Como ya vimos, los Sistemas de Reconocimiento de Voz comprenden diferentes disciplinas : Reconocimiento de patrones Estadsticos Teora de las Comunicaciones Procesamiento de Seales Matemtica Combinatoria Lingstica El denominador comn de todo sistema de reconocimiento de voz es la etapa inicial (front-end) de procesamiento de seales, que convierte la seal de voz en alguna representacin paramtrica para su posterior anlisis y 2 procesamiento.
Existe una amplia gama de posibilidades para la representacin paramtrica de seales: Energa en tiempo corto (short-time energy) Tasa de cruce por cero (zero-crossing rate) Tasa de cruce por nivel (level-crossing rate) Envolvente del espectro en tiempo corto (short-time spectral envelope) Est ltima forma de representacin es la ms importante por su difundido uso; y los mtodos de anlisis espectral son considerados como el ncleo del procesamiento de seales
3
Palabra reconocida
Lgica de Decisin
Se representan los eventos acsticos relevantes de la seal de voz a partir de algunos parmetros Detector Caracterst. 1 Medicin de parmetros Detector Caracterst. Q Lgica de Decisin del Combinador Caract.
Diccionario Testeo Hipotesis
4
Un buen entendimiento de la forma en la cul se utilizan las tcnicas de procesamiento de seales para implementar la fase de clculo de parmetros es fundamental para entender los diferentes enfoques para el reconocimiento de voz. Las 2 tcnicas para el procesamiento de seales ms comnmente usadas para reconocimiento de voz son:
X n (e j1 )
Filtro Pasabanda Q
....
X n (e
Q
jQ
....
1I
2I
1S
3I
2S
3S QI
6
QS
Modelo LPC
N Seal de Voz x(n) M Anlisis Espectral LPC Conversin de Parmetros LPC
Dividir en Frames
an
cn
v1(n)
Filtro PBajo
t1(n)
Reduccin Tasa de Muestreo
u1(n)
x1(n)
Nolinealidad
Compresin de Amplitud
....
....
....
Filtro PBnd Q
Nolinealidad
Filtro PBajo
....
Compresin de Amplitud
sQ(n)
vQ(n)
M 1 k =0
tQ(n)
uQ(n)
....
xQ(n)
s(n)
si (n ) = s (n ) hi (n ) = hi (k ) s (n k )
1 i Q
8
si(n) se pasa luego por un rectificador de onda completa (o de 1/2 onda). Esto desdobla el espectro de la seal pasabanda a un espectro en la banda de baja frecuencia y otra en la banda de alta frecuencia, que luego se elimina mediante un filtro pasabajos, obtenindose ui(n) que representa una estimacin de la energa de la seal de voz en cada una de la Q bandas de frecuencia. Suponiendo que la salida de i-simo filtro es una seal del tipo senoidal pura: si(n) = i.sen(i.n) El ancho de banda del filtro es lo suficientemente angosto para dejar pasar un nico armnico. As: vi(n) = si(n).w(n) Vi() = Si()W()
9
Formas de ondas y espectros tpicos para el anlisis de una seal senoidal pura
10
A pesar de que el anlisis anterior es estrictamente correcto para seales senoidales puras, es un modelo razonablemente vlido para sonidos tonales cuasiperidicos siempre que el filtro pasabanda no deje pasar 2 o ms armnicos de la seal. La naturaleza de variacin en el tiempo de las seales de voz (cuasi-periodicidad) hace que el espectro de la seal ubicado en la banda de baja frecuencia no sea un impulso puro, sino que la informacin este contenida en una banda. A continuacin se muestra una seccin de 20mseg de voz tonal procesada por un canal angosto centrado en 500Hz (y con una Fs=10KHz).
11
Formas de ondas y espectros de seal de voz con modelo de anlisis banco de filtros
500 Hz
12
El espectro de la seal resultante Vi (e ) muestra la deseada concentracin de energa en baja frecuencia, as como picos no deseados en 1000 Hz, 2000 Hz, etc. La funcin del filtro Pasa Bajo es eliminar esos picos indeseados. El ancho de banda de la seal vi (n ) est relacionado con la velocidad ms rpida de movimiento de los harmnicos de la seal y est en el orden de 20-30 Hz. Los ltimos dos bloques en el modelo de banco de filtros son:
j
un bloque de reduccin de la tasa de muestreo de las seales filtradas con el filtro Pasa-Bajo, ti (n ) , que son re-muestreadas con una frecuencia del orden de 40-60 Hz (para obtener una representacin ms econmica), y un bloque de compresin del rango dinmico de la seal usando algn esquema de compresin como ser codificacin logartmica, o codificacin con ley .
13
Ejemplo: Consideremos un banco de filtros con Q=16 canales, para una seal de voz de banda ancha con mxima frecuencia de inters de 8 KHz. Se asume una frecuencia de muestreo de Fs = 20 KHz, para evitar aliasing. La tasa de informacin de la seal sin procesar es
20000 muestras bits Kbits 12 = 240 seg muestra seg
A la salida del analizador, si se usa una frecuencia de muestreo de 50 Hz y una compresin de amplitud logartmica de 7 bits, se tiene una tasa de informacin de
16 canales 50 muestras bits bits 7 = 5600 seg. canal muestra seg
B) No Uniforme: Se disean segn algn criterio particular de espaciamiento en frecuencia. Un criterio comn es distribuir las frecuencias en forma logartmica. As, para Q filtros pasabanda, la frecuencia central fi y el ancho de banda bi del i-simo filtro se define como:
b1 = C bi = . bi 1 f i = f1 + b j +
j =1 i 1
(b b )
i j
2iQ 2
donde C y f1 se definen arbitrariamente. Los valores de usados ms frecuentemente son =2 que determina un espaciamiento de una octava y =4/3 que determina un espaciamiento de 1/3 de octava. 17
12 canales 3 octavas
f1=225 Hz C=50 Hz
La escala crtica est basada en estudios de percepcin del odo humano. La escala es prcticamente lineal hasta frecuencias de aproximadamente 1000 Hz, y para frecuencias superiores es logartmica (es decir el ancho de banda de los filtros es exponencial en funcin de la frecuencia).
Ancho de Banda Crtico
1000 Hz
19
1 i Q
Esta ecuacin si bien es simple requiere un alto nivel de requerimiento de clculos (memoria).
20
2) Filtros FIR: Una alternativa de implementacin menos costosa se da en el caso en que cada respuesta al impulso de los filtros pasabanda puede representarse como una ventana fija pasabajos, w(n), modulada por e j n, as:
hi (n ) = w(n ) e
xi (n ) = w(k ) e
k =0 L 1
j i k
j i n
s (n k ) = s (k ) w(n k ) e
k =0
j i k
L 1
j i ( n k )
=e
j i n
s(k ) w(n k )e
k =0
L 1
=e
j i n
S n ( )
donde Sn() es la transformada de Fourier a corto plazo (Short-Time Fourier Transform) de s(n)
21
L 1
j i k
S n 0 ( ) = s (k ) w(n0 k )e
j i k
obtenemos la FT convencional de la seal truncada, s(k)w(n0-k), evaluada en la frecuencia =i. A continuacin se muestran las seales s(m) y w(n0-m) para n0= 50, 100 y 200
22
Dado que w(n) es un filtro FIR, siendo L el nmero de muestras, podemos establecer que: 1. Si L es grande, comparado con la periodicidad de la seal (pitch), entonces Sn() tiene buena resolucin en frecuencia (podemos visualizar pitchs armnicos individuales) pero slo se ve a grandes rasgos la envolvente del espectro total en la seccin de voz cubierta por la ventana. 2. Si L es chico, comparado con la periodicidad de la seal, Sn() tiene una resolucin en frecuencia pobre, pero provee una buena estima de la envolvente del espectro total.
23
STFT (de 500 y 50 muestras) de una Seal Tonal usando Ventana de Hamming
formantes
24
STFT (de 500 y 50 muestras) de una Seal No Tonal usando Ventana de Hamming
25
S n (i ) = s (n )e
~ s (n )
j i
j i n
w(n)
Sn (i )
s(n )
w(n)
e ~ Como S ( ) = S ( + i ) S n (i ) = S ( + i ).W ( )
Para una i fija la STFT da una representacin del espectro 26 de la seal en una banda alrededor de i.
FS fi = i N
2 in N m =
1 i Q
j 2 im N
xi (n ) = e
s(m) w(n m) e
m= Nr+k
y llamando:
0 k N 1 r
sn(m)=s(m).w(n-m)
27
Obtenindose entonces:
xi (n ) = e
2 i n N 1 N k =0
s (N r + k ) e
r = n
2 i (N r +k ) N
un(k)
j N ik =e sn ( N r + k ) e k = 0 r = 2 2 j i n N 1 j ik N N =e u n ( k ) e k =0
j
2 i n N 1 N
Donde puede verse que xi(n) es una versin modulada de la DFT de la secuencia un(k)
28
As, los pasos bsicos en el clculo del banco de filtros uniforme a partir de la FFT son: 1. Obtener la seal truncada sn(m)=s(m).w(n-m) con m=n-L+1,...,n donde w(n) es causal y tiene FIR de L muestras 2. Formar un(k)= sn(N r + k) con 0 k N-1. Es decir, separa la seal sn(m) en porciones de N muestras y sumar estas para obtener una seal de N muestras 3. Calcular la DFT de N puntos de un(k) 4. Modular la DFT usando la secuencia e j 2 i n / N Este paso puede evitarse desplazando en forma circular la secuencia un(k) la cantidad n+N muestras para obtener un((k-n))N, con 0 k N-1 antes de calcular la DFT
29
La cantidad de clculos para la implementacin del banco de filtros es: C FBFFT ~ = 2 N log N multiplicaciones y sumas Si consideramos a R como la tasa entre las cantidades de clculos para la implementacin directa del banco de filtros y la implementacin mediante FFT: C LQ R = DFFIR = C FBFFT 2 N log N Asumiendo N=32 (un banco de filtro de 16 canales) con L=128 (es decir una FIR de 12,8 mseg a una tasa de muestreo de 10KHz) y Q=16 canales, tenemos entonces:
128 . 16 = 6,4 2 . 32 . 5 La implementacin via FFT es 6,4 veces ms eficiente. 31 R=
Para demostrar esto escribimos la respuesta al impulso del k-simo filtro pasabanda como: donde hk (n ) es la respuesta al impulso ideal del filtro pasabanda que se est diseando. La respuesta en frecuencia puede entonces escribirse como: ~ ( ) H k ( ) = W ( ) H k La respuesta en frecuencia total del banco de filtros es entonces: Q Q Q ~ ~ () H() = H () = W () H () = W () H
~
~ hk (n ) = w(n ). hk (n )
k =1
k =1
k =1
La ltima sumatoria es la suma de respuestas frecuenciales ideales, donde vemos que es independiente del nmero y distribucin de los filtros individuales y esta sumatoria es 1 en el rango de frecuencias del banco de filtros. 33
X k = x(n ) e
n =0
N 1
2 nk N
0 k N 1
X k + X k +1 = x(n ) (e
n =0 N 1 n =0
N 1
2 nk N
+e
2 n ( k +1) N
)
j 2 nk N
34
= [ x(n ) 2 e
n
N
cos( n / N ) ] e
La frmula anterior podra verse como la salida de un canal equivalente donde la secuencia x(n) est ponderada en el tiempo por la secuencia compleja .
2e
j
n
N
cos( n / N )
Si se combinan 2 o ms canales se puede obtener una secuencia diferente que pondere a la seal. As combinando canales FFT se pueden obtener rpidamente filtros pasabanda ms anchos. Est tcnica constituye un mtodo simple y efectivo para realizar ciertos estructuras de bancos de filtros no uniformes.
35
36
37
38
39