[英]Unknown event in MIDI file
正如我之前发布的那样,我正在用 Python 编写一个 MIDI 解析器。 我遇到了一个错误,我的解析器卡住了,因为它试图读取一个名为2a
的事件,但这样的事件不存在。 以下是有关 MIDI 文件的摘录:
5d7f 00b5 5d7f 00b6 5d7f 00b1 5d00 00b9
5d00 8356 9923 7f00 2a44 0192 367f 0091
237f 0099 4640 0092 2f7c 0099 3f53 0b3f
我已经手动解析了文件,但我和解析器卡在了同一个地方! MIDI 文件播放,所以我知道它是有效的,但我确定我读错了事件。
使用运行状态:如果前面的事件是具有相同状态的 MIDI 通道消息,则可以省略 MIDI 通道消息的状态字节。 每个 MTrk 块中的第一个事件必须指定状态。 Delta-time 本身不被视为事件:它是 MTrk 事件语法的组成部分。 请注意,运行状态跨增量时间发生。
您的摘录将被解码如下:
delta <- event ------->
time status parameters
----- ------ ----------
... 5d 7f
00 b5 5d 7f
00 b6 5d 7f
00 b1 5d 00
00 b9 5d 00
83 56 99 23 7f
00 2a 44
01 92 36 7f
00 91 23 7f
00 99 46 40
00 92 2f 7c
00 99 3f 53
0b 3f ...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.