1

COEFICIENTES MFCC (Mel
Frequency Cepstrum Coeficients)
Un método más eficiente para extraer características y que es el más
utilizado actualmente en reconocedores comerciales son los Coeficientes
Cepstrales en Escala de Mel (MFCC), este método es robusto, además
hace uso de la Transformada de Fourier para obtener las frecuencias de la
señal. El objetivo es desarrollar un conjunto de características basadas en
criterios perceptuales, diversos experimentos muestran que la percepción
de los tonos en los humanos no está dada en una escala lineal, esto hace
que se trate de aproximar el comportamiento del sistema auditivo.
Los coeficientes Cepstrales en Frecuencia en Escala de Mel (MFCC) son
una representación definida como el cepstrum de una señal ventaneada en
el tiempo que ha sido derivada de la aplicación de una Transformada
Rápida de Fourier, pero en una escala de frecuencias no lineal, las cuales
se aproximan al comportamiento del sistema auditivo humano.
2
3
4
5
6
Cálculo de coeficientes Mels
El cálculo de los coeficientes mels utiliza dos de las herramientas más conocidas
en el análisis de señales:

o La transformada de Fourier para la representación del contenido espectral de
una señal.
o El diseño de un banco de filtros para permitir la selección de bandas de
frecuencia de la señal bajo análisis.

Con la transformada de Fourier se conoce el contenido en frecuencia (espectro)
de la señal y con los filtros diseñados (sintetizados), se logra obtener las
componentes de frecuencia que a cada banda les aporta la señal analizada.

El principio de ponderar la energía que aporta a cada banda de frecuencias la
señal bajo análisis y luego calcular en términos de un coeficiente para cada valor
de energía en banda de frecuencia, es a lo que llamamos coeficientes cepstral.

El algoritmo o método para el cálculo de estos coeficientes, usando las dos
herramientas mencionadas es lo que se describe a continuación.
7
Diagrama de flujo para el cálculo de los
coeficientes MFCC
8
COEFICIENTES MFCC
Davis y Mermelstein en 1980
demostraron que los MFCC son
beneficiosos para el Reconocimiento
Automático del Habla.
Dada una Transformada Discreta de
Fourier de una señal de entrada:
1 ,....., 1 , 0 ] [ ] [
1
0
2
÷ = =
¿
÷
=
÷
N k e n x k X
N
n
N
nk j t
Se distribuye el comportamiento
espectral en bandas de frecuencia
mediante un banco de filtros con los
que se calcula el promedio del
espectro alrededor de cada
frecuencia central. Se puede definir a
f
l
como la frecuencia más baja y a f
h

como la frecuencia más alta del
banco de filtros en Hz, F
s
es la
frecuencia de muestreo en Hz, M el
número de filtros y N el tamaño de la
Transformada Rápida de Fourier.
9
Diseño de los filtros MFCC
Normalmente los filtros triangulares son repartidos en el rango de frecuencias
completas, desde cero hasta la frecuencia de Nyquist. Sin embargo, un criterio de
limitación en banda es comúnmente útil para rechazar frecuencias no deseadas o
evitar la construcción de filtros en regiones de frecuencia en las cuales no existe
energía de la señal útil. Para el análisis de filtros solamente, las frecuencias de
corte más baja y las más alta se pueden establecer utilizando parámetros de
configuración LOFREQ y HIFREQ, por ejemplo:

LOFREQ=300
HIFREQ=3400

Pueden ser utilizadas para procesar señales telefónicas. Cuando se especifican las
frecuencias de corte baja y alta de esta forma, el número especificado de canales
de los bancos de filtro son distribuidos de forma igual a lo largo de toda la escala
de Mel resultando en un conjunto de filtros pasabanda, en donde la frecuencia de
corte más baja del primer filtro es igual a LFREQ y la frecuencia de corte del último
filtro está en HIFREQ. [HTK]
10
Diseño de los filtros en función de f
l
y f
h

Mel de es coef icient de total M
calcular a e coef icient de número m
Hz en resada alta más f recuencia f
Hz en resada baja más f recuencia f
donde
M
f f
m f m f
h
l
h l
l
=
=
=
=
|
.
|

\
|
+
÷
+ =
÷
exp
exp
:
1
) ( ) (
) ( ) (
1
| |
| |
Los puntos superiores de cada función espectral f(m) se encuentran
uniformemente espaciados en la escala de Mel en función de m y se determinan
mediante:
11
Diseño de los filtros en función de f
l
y f
h
entonces:
si:
Hz f para f y Hz f para f
h h l l
3400 , ), ( , , 300 , ), ( = = | |
Para el caso de banda telefónica:
6196 . 1988
700
3400
1 ln 1125
700
1 ln 1125 ) (
2593 . 401
700
300
1 ln 1125
700
1 ln 1125 ) (
700
1 ln 1125 ) (
=
|
.
|

\
|
+ =
|
.
|

\
|
+ =
=
|
.
|

\
|
+ =
|
.
|

\
|
+ =
|
.
|

\
|
+ =
h
h
l
l
f
f
f
f
f
f
|
|
|
12
ESCALA MELS VS FRECUENCIA
|
.
|

\
|
+ =
700
1 ln 1125 ) (
k
k
f
f |
300
401.25
3400
1988.61
13
CÁLCULO DE LOS COEFICIENTES MFCC
|
|
.
|

\
|
÷
|
.
|

\
|
=
÷
1
1125
exp 700 ] [
1
b
b |
M m k H k X m S
m
N
k
< <
|
|
|
.
|

\
|
=
¿
÷
=
0 , ) ( ) ( ln ) (
1
2
0
2
En donde la inversa está dada por:
Entonces finalmente se calcula el logaritmo de la energía de la salida de cada
filtro, a la señal x[n]:
14
CÁLCULO DE LOS COEFICIENTES MFCC
Mel f iltros los de canales de máximo número M
f iltro de canal ésimo m m
f iltro por salida cada de energía la de aritmo m S
Mel de cepstrum e coef icient N ésimo n n c
donde
N n
M
m
n m S n c
M
m
=
÷ =
=
=
÷ ÷ =
÷ s s
|
|
|
|
.
|

\
|
|
|
|
|
.
|

\
|
÷
=
¿
÷
=
141516 . 3
log ) (
) (
:
1 0 ,.....
2
1
cos ) ( ) (
1
0
t
t
El cepstrum en frecuencia Mel es la Transformada Discreta del Coseno de las
salidas de los M bancos de filtros:
15
CONSTRUCCIÓN DE LOS FILTROS
La siguiente función permite la construcción de los bancos de filtro. Observar que
cada banco de filtro es una función H
m
[k], determinada por los valores de k y de
f[m] determinados en los pasos anteriores. Este procedimiento funciona si los
filtros son equiespaciados.
M m y
f k para
s
s s
s s
1
2 / 1
16
CONSTRUCCIÓN DE LOS FILTROS
17
Construcción de filtros
¦
¦
¦
)
¦
¦
¦
`
¹
¦
¦
¦
¹
¦
¦
¦
´
¦
+ >
+ s s
÷ +
÷ +
s s ÷
÷ ÷
÷ ÷
÷ <
=
) 1 ( , ...... ,......... 0
) 1 ( ) ( , ,....
) ( ) 1 (
) 1 (
) ( ) 1 ( , ,....
) 1 ( ) (
) 1 (
] 1 [ , ...... ,......... 0
] [
m f k para
m f k m f para
m f m f
k m f
m f k m f para
m f m f
m f k
m f k para
k H
m
Para filtros no uniformemente espaciados, la solución de diseño es la que se
muestra, donde se garantiza una amplitud normalizada de „1‟ para todos los filtros.
M m y
f k para
s
s s
s s
1
2 / 1
18
Construcción de filtros
¦
¦
¦
)
¦
¦
¦
`
¹
¦
¦
¦
¹
¦
¦
¦
´
¦
+ >
+ < s
+ ÷
+ ÷
< s ÷
÷ ÷
÷ ÷
÷ <
=
) 1 ( , ...... ,......... 0
) 1 ( ) ( , ,....
) 1 ( ) (
) 1 (
) ( ) 1 ( , ,....
) 1 ( ) (
) 1 (
) 1 ( , ...... ,......... 0
] [
m f k para
m f k m f para
m f m f
m f k
m f k m f para
m f m f
m f k
m f k para
k H
m
Para filtros no uniformemente espaciados, la solución de diseño es la que se
muestra, donde también se garantiza una amplitud normalizada de „1‟ para todos los
filtros.
19
CÁLCULO DE LOS COEFICIENTES MFCC
Donde M varía para diferentes implementaciones de 24 a 40, para el
Reconocimiento Automático del Habla (RAH) generalmente son usados los
primeros 12 A 14 coeficientes. Este algoritmo es ampliamente usado para obtener
el vector de características en sistemas de RAH. Para reconocimiento de locutor
se utiliza un número mayor de coeficientes.

LA CANTIDAD DE COEFICIENTES TIENE QUE SER TAL QUE CUBRAN EL
RANGO DE FRECUENCIA DEL ESPECTRO EN DONDE ES ÚTIL LA
INFORMACIÓN ESPECTRAL, COMO ANTERIORMENTE SE DIJO.

PARA EL CASO DE LA VOZ EN LÍNEA TELEFÓNICA:
200 Hz <= FSEÑAL UTIL <= 3500 Hz
20
CRITERIOS DEL SPHINX
Valores típicos definidos como constantes para el diseño de bancos de filtros
Frecuencia de
muestreo (Hz)
16000 11025 8000
Número de filtros
40 36 31
Frecuencia mínima (Hz)
130 130 200
Frecuencia máxima (Hz)
6800 5400 3500
La frecuencia máxima en todos los casos es soportada por la frecuencia de
muestreo utilizada.
21
EVALUACIÓN COMPARATIVA DE VARIAS
IMPLEMENTACIONES DE LOS MFCC
La pregunta de la mejor representación de los parámetros de la señal de voz arrojó varias
características de la voz, las cuales presentan diferentes ventajas en condiciones
específicas y aplicaciones. Además, para ciertas características de la señal de voz, tales
como los MFCC, varias implementaciones se han realizado. Las cuales difieren básicamente
en características de los filtros tales como: número, pendiente, espaciamiento, ancho de
banda y la forma en la que el espectro es obtenido. Además del rango de frecuencia de
interés, la selección del subconjunto actual del número de coeficientes MFCC en la
clasificación suele ser diferente. Los más utilizados y reportados son:
•MFCC FB-20. Introducido en 1980 por Davis y Mermelstein; en el cual ellos consideran una
frecuencia de muestreo de 10kHz; y un ancho de banda de [0,4600] Hz.
•MFCC FB-24 HTK. El HTK de la universidad de Cambridge descrito por Steve Young, 1995,
el cual utiliza un banco de filtros de 24 para un ancho de banda de [0, 8000]Hz (una razón
de muestreo mayor o igual a 16 kHz).
•MFCC FB-40. Dicho diseño se realizó en el Auditory Toolbox de MATLAB que fue escrito
por Slaney en 1998; Slaney consideró una razón de muestro de 16kHz y un ancho de banda
de la voz de [133 6854]Hz.
•HFCC FB-24. Coeficientes Cepstrales de Factor Humano; descritos por Skowronsky y
Harris en 2004, los autores consideraron una razón de muestreo de 12.5 kHz y un ancho de
banda de [0 6250] Hz.
22
EVALUACIÓN COMPARATIVA DE
VARIAS IMPLEMENTACIONES DE LOS
MFCC
Una de las principales razones que motiva la
gran diversidad de implementaciones de los
MFCC es el deseo de los investigadores de
continuar el progreso realizado en el área de
psicoacústica durante años. Considere las
varias aproximaciones de la percepción no
lineal del pitch por el sistema auditivo humano.
Una aproximación temprana conocida como la
escala de Koeing es lineal por debajo de 1000
Hz y logarítimica por encima de dicha
frecuencia. Esto otorga una implementación no
muy cara computacionalmente de la escala de
Mel, la cual sin embargo no es muy precisa y
significativamente se deriva de la escala original
para frecuencias por debajo de y por encima de
frecuencias de 1000 Hz. Una aproximación más
precisa se debe a Fant:
|
.
|

\
|
+ · =
=
|
|
.
|

\
|
+ · =
1000
1 log
2 log
1000
1000
:
1 log
^
^
lin
n
n
mel
b
b
lin
n const mel
f
f
mente específ ica más
F
donde
F
f
k f
La última expresión resulta con una
aproximación más cercana a la escala de
Mel en el rango de frecuencia de [0, 5] kHz,
cuando se compara con la aproximación
ofrecida por la escala de Koeing.
23
VARIAS IMPLEMENTACIONES DE LOS
MFCC
Otras implementaciones de la escala de Mel que fueron
derivadas del trabajo de Zhang “Comparison of different
implementations of MFCC”, 2001, hacen uso del logaritmo
decimal o natural, lo cual trata con diferentes elecciones
de la constante K
const
. A continuación se ilustra lo antes
mecionado.
|
.
|

\
|
+ · =
|
.
|

\
|
+ · =
700
1 ln 1127
700
1 log 2595
^
10
^
lin
mel
lin
mel
f
f
f
f
Las cuales son ampliamente utilizadas en las implementaciones de las MFCC. Las dos
ecuaciones otorgan una aproximación más cercanas a la escala de Mel para frecuencias
por debajo de 1000 Hz.
24
Un banco de filtros con M filtros triangulares de peso igual son construidos. Cada uno de
esos M filtros se definen de la forma:
En el paradigma introducido por Mermelstein y Davis, 1980 los novedosos MFCC fueron
diseñados como un conjunto de parámetros descorrelacionados de la transformada coseno
discreta, los cuales fueron calculados a partir de la transformación de las energías de los
filtros de salida comprimidos logarítmicamente. Estas energías fueron derivadas a lo largo de
bancos de filtros espaciados perceptualmente de 20 filtros triangulares equiespaciados que
son aplicados sobre la transformada discreta de Fourier. Brevemente, dada la DFT de una
señal discreta x(n),
LOS MFCC ORIGINALES FB-20
( )
( )
( )
( )
( )
M i
f k para
f k f para
f f
k f
f k f para
f f
f k
f k para
k H
i
i i
i i
i
i i
i i
i
i
b
b b
b b
b
b b
b b
b
b
i
,......, 2 , 1 ,
0
0
1
1
1
1
1
1
1
1
=
¦
¦
¦
¹
¦
¦
¦
´
¦
>
s s
÷
÷
s s
÷
÷
<
=
÷
+
+
+
÷
÷
÷
÷
¿
÷
=
÷ =
|
.
|

\
|
÷
· =
1
0
1 ,....., 1 , 0 ,
2
exp ) ( ) (
N
n
N k
N
nk j
n x k X
t
25
En donde i indica el i-
ésimo filtro, son los
puntos de frontera de
los filtros, y k=1,2,….,N
corresponde a los k-th
coeficientes de la DFT
de N puntos. Los
puntos frontera se
expresan en términos
de posición, los cuales
dependen de la
frecuencia de
muestreo Fs y el
número de puntos N
en la DFT.
LOS MFCC ORIGINALES FB-20
( )
( ) ( )
(
(
¸
(

¸

÷
|
|
|
.
|

\
|
· = =
=
=
=
=
|
|
|
.
|

\
|
+
÷
· + ·
|
|
.
|

\
|
=
÷
÷
÷
1
1127
exp 700
:
1
^
1
^
1
^
^ ^
^
1
^
mel
lin mel
mel
high
low
low mel high mel
low mel mel
s
b
f
f f
inversa ión tranf ormac la es f
f iltros de número M
f iltros de banco del alta f recuencia f
f iltros de banco del baja f recuencia f
donde
M
f f f f
i f f f
F
N
f
i
i
b
f
i
b
f
26
LOS MFCC ORIGINALES FB-20
Los puntos finales de cada uno de los filtros triangulares están determinados por las
frecuencias centrales de sus filtros adyacentes. De tal forma que el ancho de banda de los
filtros no es una variable independiente.
El banco de filtros de Davis y Mermelstein está comprimido a solamente 20 filtros de pesos
iguales los cuales cubren el rango de frecuencia de [0, 4600] Hz. Las frecuencias centrales
de los primeros diez se encuentran linealmente espaciadas entre 100 Hz y 1000Hz, y los
siguientes diez tienen la frecuencias centrales logarítmicamente espaciadas entre 1000 Hz y
4000Hz. La elección de las frecuencias centrales para el i-ésimo filtro puede ser aproximado
por:
( )
Hz en dada central f recuencia f
donde
i f
i i
f
i
i
c
i
c
c
=
¹
´
¦
= ·
= ·
=
÷
:
20 ,.., 11 , 2
10 ,..., 1 , 100
10 2 . 0
10
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Lumped.-
amontonado
42
43
44
45
LA TRANSFORMADA COSENOIDAL
DISCRETA
La transformada de Coseno Discreta es una
transformación basada en la Transformada
discreta de Fourier, pero utilizando
solamente números reales.
Expresa una secuencia de muchos puntos
de datos en términos de una suma de
funciones coseno oscilando a diferentes
frecuencias. Sus aplicaciones son
importantes sobre todo en aquellas en
donde componentes pequeñas de alta
frecuencia se pueden descartar. El uso de
la función coseno en lugar de la función
seno ha demostrado ser más útil (p. e. la
compresión de información), existen 8
variantes de la transformada coseno
discreta, de las cuales sólo 4 son las más
utilizadas o comunes.

46
GRÁFICA DE LA DFT Y LA
DCT DE UNA SEÑAL DE VOZ
y=wavread('a10.wav');
xr=5000;
yprueba=y(xr:xr+511);
figure(1);
plot(yprueba);
% preenfasis
for (i=length(yprueba)-1:-1:2)
yprueba(i)=yprueba(i) - yprueba(i-1)*0.97;
end
figure(2);
plot(yprueba);
hamm=hamming(512);
x=hamm.*yprueba;
figure(3);
plot(x);
ffty=abs(fft(x));
hffty=ffty(1:256);
figure(4);
plot((1:256),40*log10(hffty),'red')
dcty=dct(x);
figure(5);
plot((1:512),40*log10(dcty),'red')
47
Formalmente, la transformada coseno discreta a una función invertible y lineal del tipo:


(donde, R denota el conjunto de los números reales), o de forma equivalente una matriz
cuadrada invertible de orden N x N. Existen muchas variantes de la DCT. Los N números
reales x0, x1,……..,xN-1 son transformados dentro de los N números reales X0, X1,….,XN-1
de acuerdo a cada una de las fórmulas.
DCT-II
LA TRANSFORMADA COSENO
DISCRETA
1 ,......, 0 ,
2
1
cos
1
0
÷ =
(
¸
(

¸

|
.
|

\
|
+ =
¿
÷
=
N k k n
N
x X
N
n
n k
t
N N
f 9 ÷ 9 :
48
CÁLCULO DE LOS MFCC MEDIANTE HTK
A continuación se describe la forma en que el HTK realiza el cálculo de los coeficientes
MFCC para el reconocimiento de voz por computadora. Basándonos en el algoritmo
siguiente se tiene:
49
CÁLCULO DE LOS MFCC MEDIANTE HTK
Antes de proceder a calcular la
FFT de la señal, el HTK realiza el
cálculo de los Filtros de Mel
correspondientes, para determinar
la cantidad de información que
generará y operar de manera
adecuada las operaciones de
multiplicación entre elementos.
Para calcular los MFCCs, el HTK
dispone de siete funciones, las
cuales se describen a
continuación:
float Mel
float WarpFreq
FBankInfo InitFBank
void Wave2FBank
FBankInfo InitFBank
FBank2MFCC
FBank2MelSpec
50
CÁLCULO DE LOS MFCC MEDIANTE HTK
Antes de comenzar a describir cada una de las funciones, se hace necesario la forma en
que HTK agrupa a las características de los bancos del filtro, la siguiente estructura definida
por los programadores nos ilustra esta situación:
51
FBankInfo InitFBank
Esta función inicializa a la estructura mostrada anteriormente antes de llamar a la función
Wave2FBank. Se analiza con detalle. La declaración de la función es:
52
FBankInfo InitFBank
53
FBankInfo InitFBank
54
FBankInfo InitFBank
55
float Mel y float WarpFreq
56
void Wave2FBank
57
void Wave2FBank
58
void FBank2MFCC, void FBank2MelSpec
y void MelSpec2FBank

Sign up to vote on this title
UsefulNot useful