mfcc学习记录

A

http://www.douban.com/note/324336892/

这个地方对mfcc各步骤有精简的讲解,关键是从原理上说明白了一些步骤。特复制之:

一,、概述

MFCC:Mel频率倒谱系数(Mel Frequency Cepstrum Coefficient,MFCC)的缩写。Mel(美尔)是主观音高的单位,而Hz(赫兹)则是客观音高的单位。Mel频率是基于人耳听觉特性提出来的,它与Hz频率成非线性对应关系。Mel频率倒谱系数(MFCC)则是利用它们之间的这种关系,计算得到的Hz频谱特征。

二、应用

MFCC已经广泛地应用在语音识别领域。由于Mel频率与Hz频率之间非线性的对应关系,使得MFCC随着频率的提高,其计算精度随之下降。因此,在应用中常常只使用低频MFCC,而丢弃中高频MFCC。

三、提取流程

MFCC参数的提取包括以下几个步骤:
 预滤波:CODEC前端带宽为300-3400Hz的抗混叠滤波器。
 A/D变换:8kHz的采样频率,12bit的线性量化精度。
 预加重:通过一个一阶有限激励响应高通滤波器,使信号的频谱变得平坦,不易受到有限字长效应的影响。
 分帧:根据语音的短时平稳特性,语音可以以帧为单位进行处理,实验中选取的语音帧长为32ms,帧叠为16ms。
 加窗:采用哈明窗对一帧语音加窗,以减小吉布斯效应的影响。
 快速傅立叶变换(Fast Fourier Transformation, FFT):将时域信号变换成为信号的功率谱。
 三角窗滤波:用一组Mel频标上线性分布的三角窗滤波器(共24个三角窗滤波器),对信号的功率谱滤波,每一个三角窗滤波器覆盖的范围都近似于人耳的一个临界带宽,以此来模拟人耳的掩蔽效应。
 求对数:三角窗滤波器组的输出求取对数,可以得到近似于同态变换的结果。
 离散余弦变换(Discrete Cosine Transformation, DCT):去除各维信号之间的相关性,将信号映射到低维空间。
 谱加权:由于倒谱的低阶参数易受说话人特性、信道特性等的影响,而高阶参数的分辨能力比较低,所以需要进行谱加权,抑制其低阶和高阶参数。
 倒谱均值减(Cepstrum Mean Subtraction, CMS):CMS可以有效地减小语音输入信道对特征参数的影响。
 差分参数:大量实验表明,在语音特征中加入表征语音动态特性的差分参数,能够提高系统的识别性能。在本系统中,我们也用到了MFCC参数的一阶差分参数和二阶差分参数。
 短时能量:语音的短时能量也是重要的特征参数,本系统中我们采用了语音的短时归一化对数能量及其一阶差分、二阶差分参数。

B

另有收藏的一篇博文:

http://blog.csdn.net/xiaoding133/article/details/8106672

较详细,对照的来看,不错

 

C

matlab代码,对照着看,对每一步都会很清楚。

HMM with skips and single Diagonal Gaussian,是一个做HMM的语音识别的代码,其中有MFCC特征提取的部分

http://sourceforge.net/projects/hmm-asr-matlab/files/V1.03/


D

voicebox中就有提取MFCC的函数,直接调用即可。

c=melcepst(x,fs,'e0dD');%39维MFCC特征,
c=melcepst(x,fs);  %12维MFCC

一般我们用到的MFCC有12维、13维(加入F0能量)、39维(13维的MFCC加上13维的一阶导和13维的二阶导)。

 

 

你可能感兴趣的