C#基于NAudio的声音识别(二)——MFCC+SVM/BP

本文是关于C#中使用NAudio库进行声音识别的续篇,主要涉及MFCC特征提取和SVM、BP神经网络的结合应用。作者分享了在实践中遇到的问题及解决方案,包括处理MFCC特征长度不一的方法、EmguCV不同版本的训练文件读写差异以及SVM和BP的使用经验。尽管SVM在某些情况下表现不佳,但BP能取得较好的分类效果。
摘要由CSDN通过智能技术生成

书接上文,切割后的文件转换特征为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;
                }<
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值