在声音处理领域中,梅尔频率倒谱(Mel-Frequency Cepstrum)是基于声音频率的非线性梅尔刻度(mel scale)的对数能量频谱的线性变换。
梅尔频率倒谱系数 (Mel-Frequency Cepstral Coefficients,MFCCs)就是组成梅尔频率倒谱的系数。它衍生自音讯片段的倒频谱(cepstrum)。倒谱和梅尔频率倒谱的区别在于,梅尔频率倒谱的频带划分是在梅尔刻度上等距划分的,它比用于正常的对数倒频谱中的线性间隔的频带更能近似人类的听觉系统。这样的非线性表示,可以在多个领域中使声音信号有更好的表示。例如在音讯压缩中。
梅尔频率倒谱系数(MFCC)广泛被应用于语音识别的功能。他们由Davis和Mermelstein在1980年代提出,并在其后持续是最先进的技术之一。在MFCC之前,线性预测系数(LPCS)和线性预测倒谱系数(LPCCs)是自动语音识别的的主流方法。
MFCC通常有以下之过程:
声音信号是连续变化的,为了将连续变化信号简化,我们假设在一个短时间尺度内,音频信号不发生改变。因此将信号以多个采样点集合成一个单位,称为'''讯框'''。一个讯框多为20-40毫秒,如果讯框长度更短,那每个讯框内的采样点将不足以做出可靠的频谱计算,但若长度太长,则每个讯框信号会变化太大。
预强化的目的就是为了消除发声过程中,声带和嘴唇造成的效应,来补偿语音信号受到发音系统所压抑的高频部分。并且能突显高频的共振峰。
由于信号在时域上的变化通常很难看出信号的特性,所以通常透过傅里叶变换将它变换成频域上的能量分布来观察,不同的能量分布,就能代表不同语音的特性。
由于能量频谱中还存在大量的无用讯息,尤其人耳无法分辨高频的频率变化,因此让频谱通过梅尔滤波器。梅尔滤波器,也就是一组20个非线性分布的三角带通滤波器(Triangular Bandpass Filters),能求得每一个滤波器输出的对数能量。必须注意的是:这 20 个三角带通滤波器在'''梅尔刻度'''的频率上是平均分布的。梅尔频率代表一般人耳对于频率的感受度,由此也可以看出人耳对于频率 f 的感受是呈对数变化的。
http://i.stack.imgur.com/YUH48.gif 页面存档备份,存于互联网档案馆
最后的步骤是计算对数滤波器的能量的离散傅里叶反变换,在此相当于离散余弦反变换(IDCT)。值得注意的是,虽然通常的会有24-26个系数,但我们只保留前12个系数。这是因为丢弃高倒频域值的DCT系数,代表一个类似低通滤波器的概念,可以使信号平滑化,能增进语音处理的性能。
在此过程中可以有很多变化,例如,映射时的窗口的形状和间距。 The 欧洲电信标准协会在2000年初定义了一个可以用在移动电话上的标准MFCC算法.
1.对该信号做傅里叶变换
X=FT{x}
2.根据下面公式算出Y
其中是梅尔频率倒频谱的遮罩
3.对Y做IDCT得
因为Y是偶函数,故用IDCT(反离散余弦变换)取代IDFT(反离散傅里叶变换)
与原倒频谱的差异
一.log里面因为使用了sum,故等于0的几率变小
二.避免了相位的问题
三.使用IDCT取代IDFT,减少了运算量
四.随着频率的增加而增宽,该特性符合人类听觉,更适合用来描述语音特征
MFCC主要作为语音识别系统中的特征,这样的系统可以自动识别语音中的数字内容。MFCC同样也用于说话人识别(英语:Speaker Recognition),该技术尝试通过语音该鉴别说话人。
MFCC也被用于语音信息检索(英语:music information retrieval)领域,如流派分类(genre classification)、音频相似性计算等。
比起倒频谱,梅尔倒频谱更接近人耳对于语音的区别性(因为遮罩)
用,MFCCs的前13项足以描述语音特征
MFCC特征在加性噪声的情况下并不稳定,因此在语音识别系统中通常要对其进行归一化处理(normalise)以降低噪声的影响。一些研究人员对MFCC算法进行修改以提升其强健性,如在进行DCT之前将log-mel-amplitudes提升到一个合适的能量(2到3之间),以此来降低低能量成分的影响.