梅尔频率倒谱系数(MFCCs)是语音和音频处理中常用的特征。它们提供了信号功率谱的紧凑表示,捕捉了语音识别、说话人识别和情感分析等任务的关键特征。
计算 MFCCs 的步骤:
- 预加重: 将高通滤波器应用于信号,以增强高频并提高清晰度。
- 分帧: 将信号分成短帧(例如,20-40 毫秒),以假设每个帧内的平稳特性。
- 加窗: 将每个帧乘以窗口函数(例如,汉明窗)以减少频谱泄漏。
- 快速傅里叶变换(FFT): 将时域信号转换为频域信号。
- 梅尔滤波器组处理: 将频谱转换为梅尔尺度,该尺度模拟人类的听觉感知。
- 对数和离散余弦变换(DCT): 应用对数缩放,然后进行 DCT 以去相关特征并提取倒谱系数。
- 选择系数: 通常,前 12-13 个系数(不包括代表总能量的第一个系数)用作特征。
MFCCs 的应用:
- 语音识别(例如,Google Assistant、Siri)
- 说话人识别
- 情感识别
- 音乐分类
- 环境声音分类
Python 示例
在 Python 中计算 MFCCs
https://gist.github.com/viadean/17f05f66656b4b57fe82cea3ddb871c3
代码解释:
- 加载音频: 使用 Librosa 加载示例语音文件。