自己写代码提取MFCC,算法如下:
将使用此方法获得的 MFCC 值与使用 matlab 函数计算的值进行比较,我得到大致相同的图片,但显然 matlab 函数具有不同类型的归一化并且滤波器组以不同的方式计算,我的值是大约比在 matlab 中获得的值大一个数量级。
此外,我的实现还提供了一个帧,即一个具有 6400 个样本的声音信号在我的例子中有 $26 = rac{6400}{480-240}$ 帧,在 matlab 中有 25 个。
应用滤波器组之前的计算大致相似,除了在我的例子中 FFT 是用 512 点的长度计算的,而 matlab 中的 stft() 函数给出了 241 个值,即 480 点转换。 的值也相差大约一个数量级,但是如果使用值除以 10 的滤波器组,则图片与 matlab 的
不相似因此,(7 步)图像显示我的值中的第一个峰值(右侧)未显示,而 图像显示系数的值相差大约一个数量级。
这些值的原因可能是什么?
谢谢你的时间