主要内容

使用MATLAB生成混响的墨西哥人加速代码类

这个例子展示了如何加速使用MATLAB的MATLAB®算法的执行类。的类创建一个混响效果,也就是说,“回声”你听到一个很大的空房间。

实现一个简单的混响效果

有很多方法可以实现一个混响效果具有不同特点。音频质量而言,这不是一个先进的效果,但显示了使用MATLAB类的功能与MATLAB编码器™。

混响效果实现基于以下框图:

图中只显示第一个延迟线。想象另一个七延迟线路图中重复但每个延迟线个体延迟和相关反馈增益。户主反射(即。hhreflect函数)本质上是混合/变更不改变信号的能量信号。因此,我们基本上是复制输入信号和喂养小时间位移。结果是一个混响效果。

文件使用

  • reverb_test.m:主文件测试的混响效果

  • do_reverb.m:函数混响的抽象类

  • Reverb.m:效果实现MATLAB实现为一个类

  • Delay.m:延迟效应Reverb.m作为一个MATLAB实现类

  • hhreflect.m:户主反射Reverb.m

  • get_prime.m:函数来计算素数(Reverb.m)

  • speech_dft.mat:测试示例文件

生成一个墨西哥人的功能

codegendo_reverb
代码生成成功。

函数运行的墨西哥人

这个过程的示例文件(speech_dft.mat),应用混响效果,将结果输出到电脑的音频输出。

reverb_test;
运行时间= 9毫秒

生成一个更快的墨西哥人的功能

禁用完整性检查(如绑定检查矩阵)来获得更快的但可能不安全的墨西哥人的功能。

cfg = coder.config;cfg。IntegrityChecks = false;codegen配置cfgdo_reverb
代码生成成功。

重试墨西哥人的功能

reverb_test;
运行时间= 4毫秒