什么是0x43 MIDI事件?

时间:2015-09-18 12:21:50

标签: midi

我正在尝试编写MIDI解析器,但我正在接触官方文档中未记录的MIDI事件(即http://www.midi.org/techspecs/midimessages.php)。

在我的一个MIDI文件中,我注意到在81 70 90 3c 00的音符开启事件之后,我得到以下字节:00 43 1e。但是,我没有看到任何关于0x43充当MIDI事件标识符的文档。我应该如何解释0x43,哪里可以找到更多相关信息?

编辑:MIDI是可解释的,因为我已将它加载到Logic Pro中而没有任何问题。另外,我对0x43的解释是准确的。

1 个答案:

答案 0 :(得分:3)

81 70 90 3c 00 00 43 1e

81 70:增量时间(240滴) 90 3c 00:Note-On消息(实际上是关闭)
00:增量时间
43 1e:Note-On消息,使用运行状态。

MIDI规范说:

  

跑步状态

     

仅适用于语音和模式信息。当接收并处理状态字节时,接收器将保持该状态,直到收到不同的状态字节。因此,如果重复相同的状态字节,则可以选择省略它,以便只需要发送数据字节。因此,对于运行状态,完整的消息只能由数据字节组成。

     

运行状态在发送长串音符开/关消息时特别有用,其中“注意速度为0”用于音符关闭。

状态字节始终具有最高有效位设置(80-FF),而数据字节始终具有清除(00-7F)。因此,始终可以区分它们。