MIDI文件格式分析──RMI篇

Seer Xillion 发布于2006-07-03 3 评论

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的值。

文章出处 http://www.midifan.com/

转载新闻请注明出自 Midifan.com

共有 3 条评论

  • 2017-07-24 19:35 allenyang
    这一系列文章写得太好了。赞一个
  • 2011-12-03 17:17 匿名

    我现在就遇到了rmi文件,Cubase打不开,不知如何将rmi转成标准Midi文件?

  • 2007-01-13 02:39 anonymous

    为什么发表的文章都有点错误?这样会给初学者带来很大的麻烦。

    本文中的“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)的十六进制代码(低位在前,高位在后)。