《MIDI文件格式实例剖析》由会员分享,可在线阅读,更多相关《MIDI文件格式实例剖析(4页珍藏版)》请在金锄头文库上搜索。
1、MIDI文件剖析MIDI文件是二进制文件,其内部主要记录了 乐曲播放时,音序器应发送给音源的MIDI指令和每 条指令发送的时间点。音序器读取这些时间信息和 MIDI指 令,通过在相应的时间发送相应的指令, 以实现乐曲中音符的顺序播放和节拍信息。除了音 序器需要发送的MIDI事件之外,MIDI文件内部也记 录了一些辅助 信息,如版权信息、音轨名、速度 信息、拍号、调号等等,这些信息被称为Meta- event,只用于记录一些曲子的信息,通常并不发 送给MIDI系统中的 其他设备。实例列举(两只老虎) 4D 54 68 64 / “MThd” 00 00 00 06 / 长度永远是6,后面有6个字
2、节数 00 01 / 0单轨; 1多轨,同步; 2多轨,异步 00 02/ 轨道数,即为”MTrk”的个数 00 78 / 基本时间格式,即一个四分音符的tick数 4D 54 72 6B / “MTrk”,全局轨为附加信息(如标 版权速度和系统码(Sysx)等) 00 00 01 92 / 长度00 FF 01 / 音轨名称 14 70 / 长度 72 6F 64 75 63 65 64 5F 62 79 5F 4E 49 41 4F 4E 69 61 6F/ 歌曲的题目00 FF 03 / 版权公告08 /长度4E 49 41 4F 4E 69 61 6F /作曲家00 FF 51 /设定
3、速度以微秒(us)为单位,是四分音符 的时值03 /长度09 27 C0 /四分音符为 500,000 us,即 0.5s00 FF 58 /拍号标记04/长度04 02 18 08 / nn dd cc bb 拍号表示为四个数 字。nn和dd代表分子和分母。分母指的是2的 dd次方, cc代表一个四分音符应该占多少个 MIDI时间单位,bb代表一个四分音符的时值等 价于几个32分音符00 FF 59 /谱号信息02 /长度00 00/ sf指明乐曲曲调中升号、降号的数目。 如,A大调在五线谱上注了三个升号,那么sf=03 升号数目写成x,降号数目写成x 。mf指出 曲调是大调还是小调。大调mf=00,小调mf=0100 / C0 00 /通道1,音色为0000 / 90 3C 50 /开3C音 61 80 / 3C 00/关3C音 08 / 90 3E 50 /开3E音