MIDI文件格式分析──RMI篇
MIDI文件除了有常用的以.mid为扩展名的格式以外,还有一种以.rmi为扩展名的。这种格式与.mid不同的是它在.mid格式的前面增加了一个文件头,后面的部分几乎和.mid的一样。即.rmi=RMI格式文件头+.mid文件。
这个文件头可以描述成以下这种形式:
52 49 46 46 LL LL LL LL 52 4D 49 44 64 61 47 61 SS SS SS SS
和.mid文件格式类似,这个文件头的前四个字节是“RIFF”,接下来的是一个四个字节的整数,它表示从最后一个LL起到文件结束的字节数。假设这个数是100,则这四个字节就是“64 00 00 00”。然后紧接着的八个字节又是文字标识,不过这次是“RMIDdata”,最后的四个字节SS,表示MIDI文件的字节数,如果MIDI文件长度为139,则这四个字节就是“8B 00 00 00”。文件头后就是和MIDI文件一样的内容了,这些内容的长度就是SS的值。
转载文章请注明出自 Midifan.com
我现在就遇到了rmi文件,Cubase打不开,不知如何将rmi转成标准Midi文件?
为什么发表的文章都有点错误?这样会给初学者带来很大的麻烦。
本文中的“RMIDdata”的十六进制代码应该为“52 4D 49 44 64 61 74 61”,而不是 “52 4D 49 44 64 61 47 61”。
另外,LL LL LL LL就是(.mid文件长度-8)的十六进制代码(低位在前,高位在后),SS SS SS SS就是(.mid文件长度-20)的十六进制代码(低位在前,高位在后)。