主要内容

使用Freeverb添加混响算法

这个例子展示了如何使用Freeverb混响适用于音频混响算法。可以调整混响在MATLAB中使用用户界面(UI)或通过一个MIDI控制器。这个例子说明了MATLAB®和Simulink®的实现。金宝app

介绍

反射器是用于添加多个回声衰减的影响,或混音的音频信号。混响是模拟的常用音乐在一个封闭的房间里。大多数数字音频工作站(法)选项来添加这样的效果声轨。

在本例中,您通过Freeverb音频加混响算法。Freeverb是一个流行的施罗德反射器的实现。的高级模型Freeverb算法如下所示:

示例架构

实现反射镜系统中的对象audioexample.FreeverbReverberator。的对象有五个属性仿真运行时可以通过调优:RoomSize,StereoWidth,WetDryMix,平衡,体积RoomSize影响的反馈增益梳子过滤器。StereoWidthWetDryMix都参加混合阶段过滤完成后发生的。的默认值StereoSpread,CombDelayLength,AllpassDelayLength属性是取自Freeverb规范。

MATLAB仿真

使用音频信号的反射器,运行audioFreeverbReverberationExampleApp

audioFreeverbReverberationExampleApp

audioFreeverbReverberationExampleApp命令首先设置音频源和球员。然后迭代调用audioexample.FreeverbReverberator系统对象的音频输入,提供混响以流媒体的方式。回放的输出对象,这样你就可以听到效果添加到音频。

仿真打开一个界面与交互audioexample.FreeverbReverberator在仿真运行时。用户界面允许您调整参数和结果立即反映在模拟。例如,移动滑块房间大小仿真运行时左边的反射率降低房间的墙壁被模拟。

也有在UI——三个按钮重置按钮将重置状态的梳子和allpass部分初始值和反射器暂停仿真按钮将仿真直到你点击一次。仿真可以终止关闭UI或通过单击停止仿真按钮。如果你有一个MIDI控制器,它可以同步与UI。你可以通过选择一个MIDI控制在打开的对话框中当您右键单击滑块或按钮并从上下文菜单中选择“同步”。然后选择MIDI控制工作按照滑块或按钮,以便操作控制跟踪的另一个。

如果你看到很多队列暗流警告,您将需要调整音频播放器使用的缓冲和队列大小audioFreeverbReverberationExampleApp。更多信息可以在这个网站上找到的文档页面audioDeviceWriter。音频源在这个例子中是一个音频文件,但是你可以把它换成一个音频输入设备(通过audioDeviceReader)来添加住音频混响。减少延迟的方法而没有任何超支/欠载运行很有用,你可以效仿测量音频延迟

使用生成的墨西哥人文件

使用MATLAB编码器™,你可以生成一个墨西哥人文件主要由执行处理算法HelperFreeverbCodeGeneration命令。您可以使用生成的墨西哥人文件执行audioFreeverbReverberationExampleApp命令真正的作为参数。

audioFreeverbReverberationExampleApp(真正的)

金宝app仿真软件版本

audiofreeverbreverberation是同一Fr金宝appeeverb混响仿真软件模型,实现了例子强调了在前面的部分。

在这个模型中,添加混响建模使用audioexample.FreeverbReverberator系统对象内部使用MATLAB系统块。使用MATLAB系统块保存你的重新实现仿真软件MATLAB算法。金宝app你可以打开界面调整Freeverb参数通过单击发射参数调优UI的链接模式。

模型模拟时生成的代码。因此,它必须执行从一个文件夹的写权限。

确认

本例中的算法是基于公共领域“Freeverb”模型由Jezar Dreampoint(2000年6月)。

参考

史密斯J.O.“Freeverb”,在“物理音频信号处理”,https://ccrma.stanford.edu/乔斯/ pasp / Freeverb.html在线图书,2010年版,2014年4月24日通过。