什么是 0x43 MIDI 事件?
What is the 0x43 MIDI event?
我正在尝试编写一个 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
的解释是准确的。
81 70 90 3c 00 00 43 1e
81 70
:增量时间(240 滴答)
90 3c 00
: Note-On 消息(实际上是note off)
00
:增量时间
43 1e
:Note-On 消息,使用 运行 状态。
MIDI 规范说:
RUNNING STATUS
For Voice and Mode messages only. When a Status byte is received and processed, the receiver will remain in that status until a different Status byte is received. Therefore, if the same Status byte would be repeated, it can optionally be omitted so that only the Data bytes need to be sent. Thus, with Running Status, a complete message can consist of only Data bytes.
Running Status is especially helpful when sending long strings of Note On/Off messages, where "Note On with Velocity of 0" is used for Note Off.
状态字节始终设置最高有效位 (80–FF),而数据字节始终清除 (00–7F)。因此,总是可以区分它们的。
我正在尝试编写一个 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
的解释是准确的。
81 70 90 3c 00 00 43 1e
81 70
:增量时间(240 滴答)
90 3c 00
: Note-On 消息(实际上是note off)
00
:增量时间
43 1e
:Note-On 消息,使用 运行 状态。
MIDI 规范说:
RUNNING STATUS
For Voice and Mode messages only. When a Status byte is received and processed, the receiver will remain in that status until a different Status byte is received. Therefore, if the same Status byte would be repeated, it can optionally be omitted so that only the Data bytes need to be sent. Thus, with Running Status, a complete message can consist of only Data bytes.
Running Status is especially helpful when sending long strings of Note On/Off messages, where "Note On with Velocity of 0" is used for Note Off.
状态字节始终设置最高有效位 (80–FF),而数据字节始终清除 (00–7F)。因此,总是可以区分它们的。