新版的Matlab2019增添了不少新功能,AudioToolBox介绍和使用时遇到的问题
本人由于由于需要进行主动降噪算法的开发,需要对算法和实际效果进行试验,希望找到一个最高效的方式,由于对C++一点都不懂,只会C,所以限制了部分操作。
一开始,考虑使用Labview+DLL的方式来进行调试,这种方式有弊端也有优势,具体操作和使用会在后面再讲述,先讲讲为什么要用MATLAB。
其实,本人之前一直使用的是2014b版本,版本太高电脑很卡(PS.穷人买不起好电脑),另外手头刚好有个不用声卡,突然想起来之前做语音识别的时候可以通过Matlab采集声音以后进行运算,想到为什么不能用声卡输入信号使用Matlab进行实时处理呢?
那么问题就来了,搜了大量的资料,好像使用Matlab做实时处理的都需要特殊的采集卡,使用普通声卡的资料非常非常少,很多搜到的都不能用,但是本着遇到问题非得解决的心理,就硬搜,谷歌都搜烂了,查到个audiorecorder,analoginput 发现根本就不能实时处理,这让人头都大了,想着不可能啊,这么高级的工具怎么不能实时处理呢?
通过谷歌搜索matlab realtime 惊喜的发现matlab从2016b版本之后添加了AudioToolBox工具箱,并且有专门的的RealTime处理dspToolBox工具箱,但是代码和之前的版本不兼容,网上的资料根本没有,我希望在这里写一写,能帮助和我有一样问题的人。
进入正题,开始使用这个工具箱,并连接硬件,进行测试输入输出。
首先,最重要的你需要安装几个东西,这几个非常的不好发现,如果版本不对可能会遇到很多问题,本人通过各种骚操作,确定了下面这个搭配是最合适的,之前的代码不兼容,不要去搜了,用起来问题非常的多,而且不好用。本人系统为win10专业版测试OK
1.matlab 2019b或全新版本
2.Vs2017 (这里墙裂建议使用Vs Installer安装,需要安装如下单个组件,确定需要安装UWP win10 SDK (10.0.156063)版本,不然后期不能编译VST文件,其他版本不行,仅此版本可以)另外VS2017基本上支持其他编译包括DLL所以装有其他版本的VS如果你需要这个功能还是需要装VS2017的,不需要**,当然**也可以不影响操作。
3. NI-DAQ 17.1版本或更新(不装这个设备认不出来,非常非常的坑,搞了好几天才搞出来,这个问题搜不到,看官方说明非常模糊,因为同时搞LabView所以NI的东西还是比较熟悉,看到matlab报错比较敏感)只装NI-MAX不行,NI-MAX是可以在LabView里面调用设备的驱动,驱动非常多,装完电脑就爆炸了,不装又不行。
4. 声卡的ASIO驱动或者WASAPI驱动,如果没有,这个不要紧可以用win自带的驱动,就是会比较卡,处理起来延时比较高。