Mel频率倒谱系数 - 语音特征提取

时间:2013-05-26 05:24:54

标签: speech-recognition libsvm speech feature-extraction mfcc

我目前正在开展一个与语音识别相关的项目,其中鼠标事件如右键单击,左键单击,双击等等将作为语音命令给出。因此,作为第一步,我的主管告诉我使用Mel频率倒谱系数提取每个语音命令的功能,并使用LIBSVM格式将这些提取的特征存储在文本文件中。我在互联网上使用了一些参考资料实施了MFCC。但我不确定这是正确的。我不确定MFCC的输出。当我说'对'时,我的程序给出了类似的东西

e.g -15.211534  8.230449    2.150475    4.000576    -0.037819   -1.083192   0.102314    0.232710    -0.813507   -0.349909   0.850858
  1. 有人可以解释一下MFCC应该得到什么样的国王
  2. 如何以LIBSVM格式存储MFCC提取的功能。
  3. 并且有人可以帮助我找到适合我的问题的正确的MFCC实现。

1 个答案:

答案 0 :(得分:0)

在尝试分析语音时,大多数现代解决方案使用一系列MFCC系数,而不仅仅是单个系数。一般来说,获得MFCC是这样的:

complexSpectrum = fft(signal)
powerSpectrum = abs(complexSpectrum) ** 2
filteredSpectrum = melFilterBank(powerSpectrum)
logSpectrum = log(filteredSpectrum)
dctSpectrum = dct(logSpectrum)

你可以在30ms的窗口上进行此操作,在10ms的步长中沿着信号滑动。

至于精确的实现,如果你发现Java更熟悉,你可以学习用C(sfbcep util)或Spro编写的Sphinx中的代码。