主要内容

中间人

从MIDI设备接收MIDI消息

描述

例子

味精= midireceive (设备的)返回MIDI消息,味精从MIDI设备接口从MIDI设备接收,设备

例子

味精= midireceive (设备maxmsgs.的)指定要返回的最大MIDI消息数maxmsgs.

例子

全部收缩

要确定什么MIDI设备连接到您的MIDI输入端口,调用MidideVinfo..使用可用性开发struct指定有效的MIDI设备以创建一个迈出迪维德对象。

FilumableDevices = MidideVinfo;Device = MIDidevice(FilumableDevices.Input(1).ID);

一旦你的midi.设备对象创建时,它开始侦听来自指定设备的MIDI消息并将它们存储在缓冲区中。要获取缓冲区中的所有MIDI消息,调用中间人.在这个例子中,MIDI键盘上的几个键被演奏。

公司= midireceive(设备)
公司= MIDI消息:NoteOn通道:1注意:52速度:64时间:3.94 (90 34 40)NoteOn通道:1注意:52速度:0时间戳:4.179 (34 90 00)NoteOn通道:1注意:48速度:64时间:4.19 (90 30 40)NoteOn通道:1注意:47速度:64时间:4.382 (90 2 f 40) NoteOn通道:1注意:48速度:0时间戳:4.459 (30 90 00) NoteOn通道:1注意:48速度:64时间:4.59 [90 30 40]NoteOn通道:1注意:47速度:0时间戳:4.776 (90 2 f 00) NoteOn通道:1注意:50速度:64时间:4.788 [90 32 40]NoteOn通道:1注意:47速度:64时间:4.802 (90 2 f 40) NoteOn通道:1注意:52速度:64时间:4.831 [90 34 40] NoteOn通道:1注意:47速度:0时间戳:4.84 (90 2 f 00) NoteOn通道:1注意:48速度:0时间戳:4.912 (30 90 00)NoteOn通道:1注意:52速度:0时间戳:4.953 (34 90 00)NoteOn通道:1注意:50速度:0时间戳:5.079 (32 90 00)

从缓冲区读取清除数据。例如,如果没有发送更多MIDI消息,则缓冲区re read,中间人返回一个空的MIDI消息。

公司= midireceive(设备)
msgs =空MIDI消息数组

查询您的系统以获取MIDI设备的可用输出。指定MIDI设备的输出连接到您的输入迈出迪维德对象。

MidideVinfo.
1 input MMSystem 'USB MIDI Interface ' 2 output MMSystem 'Microsoft GS Wavetable Synth' 3 output MMSystem 'USB MIDI Interface '
设备= mididevice ('输入''USB MIDI接口');

一旦你的midi.设备对象创建时,它开始侦听来自指定设备的MIDI消息并将它们存储在缓冲区中。要从缓冲区获取有限数量的MIDI消息,请致电中间人并指定要返回的最大消息数。在此示例中,在MIDI设备上播放五个键。每个呼叫都会收到最多四条MIDI消息中间人

MIDIRECEIVE(设备,4)
ANS = MIDI消息:注释:1注意:36速度:64时间戳:2929.71 [90 24 40]笔记码:1注意:36速度:0时间戳:2929.91 [90 24 00]笔记码:1注意:37速度:64时间戳:2930.43 [90 25 40]笔记码:1注意:37速度:0时间戳:2930.59 [90 25 00]
MIDIRECEIVE(设备,4)
ANS = MIDI消息:1注意:1注意:38速度:64时间戳:2931.16 [90 26 40]笔记通道:1注意:38速度:0时间戳:2931.32 [90 26 00]笔记码:1注意:39速度:64时间戳:2931.87 [90 27 40]笔记码:1注意:39速度:0时间戳:2932.01 [90 27 00]
MIDIRECEIVE(设备,4)
ans = MIDI message: NoteOn Channel: 1 Note: 40 Velocity: 64 Timestamp: 2932.52 [90 28 40]

输入参数

全部收缩

指定设备创建的对象迈出迪维德

要返回的最大消息数,指定为正整数标量。

数据类型:单身的|双倍的

输出参数

全部收缩

对象米米,作为标量或列向量返回。MIDI消息的数量迈出迪维德缓冲和maxmsgs.确定大小味精

在R2018A介绍