主要内容

midisend

MIDI设备发送的MIDI消息

描述

例子

midisend (设备,味精)MIDI消息发送,味精,MIDI设备使用MIDI设备接口,设备

例子

midisend (设备,变长度输入宗量)创建使用MIDI消息变长度输入宗量然后将MIDI消息发送。的变长度输入宗量语法是为了方便,包括调用midimsg与调用midisend

例子

全部折叠

查询您的系统可用MIDI设备输出端口。使用availableDevices结构体来指定一个有效的MIDI设备并创建一个mididevice对象。

availableDevices = mididevinfo;设备= mididevice (availableDevices.output (2) .ID);

创建一条NoteOn消息(表示注意,注意关闭)和发送给所选的MIDI设备。

公司= midimsg (“注意”1,48岁,64年,0.25);midisend(设备公司)

midisend使您能够结合的定义和发送midimsg到一个单独的函数调用。发送中央C 3速度64频道。

mididevinfo
MIDI设备可用:接口名称标识方向0输出MMSystem微软MIDI Mapper的1输入MMSystem nanoKONTROL2 2输入MMSystem的USB Uno MIDI接口3输出MMSystem微软GS波表Synth的4输出MMSystem nanoKONTROL2的5输出MMSystem USB Uno MIDI接口的
设备= mididevice (“USB Uno MIDI接口”)
设备连接到输入:= mididevice的USB Uno MIDI接口(2)输出:“USB Uno MIDI接口”(5)
midisend(设备,“NoteOn”3,64)

得到一个可用的输出MIDI设备的名称在您的系统上。

mInfo = mididevinfo;
无视cmd。exe警告UNC目录路径名。无视cmd。exe警告UNC目录路径名。
midiDeviceName = mInfo.output (1) . name;

创建一个mididevice对象。

设备= mididevice (midiDeviceName);

创建一个MIDI消息数组。

公司= [];2 = 1:8公司=[公司;midimsg (“注意”1,20 + 8 * 2,64,1,2)];结束

听MIDI消息,发送MIDI消息到您的设备。

midisend(设备公司)

要编译前面的步骤,封装在一个函数,然后调用的代码世纪挑战集团

函数playMusic1 () mInfo = mididevinfo;midiDeviceName = mInfo.output (1) . name;设备= mididevice (midiDeviceName);公司= [];2 = 1:8公司=[公司;midimsg (“注意”1,20 + 8 * 2,64,1,2)];结束midisend(设备公司)结束
世纪挑战集团playMusic1- m- w禁用

执行编译后的代码。你不会听到任何声音。这是因为执行打开,发送的MIDI消息队列,然后关闭,打掉其命令MIDI消息之前,有机会去玩。

playMusic1.exe !

保持执行开放足够长时间的MIDI消息,暂停添加到可执行文件。暂停的持续时间设置为等于MIDI消息的持续时间。

函数playMusic2 () mInfo = mididevinfo;midiDeviceName = mInfo.output (1) . name;设备= mididevice (midiDeviceName);公司= [];2 = 1:8公司=[公司;midimsg (“注意”1,20 + 8 * 2,64,1,2)];结束midisend(设备,公司暂停(公司(结束).Timestamp)结束
世纪挑战集团playMusic2- m- w禁用

编译后的可执行文件。的声音,通过你的MIDI设备是一样的没有编译的版本。

playMusic2.exe !

输入参数

全部折叠

指定设备作为一个对象创建的mididevice

指定味精作为一个对象创建的midimsg

指定变长度输入宗量作为一个有效的组合参数,可以构造一个MIDI消息。看到midimsg描述的有效参数。

版本历史

介绍了R2018a