文章目录
1.定义
在语音识别(SpeechRecognition)和话者识别(SpeakerRecognition)方面,最常用到的语音特征就是梅尔倒谱系数(Mel-scaleFrequency Cepstral Coefficients,简称MFCC)。根据人耳听觉机理的研究发现,人耳对不同频率的声波有不同的听觉敏感度。从200Hz到5000Hz的语音信号对语音的清晰度影响对大。两个响度不等的声音作用于人耳时,则响度较高的频率成分的存在会影响到对响度较低的频率成分的感受,使其变得不易察觉,这种现象称为掩蔽效应。由于频率较低的声音在内耳蜗基底膜上行波传递的距离大于频率较高的声音,故一般来说,低音容易掩蔽高音,而高音很难掩蔽低音。在低频处的声音掩蔽的临界带宽较高频要小。所以,人们从低频到高频这一段频带内按临界带宽的大小由密到疏安排一组带通滤波器,对输入信号进行滤波。将每个带通滤波器输出的信号能量作为信号的基本特征,对此特征经过进一步处理后就可以作为语音的输入特征。由于这种特征不依赖于信号的性质,对输入信号不做任何的假设和限制,又利用了听觉模型的研究成果。因此,这种参数比基于声道模型的LPCC的鲁棒性(所谓“鲁棒性”,也是指控制系统在一定(结构,大小)的参数变动下,维持其它某些性能的特性。比如说,计算机软件在输入错误、磁盘故障、网络过载或有意攻击情况下,能否不死机、不崩溃,就是该软件的鲁棒性。)更好,相比更符合人耳的听觉特性,而且当信噪比降低时仍然具有较好的识别性能。
2.Mel频率分析
我们刚才做了倒谱分析。给我们一段语音,我们可以得到了它的频谱包络(连接所有共振峰值点的平滑曲线)。但是,对于人类听觉感知的实验表明,人类听觉的感知只聚焦在某些特定的区域,而不是整个频谱包络。
而Mel频率分析就是基于人类听觉感知实验的。实验观测发现人耳就像一个滤波器组一样,它只关注某些特定的频率分量(人的听觉对频率是有选择性的)。也就说,它只让某些频率的信号通过,而压根就直接无视它不想感知的某些频率信号。但是这些滤波器在频率坐标轴上却不是统一分布的,在低频区域有很多的滤波器,他们分布比较密集,但在高频区域,滤波器的数目就变得比较少,分布很稀疏。
人的听觉系统是一个特殊的非线性系统,它响应不同频率信号的灵敏度是不同的。在语音特征的提取上,人类听觉系统做得非常好,它不仅能提取出语义信息, 而且能提取出说话人的个人特征。如果在语音识别系统中能模拟人类听觉感知处理特点,就有可能提高语音的识别率。
梅尔频率倒谱系数(Mel Frequency Cepstrum Coefficient, MFCC)是在Mel标度频率域提取出来的倒谱参数,Mel标度描述了人耳频率的非线性特性。也就是MFCC考虑到了人类的听觉特征,先将线性频谱映射到基于听觉感知的Mel非线性频谱中,然后转换到倒谱上。
将普通频率转化到Mel频率的公式是:
F m e l ( f ) = 2595 ∗ lg ( 1 + f / 700 ) F_{m e l}(f)={\color{Red}2595} * \lg(1+f / 700) Fmel(f)=2595∗lg(1+f/700)
F m e l ( f ) 是 以 M e l 为 单 位 的 感 知 频 率 , f 是 以 H z 为 单 位 的 实 际 频 率 。 其 中 2595 是 以 10 为 底 得 到 的 。 以 e 为 底 得 到 1125 F_{m e l}(f)是以Mel为单位的感知频率,f是以Hz为单位的实际频率。其中2595是以10为底得到的。以e为底得到1125 Fmel(f)是以Mel为单位的感知频率,f是以Hz为单位的实际频率。其中2595是以10为底得到的。以e为底得到1125
从梅尔回到频率的公式为:
F m e l − 1 ( m ) = 700 ( 1 0 ( m / 2595 ) − 1 ) F_{m e l}^{-1}(m)=700(10^{(m / 2595)} -1) Fmel−1(m)=700(10(m/2595)−1)
下图展示了Mel频率(感知频率)与线性频率的关系:它可以将不统一的频率转化为统一的频率,也就是统一的滤波器组。
在Mel频域内,人对音调的感知度为线性关系。举例来说,如果两段语音的Mel频率相差两倍,则人耳听起来两者的音调也相差两倍。
3.编写Mel滤波器函数
以M=6(6个滤波器)为例,fl、fh、fs、N、M的值一旦确定就固定不变。
将F_{mel}(fl)至F_{mel}(fh)的Mel频率范围均分为M+1=7段,
产生M+2=8个Mel频率值。
F m e l ( f l ) + 0 F m e l ( f h ) − F m e l ( f l ) M + 1 第 1 个 M e l 频 率 值 F m a l ( f l ) + 1 F m e l ( f h ) − F m e l ( f l ) M + 1 第 2 个 M e l 频 率 值 F m a l ( f l ) + 2 F m e l ( f h ) − F m e l ( f l ) M + 1 第 3 个 M e l 频 率 值 F m e l ( f l ) + 3 F m e l ( f h ) − F m e l ( f l ) M + 1 第 4 个 M e l 频 率 值 F m e l ( f l ) + 4 F m e l ( f h ) − F m e l ( f l ) M + 1 第 5 个 M e l 频 率 值 F m e l ( f l ) + 5 F m e l ( f h ) − F m e l ( f l ) M + 1 第 6 个 M e l 频 率 值 F m a l ( f l ) + 6 F m e l ( f h ) − F m e l ( f l ) M + 1 第 7 个 M e l 频 率 值 F m e l ( f l ) + 7 F m e l ( f h ) − F m e l ( f l ) M + 1 第 8 个 M e l 频 率 值 \begin{array}{l}{F_{m e l}\left(f_{l}\right)+0 \frac{F_{m e l}\left(f_{h}\right)-F_{m e l}\left(f_{l}\right)}{M+1}}第1个Mel频率值 \\ {F_{m a l}\left(f_{l}\right)+1 \frac{F_{m e l}\left(f_{h}\right)-F_{m e l}\left(f_{l}\right)}{M+1}} 第2个Mel频率值\\ {F_{m a l}\left(f_{l}\right)+2 \frac{F_{m e l}\left(f_{h}\right)-F_{m e l}\left(f_{l}\right)}{M+1}}第3个Mel频率值 \\ {F_{m e l}\left(f_{l}\right)+3 \frac{F_{m e l}\left(f_{h}\right)-F_{m e l}\left(f_{l}\right)}{M+1}}第4个Mel频率值 \\ {F_{m e l}\left(f_{l}\right)+4 \frac{F_{m e l}\left(f_{h}\right)-F_{m e l}\left(f_{l}\right)}{M+1}}第5个Mel频率值\\ {F_{m e l}\left(f_{l}\right)+5 \frac{F_{m e l}\left(f_{h}\right)-F_{m e l}\left(f_{l}\right)}{M+1}}第6个Mel频率值 \\ {F_{m a l}\left(f_{l}\right)+6 \frac{F_{m e l}\left(f_{h}\right)-F_{m e l}\left(f_{l}\right)}{M+1}} 第7个Mel频率值\\ {\quad F_{m e l}\left(f_{l}\right)+7 \frac{F_{m e l}\left(f_{h}\right)-F_{m e l}\left(f_{l}\right)}{M+1}}第8个Mel频率值\end{array} Fmel(fl)+0M+1Fmel(fh)−Fmel(fl)第1个Mel频率值Fmal(fl)+1M+1Fmel(fh)−Fmel(fl)第2个Mel频率值Fmal(fl)+2M+1Fmel(fh)−Fmel(f