主要内容

音频插件的MIDI控制

MIDI和插件

MIDI控制表面通常与数字音频工作站(DAW)环境中的音频插件一起使用。使用插件参数同步MIDI控件为音频处理提供了有形的接口,并且是参数调谐的有效方法。

在MATLAB®环境,音频插件被定义为任何有效的类派生audioplugin基类或audioPluginSource基类。有关如何在MATLAB环境中定义音频插件的更多信息,请参见Matlab中的音频插件

使用MIDI马铃薯插件

Audio Toolbox™产品提供了三种功能来支持MIDI控件表面和音频插件之间的接口:

这些函数结合了一般MIDI函数的功能,形成了适合MATLAB音频插件的简化的用户友好界面。有关通用函数和MIDI协议的教程,请参阅MIDI控制表面界面

本教程通过Matlab中的音频插件来浏览MIDI​​功能。

1.连接MIDI设备,然后启动马铃薯

在启动MATLAB之前,将MIDI控件表面连接到计算机并打开它。有关连接说明,请参阅MIDI设备的说明。如果在连接设备之前启动MATLAB,则MATLAB在连接时可能无法识别您的设备。要纠正问题,请使用已连接的设备重新启动MATLAB。

2.建立MIDI连接

使用configuremidi.在默认的MIDI设备和音频插件之间建立MIDI连接。您可以使用configuremidi.也可以通过编程方式打开用户界面(UI)来指导您完成该过程。的configuremidi.UI从您的Audio插件读取并填充可调插件属性的下拉列表。然后提示您在MIDI控件曲面上移动各个控件,以将每个控件的位置与您选择的每个属性的标准化值相关联。例如,创建一个对象audiopluginexample。PitchShifter然后打电话configuremidi.以对象作为参数:

ctrlpitch = audioptuginexample.pitchshifter;configuremidi(ctrlpitch)

将与MIDI控件的同步打开“将自动填充插件的可调性属性”。当您操作MIDI控制时,将其识别输入到其中操作MIDI控件以同步盒子。使用MIDI控件同步可调性属性后,单击好吧完成配置。如果您的MIDI控件表面是双向的,它会自动将同步控件的位置转移到插件指定的初始属性值。

要打开一个MATLAB函数,并使用与UI中操作等价的编程方法,请选择生成MATLAB代码复选框。保存此功能使您可以重用您的设置并在将来会话中快速建立配置。

3.使用MIDI调优插件参数

在插件属性和MIDI控件之间建立连接后,您可以使用MIDI控制表面实时调整属性。

Audio Toolbox提供了一个用于运行和测试Audio插件的一体化应用程序。测试台模仿DAW如何与插件交互。

打开音频测试台上为你的Ctrlpitch.对象。

audioTestBench (ctrlPitch)

当您调整MIDI表面上的控件时,相应的插件参数滑块会移动。点击运行插件。移动MIDI表面上的控件,可以听到调优插件参数的效果。

要建立MIDI连接并修改现有数据,请单击“同步到MIDI控件”按钮打开configuremidi.UI。

或者,您可以使用您在脚本或函数中建立的MIDI连接。例如,运行以下代码并移动同步MIDI控件以听到振荡效果:

filereader = dsp.audiofilereader(......'文件名''Counting-16-44p1-mono-15secs.wav');devicewriter = audiodevicewriter;%音频流循环〜ISDONE(FILEREADER)输入= FILEREADER();输出= Ctrlpitch(输入);DEVICEWRITER(输出);drawnlimitrate;%进程立即回调结尾释放(fileReader);释放(deviceWriter);

4.获取当前的MIDI连接

要查询与音频插件建立的MIDI连接,请使用getMidiconnections.功能。getMidiconnections.返回具有与插件的可调性属性对应的字段的结构。相应的值是包含有关插件属性与指定MIDI控件之间映射的信息的嵌套结构。

connectioninfo = getMidiconnections(Ctrlpitch)
ConnectionInfo = struct with字段:触点:[1×1 struct]重叠:[1×1 struct]
connectioninfo.pitchshift.
ANS =带有字段的结构:法律:“int”min:-12 max:12 midicontrol:'bcf2000'上的控制1081'

5.断开MIDI表面

作为一种最佳实践,在完成后释放MIDI控件表面等外部设备。

disconnectMIDI (ctrlPitch)

也可以看看

应用

班级

职能

相关的话题

外部网站