我怎么接收和使用MATLAB从midi设备NoteOn消息吗?

5视图(30天)
我一直使用MATLAB和音频工具箱来实现一个程序,从2 midi键盘和循环读取在各自的音频文件的注意。
我使用一个独立的mididevice对象为每个键盘,我能够看到的midi消息被发送这两个使用midireceive(设备)。
我想要一个循环接收midi消息不断,当有一个NoteOn消息(即一个键被按下),我想要一件声音文件重复,直到NoteOff消息(即注意释放)。我在想,如果消息= = noteOn然后注意= = 60循环。
件我怎么把NoteOn NoteOff消息和注意值为变量使用一个if语句上面吗?提前谢谢,请不要犹豫地问如果你有任何问题。

接受的答案

Swatantra多个
Swatantra多个 2021年4月9日
嗨,乔,
我理解,你想访问消息,注意从“midimsg”接收和使用if语句。
您可以参考“midimsg”对象的属性。在这种情况下,感兴趣的属性“类型”的消息,“注意”的价值。
MIDI消息记录的属性: 文档链接
注意,属性存储为一个枚举类型,可以直接对比如下所示:
> >公司= midimsg (件的NoteOff”1,60岁,64年,1)
公司=
MIDI信息:
NoteOff通道:1注意:60速度:64时间戳:1(80 3 c 40)
“公司”“类型”的对象
> > msgs.Type
ans =
midimsgtype枚举
NoteOff
类型和注意价值可以检查如下
> > msgs.Type = = midimsgtype.NoteOff
ans =
逻辑
1
> > msgs.Note = = 60
ans =
逻辑
1
希望这有助于

更多的答案(0)

类别

找到更多的在乐器数字接口(MIDI)帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!