3、MIDI 文件格式
00 00 : 8 ~ 9 字节 , 表示 mid 文件的格式 ; 这两个字节是 short 类型整型 , 大端格式 ;
0 : mid 文件只有一条轨道 , 所有的通道都在一条轨道中 ;
1 : mid 文件有多个音轨 , 并且是同步的 , 即所有的轨道同时播放 ;
2 : mid 文件有多个音轨 , 不同步 ;
这里是 0 格式 , 也就是说只有一条轨道 ;
4、MIDI 轨道个数
00 01 : 10 ~ 11 字节 , 表示 MIDI 轨道个数 , short 类型 , 大端格式 ;
此处表示有一条轨道 , 所有通道的音符和节拍信息都在该轨道中 ;
5、基本时间
01 E0 : 12 ~ 13 字节 , 用于指定基本时间 ;
2 个字节 , 要拆分成 3 部分 , 最高位 ( 第 15 位 ) 作为标识位 , 第 8 ~ 14 位 作为一部分 , 第 0 ~ 7 位 作为一部分 ;
由于是大端格式排列 , mid 文件第 12 字节 ( 低地址 ) 是 高位 , mid 文件第 13 字节 ( 高地址 ) 是低位 ;
01 E0 的二进制形式如下 : 0000 0001 11110 0000 ;
最高位 0000 0001 11110 0000 是 0 , 红色的是最高位 , 表示当前 代表的事件格式是 类型1 , 第 0 ~ 14 位 代表的是 四分音符的 tick 数 ;
十六进制 01 E0 对应的十进制数字是 480 , 也就是说一个四分音符有 480 tick ;
tick 是时间单位 , 这是 mid 文件中计算时间的最基本单位 ;