MFCC特征介绍
在语音识别技术中,需要提取音频的特征,然后就可以使用该音频进行模型的训练或者是进行识别,目前很常用的一种特征叫做MFCC特征,又叫做梅尔倒谱系数特征。MFCC特征保留了语义相关的一些内容,过滤掉了诸如背景杂音等无关的信息。MFCC的特点是使用一组用来创建梅尔倒谱的关键系数,这样使得它的倒频谱和人类非线性的听觉系统更为接近。
具体步骤如下:
- 对音频信号进行分帧加窗
- 将信号进行傅里叶变换
- 将频谱映射到梅尔刻度
- 取对数
- 进行DCT变换
为什么要对音频信号进行分帧加窗?
因为音频信号本身是非平稳信号,主要是由于发声器官的运动不可预测带来的短时变,因此不能直接进行信号处理和分析。但发声器官的状态变化速度较声音振动的速度要缓慢的多,因此为了获得一段平稳的信号,就可以采取分帧的处理方法。假设在很短的时间内,信号是平稳的,通常取值在20-40ms之间作为一帧。
得到一帧的信号后,还需要进行加窗处理,主要原因是由于直接对信号截断会产生频谱泄露,为了改善频谱泄露的情况,需要进行加窗,通常选择汉明窗,因为汉明窗的幅频特性是旁瓣衰减较大。
加窗的代价是一帧两端的信号被削弱了,因此需要进行帧移,就是分帧的时候需要在帧与帧之间重叠一部分,通常取值为0-1/2之间。分帧加窗之后就可以进行傅里叶变换,得到一帧的频谱。
python可以直接调用librosa库来获取MFCC特征,具体如下:
import librosa
import librosa.display
from matplotlib import pyplot as plt
audio_path=