语音信号特征提取——梅尔频率倒谱系数(MFCC)

**

语音信号特征提取——梅尔倒谱系数(MFCC)

**

一、什么是MFCC

  梅尔倒谱系数(Mel-scale Frequency Cepstral Coefficients,简称MFCC)是在Mel标度频率域提取出来的倒谱参数。Mel标度描述了人耳频率的非线性特性,它与频率的关系可用下式近似表示:
在这里插入图片描述
  式中f为频率,单位为Hz。下图展示了Mel频率与线性频率的关系:
语音信号特征提取——梅尔频率倒谱系数(MFCC)_第1张图片

二、为什么要用Mel频率

  对于人类听觉感知的实验表明,人类听觉的感知只聚焦在某些特定的区域,而不是整个频谱包络。 而Mel频率分析就是基于人类听觉感知实验的。实验观测发现人耳就像一个滤波器组一样,它只关注某些特定的频率分量(人的听觉对频率是有选择性的)。也就说,它只让某些频率的信号通过,并且直接无视它不想感知的某些频率信号。但是这些滤波器在频率坐标轴上却不是统一分布的,在低频区域有很多的滤波器,他们分布比较密集,但在高频区域,滤波器的数目就变得比较少,分布很稀疏。因此,我们先将线性频谱映射到基于听觉感知的Mel非线性频谱中,然后转换到倒谱上。

三、如何得到倒谱系数

  我们在处理语音信号时,选择合适的方式来体现其中的信息是非常的重要,方式选择越好,越容易理解其中的信息。首先我们介绍一下语谱图(Spectrogram)。
语音信号特征提取——梅尔频率倒谱系数(MFCC)_第2张图片
  上图中,先把一段语音信号分帧后再进行短时傅里叶变换(STFT)得到每一帧的频谱。
语音信号特征提取——梅尔频率倒谱系数(MFCC)_第3张图片
语音信号特征提取——梅尔频率倒谱系数(MFCC)_第4张图片语音信号特征提取——梅尔频率倒谱系数(MFCC)_第5张图片
  为了能够在二维图形中既表现出频率和振幅关系,又体现出它们在时域上的变化,因此我们在横轴时间纵轴频率的二维坐标轴中用灰度值来反映振幅大小。振幅越高,对应区域越暗。这就是语谱图。
语音信号特征提取——梅尔频率倒谱系数(MFCC)_第6张图片
  图中暗区代表的就是共振峰。通过观察共振峰和它们的转变能够更好的识别语音信号。
  下面我们来看一段语音信号的频谱。峰值(共振峰)表示语音信号中的主频成分,共振峰代表声音的特性。
语音信号特征提取——梅尔频率倒谱系数(MFCC)_第7张图片
  因此,为了更好的表示语音信号的特征,我们希望从频谱中分离出频谱的包络线(连接共振峰的光滑曲线)和频谱细节(其中log X[k] = log H(k) + log E(k) )。包络既可以很好的表示共振峰,也能反映出共振峰之间的转变。
语音信号特征提取——梅尔频率倒谱系数(MFCC)_第8张图片
  下面我们来看看如何把两者分离开并得到包络。
语音信号特征提取——梅尔频率倒谱系数(MFCC)_第9张图片
语音信号特征提取——梅尔频率倒谱系数(MFCC)_第10张图片
语音信号特征提取——梅尔频率倒谱系数(MFCC)_第11张图片
  总结上面PPT中的内容即为:
1)讲原信号经过FFT(傅里叶变换)得到该信号的线性振幅谱频谱X[k](X[k] = H[k]E[k] ),两边取绝对值即||X[k]|| = ||H[k]|| ||E[k]||,再转换成对数振幅谱即log X[k] = log H[k] + log E[k]。
2)对对数谱进行傅里叶反变换(IFFT)得到x[k](x[k] = h[k] + e[k])。
3)经过低通滤波器即可得到h(k)。
其中,X[k]就是倒谱(Cepstrum,);h[k]就是x[k]的低频信号即谱包络。

总结

  提取MFCC的步骤可总结如下:
1)将语音信号进行预加重后分帧加窗。
2)对加窗后的信号进行傅里叶变换(FFT)得到对数谱。
3)把频谱通过梅尔滤波(Mel-Filters)得到梅尔频谱(Mel-Spectrum)。
4)将滤波器组的输出取绝对值或者平方对数得到其能量。
5)对其进行离散余弦变换(DCT)得到MFCC系数
  因为标准的MFCC只反映了语音信号的静态特性,所以我们经常通过加入这些静态特征的差分谱来描述其动态特性。因此,通常MFCCs由MFCC系数+MFCC一阶差分系数+MFCC二阶差分系数组成(通常会根据实际需要选择是否加入差分信号和它们的混合比例)。

参考文献

[1] CMU大学课程PPT(写的很好)
http://www.speech.cs.cmu.edu/15-492/slides/03_mfcc.pdf

你可能感兴趣的:(深度学习,机器学习)