用c语言提取44100hz的40个mfcc系数中当mel滤波器组为128个、加窗为1048时各个步骤的参数如何变化
时间: 2024-02-29 14:56:27 浏览: 58
电容滤波器的C语言程序
在提取44100Hz的40个MFCC系数时,当Mel滤波器组为128个、加窗为1048时,各个步骤的参数如下:
1. 预加重:预加重滤波器的增益因子为0.97。
2. 分帧:将预加重后的语音信号分成长度为25ms或30ms的帧,且相邻两帧重叠10ms。
3. 加窗:对每一帧信号进行长度为1048的汉明窗加窗处理,以减少频域泄漏。
4. 快速傅里叶变换(FFT):对加窗后的每一帧信号进行FFT变换,将时域信号转换为频域信号,得到2048个频率点。
5. 功率谱估计:对FFT变换的结果进行模平方运算,得到每一帧信号的功率谱,有2048个功率谱系数。
6. Mel滤波器组:将功率谱通过128个Mel滤波器进行滤波,得到128个Mel频率倒谱系数(MFCC)。
7. 离散余弦变换(DCT):对MFCC系数进行DCT变换,得到最终的40个MFCC系数。
8. 能量归一化:对MFCC系数进行能量归一化处理,以消除不同说话者之间的能量差异。
需要注意的是,当Mel滤波器组的数量增加时,可以更好地保留语音信号的谐波结构和共振峰信息,但也会增加计算量和存储量。当加窗长度为1048时,可以兼顾时域和频域的分辨率,以获得更好的频谱信息。
阅读全文