MIDI控制面板通常与数字音频工作站(DAW)环境中的音频插件结合使用。将MIDI控件与插件参数同步为音频处理提供了一个有形的接口,是一种有效的参数调整方法。
在MATLAB®环境中,音频插件定义为任何派生自音频插件
基类或audioPluginSource
基类。有关音频插件如何在MATLAB环境中定义的更多信息,请参见MATLAB中的音频插件.
Audio Toolbox™产品提供了三个功能来实现MIDI控件界面和音频插件之间的接口:
配置MIDI
配置音频插件和MIDI控制器之间的MIDI连接。
getMIDIConnections
–获取音频插件的MIDI连接。
断开连接
–断开MIDI控件与音频插件的连接。
这些函数结合了通用MIDI函数的能力,形成了适合于MATLAB音频插件的流线型和用户友好的界面。有关通用函数和MIDI协议的教程,请参阅MIDI控制界面.
本教程将引导您了解MATLAB中音频插件的MIDI函数。
在启动MATLAB之前,将MIDI控制面板连接到计算机并将其打开。有关连接说明,请参阅MIDI设备的说明。如果在连接设备之前启动MATLAB,则在连接设备时MATLAB可能无法识别设备。要更正此问题,请在设备已连接的情况下重新启动MATLAB。
使用配置MIDI
在默认MIDI设备和音频插件之间建立MIDI连接。您可以使用配置MIDI
或者您可以打开一个用户界面(UI)来指导您完成整个过程。的配置MIDI
UI读取音频插件并填充可调插件属性的下拉列表。然后,系统会提示您移动MIDI控件表面上的各个控件,以将每个控件的位置与您选择的每个属性的规范化值相关联。例如,创建一个audiopluginexample。PitchShifter
然后打电话配置MIDI
将对象作为参数:
ctrlPitch=audiopluginexample.PitchShifter;配置MIDI(ctrlPitch)
将打开“同步到MIDI控件”对话框,并自动填充插件的可调属性。操作MIDI控件时,其标识将输入到操作MIDI控件进行同步盒子。将可调属性与MIDI控件同步后,单击好吧以完成配置。如果MIDI控件表面是双向的,它会自动将同步控件的位置移动到插件指定的初始属性值。
要在UI中使用与您的操作等效的编程方式打开MATLAB函数,请选择生成MATLAB代码复选框。保存此功能使您能够重用设置,并在将来的会话中快速建立配置。
在插件属性和MIDI控件之间建立连接后,可以使用MIDI控件表面实时调整属性。
音频工具箱提供了一个多功能应用程序,用于运行和测试音频插件。测试台模拟DAW如何与插件交互。
打开音频测试台上为你的ctrlPitch
对象。
音频测试台(ctrlPitch)
当你在MIDI表面上调整控件时,相应的插件参数滑块会移动。点击运行插件。移动MIDI表面上的控件来听取插件参数调优的效果。
要建立MIDI连接并修改现有连接,请单击“同步到MIDI”控件打开按钮配置MIDI
用户界面。
或者,您可以使用在脚本或函数中建立的MIDI连接。例如,运行以下代码并移动同步的MIDI控件以听到音调移动效果:
fileReader=dsp.AudioFileReader(...“文件名”,“计数-16-44p1-mono-15秒波形”); deviceWriter=音频设备编写器;%音频流环路而~isDone(fileReader)input=fileReader();输出=ctrlPitch(输入);deviceWriter(输出);刷新屏幕limitrate;%进程立即回调结束发布(文件阅读器);释放(deviceWriter);
要查询使用音频插件建立的MIDI连接,请使用getMIDIConnections
功能。getMIDIConnections
返回一个结构,其中的字段与插件的可调属性相对应。相应的值是嵌套结构,包含插件属性和指定MIDI控件之间的映射信息。
connectionInfo=getMIDIConnections(ctrlPitch)
connectionInfo=带字段的结构:PitchShift:[1×1结构]重叠:[1×1结构]
连接信息
ans=带字段的结构:Law:'int'最小值:-12最大值:12 MIDIControl:'BCF2000'上的control 1081'
作为一种最佳实践,在完成时释放外部设备,如MIDI控制界面。
disconnectMIDI (ctrlPitch)