书接上文,切割后的文件转换特征为MFCC(细节不表了,网搜的代码)。声音的特征和识别最好的组合绝对不是MFCC+SVM(后面我会讲为什么),我只是怎么怎么方便怎么来,看到这的准备做声音识别的同学请果断变道。
有了特征值就可以作为训练素材了,Emgucv版本更新快,不同版本的分类器参数设置方式不一样,这可以参见我以前的类似博客。
以下将走过的坑分享一下:
1.不定长声音的MFCC也不定长(废话),解决不定长,我用了人工指定的方式,即指定MFCC特征的个数,多的丢,少的补零。仅个人实践表明,特征越多分类效果越好,所以,多补零吧。
string[] MFCCa = MFCCs.Split(',');
for (int j = 0; j < chanum; j++)
{
if (j > MFCCa.Length - 2)//存的时候多了个“,”,所以回退一位
{
trainDate[i, j] = 0;
}
else
{
trainDate[i, j] = Convert.ToSingle(MFCCa[j]);
}
trainLab[i, 0] = 1;
}<