推荐一个非常好的网址,它介绍 filter banks 和 MFCCs 得非常好。
并且我的总结就是来自于这个网址, 并且学习到的代码记录在github
首先 Filter Banks 和 MFCCs 的原理流程框图如图1 所示。
图1 Filter Banks 和 MFCCs 的原理流程框图总结的一些知识点:
1、预加重使用公式 y(t)=x(t)−αx(t−1) , α 一般取 0.95 或 0.97
在存在均值归一化的情况下,预加重可能起到的作用并不大,因此在现在的语音识别系统中并不要求有预加重这一操作。
2、语音处理中的典型帧大小范围为20ms至40ms,连续帧之间具有50%(+/- 10%)重叠。
3、hanming window : , 其中 N 是 一帧包含的点数。
4、N 点 FFT 一般 N 取 256 或 512 且功率谱的计算公式为:
5、filter banks 的个数即为三角滤波器的个数,一般取 40 。 频率 f 和 mel 频率的映射公式如下,记得在编程时使用小数(例如:700 --> 700.0)
6、三角滤波器的方程及图为:
7、如果机器学习算法不易受高度相关输入的影响,请使用Mel缩放滤波器组。 如果机器学习算法易受相关输入的影响,请使用MFCC。(不太理解这句话的意思。。。)
网友评论