主要内容

MIDI控制表面界面

关于MIDI

乐器数字接口(MIDI)最初开发互连电子乐器。这个接口是灵活的,用在应用程序远远超出乐器。其简单的单向消息传递协议支持许多不同类型的消息。金宝app是一种MIDI消息控制改变消息用于改变通信控件,如按钮、滚动条和按钮。

MIDI控制面

一个MIDI控制面与控制设备发送MIDI控制改变消息当你打开一个旋钮,移动滑块,或按下按钮在其表面。每个控制改变消息表明控制改变,什么是它的新位置。

因为MIDI消息传递协议是单向,确定一个特定的控制器的位置要求接收机侦听控制改变控制器发送的消息。协议不支持查询MIDI控制器的位置。金宝app

最简单的MIDI控制表面是单向的:他们把MIDI控制改变消息但是不接收它们。更复杂的控制表面是双向的:他们可以同时发送和接收控制变化信息。这些控制面旋钮或滑块自动操作。例如,一个控制表面可以有电动滑块或旋钮。当它接收控制信息变化,适当的控制动作的位置信息。

使用MIDI控制表面MATLAB金宝app

音频工具箱™使您能够使用MIDI控制MATLAB控制面®程序和仿真软件金宝app®模型通过提供听的能力控制改变的消息。工具箱还提供了一个有限能力发送控制改变消息支持MIDI控制同步。金宝app本教程涵盖了一般MIDI功能。在MATLAB函数特定音频插件,看看MIDI控制音频插件。音频工具箱通用接口MIDI控制表面包括五个函数和一个块:

  • midiid——交互识别MIDI控制。

  • midicontrols——开放组MIDI控制阅读。

  • midiread——返回最近的MIDI控制的价值。

  • midisync——值发送到MIDI控制同步。

  • midicallback——调用函数处理当MIDI控制改变的价值。

  • MIDI控制(块)——从控制输出值MIDI控制表面。的MIDI控制块功能的MIDI功能组合到一个块的仿真软件环境。金宝app

这个图显示了一个典型的工作流涉及一般在MATLAB MIDI功能。仿真软件环境,按金宝app照步骤1和2,然后使用MIDI控制阻止用户界面引导工作流。

1。MIDI设备连接起来,然后开始MATLAB

在开始MATLAB之前,你的MIDI控制表面连接到你的电脑,打开它。连接指令,看到MIDI设备的指令。如果你开始MATLAB连接您的设备之前,MATLAB可能不会认出你的设备连接时。纠正这个问题,重启MATLAB与设备已经连接。

2。确定设备名称和数量控制

使用midiid函数来确定设备名称和数量控制的MIDI控制表面。后你叫midiid,它继续听,直到它接收到控制变化的信息。接收控制改变消息时,它返回数量控制与操纵的MIDI控制器数量有关,并可选地返回MIDI控制表面的设备名称。制造商和主机操作系统确定设备名称。看到控制数量解释如何用MATLAB计算控制号码。

设置一个默认的设备名称,明白了设置默认的MIDI设备

视图的例子

3所示。创建侦听器控制变化信息

使用midicontrols函数创建一个对象,侦听控制更改消息和缓存最近的值对应于指定的控制器。当您创建一个midicontrols对象,您指定一个MIDI设备名称和特定的控制器控制表面的表面上通过相关控制数字。因为midicontrols对象不能查询MIDI控制表面初始值,考虑在创建对象时设置初始值。

视图的例子

4所示。得到电流控制的值

使用midiread函数查询你的midicontrols对象为电流控制的价值观。midiread返回一个值对应于所有控制器矩阵midicontrols对象是听。一般来说,你想要的地方midiread在一个音频流循环连续更新。

视图的例子

5。同步双向MIDI控制面

您可以使用midisync发送控制改变你的MIDI消息控制表面。如果MIDI控制表面是双向的,它调整指定的控制器。一个重要的使用midisync设置控制器的位置在你的MIDI控制表面初始值。

视图的例子

的另一个重要用途midisync更新你的MIDI控制表面如果控制调整值在一个音频流循环。在这种情况下,您的电话midisync与你的midicontrols对象和更新控制值。

视图的例子

midisync在系统也是一个强大的工具,还包括用户界面(ui),这样当一个控制改变,其他控制跟踪它。通常,您实现这样跟踪上通过设置回调函数midicontrols对象(使用midicallback)和UI控件。的回调midicontrolsUI控件对象发送新值。UI使用midisync将新值midicontrols对象和MIDI控制表面。看到midisync为例子。

选择流处理

您可以使用midicallback作为一个替代放置midiread在一个音频流循环。如果一个midicontrols对象接收到控制改变消息,midicallback自动调用指定的函数处理。回调函数一般调用midiread确定MIDI控制的新值。您可以使用这个回调,当你想要一个MIDI控制器触发一个动作,如更新UI。使用这种方法可以防止在MATLAB程序不断在命令窗口中运行。

设置默认的MIDI设备

你可以设置默认的MIDI设备在MATLAB环境中使用setpref函数。使用midiid确定设备的名称,然后使用setpref设置首选项。

[~,设备名称]= midiid
移动控制你想确定;^ C型中止。等待控制消息……完成设备名称= BCF2000
setpref (“midi”,“DefaultDevice”设备名称)
这种偏好存在跨MATLAB会话,所以你只需要设置一次,除非你想改变设备。

如果你不设置这个偏好,MATLAB和主机操作系统选择一个设备。然而,这样autoselection可以产生不可预知的后果,因为许多电脑安装了“虚拟”(软件)MIDI设备,你可能不知道。可预测的行为,设置偏好。

控制数量

MATLAB定义控制数量(MIDI通道数量)×1000 + (MIDI控制器数量)

  • MIDI通道数量是你的设备使用的传输通道发送消息。这个值范围1 - 16。

  • MIDI控制器数量是一个数字在你的MIDI设备分配给一个单独的控制。这个值范围1 - 127。

你的MIDI设备确定的值MIDI通道数量MIDI控制器数量

另请参阅

功能

相关的话题

外部网站