3

我正在研究 midi 文件格式,但遇到了文件问题。

这是我的 midi 示例文件的内容,其中出现了通道事件。

[ “00”、“b1”、“64”、“00”、“00”、“65”、“00”、“00”、“06”、“0c”、“00”、“e1”、“ 00”、“40”、“00”、“b1”]

我认为这是一个 RPN 事件(我强调的部分)

但我没有设法解码这个 RPN。为什么控制器 64 后面跟着 2 个字节和 65 也是。
如何知道是否只有一个或两个字节要解码?

我找到了这个资源,但找不到答案: http:
//www.sonicspot.com/guide/midifiles.html
http://www.somascape.org/midi/tech/spec.html#rpns

编辑:
稍后在同一个midi文件中:
[“00”,“b1”,“65”,“00”,“00”,“64”,“01”,“00”,“06”,“40”, “00”、“26”、“00”、“00”、“65”、“7f”、“00”、“64”、“7f”、“00”、“b0”、“64”、“00” ", "00", "65", "00"]

4

1 回答 1

2

64 00和之后的第二个零值65 00是以下消息的增量时间。每条消息之前都有增量时间。以下是如何解释您的第一个样本:

time  status  data
 00     B1     64 00
 00            65 00 (running status B1)
 00            06 0C (running status B1)
 00     E1     00 40
 00     B1

以下是如何解释第二个示例:

time  status  data
 00     B1     65 00
 00            64 01 (running status B1)
 00            06 40 (running status B1)
 00            26 00 (running status B1)
 00            65 7F (running status B1)
 00            64 7F (running status B1)
 00     B0     64 00
 00            65 00 (running status B0)
于 2012-10-04T18:13:31.473 回答