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