我正在使用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”]
答案 0 :(得分: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)