我正在寻找基于MFCC的语音识别系统。现在我有三个相同的词来比较它的MFCC。
但是有一些问题:因为我精力充沛,所以我不知道该怎么做。我用C#编写代码。 好吧,我认为我的过滤器很好 filter[i,j]
然后我拿走了我的文件,像
那样预先设置了它Word1[i] = Word1[i] - 0.97 * Word1[i - 1];
切成56帧,重叠10ms,通过Ham窗口。进行每帧的FFT。从那一步开始,我认为我错了:
if (filter[i, j] != 0) logFFT[i] += Math.Log(Math.Pow(ComplexFFT[j]),2)*filter[i,j]);
根据log 和MFCC终于
for (int i = 1; i < 13; i++)
{
for (int j = 0; j < 26; j++)
{
MFCC[i] += logFFT[j] * Math.Cos(((Math.PI * i) / (double)(256)) * (j - 0.5));
MFCC[i] *= Math.Pow(coef, 0.5);
}
}
我真的不明白这一步: MFCC 我们总结了我们在上一步中获得的内容(这是一些数字)并将其乘以仅取决于索引的cos。
所以,我得到了一个cos形状的图像,而不是我在样本中看到的那些随机点。我将非常感谢你的帮助。