在博客 【BLE MIDI】MIDI 文件格式分析 ( MIDI 文件头解析 | MIDI 文件头标识 | MIDI 文件头长度 | MIDI 文件格式 | MIDI 轨道个数 | 基本时间 ) 分析了 MIDI 文件的前 0 ~ 13 个字节 ;
4D 54 68 64 00 00 00 06 00 00 00 01 01 E0
在博客 【BLE MIDI】MIDI 文件格式分析 ( MIDI 轨道分析 | MIDI 轨道头 | MIDI 轨道长度 | delta-time 间隔 ) 中 , 分析了轨道中的如下选中信息 ,
4D 54 72 6B 00 00 00 25 00
【BLE MIDI】MIDI 文件格式分析 ( FF 03 轨道名称 | FF 51 03 四分音符时长 ) 博客分析了 轨道名称 , 以及 四分音符时长 指令 ;
FF 58 04 04 02 18 08
: 39 ~ 45 字节 , 拍子记号 ;
FF 58 04 是拍子记号的标志 ;
04 02 18 08 分别表示 :
, 分母是 4 ;
后面的 00 是 delta-time , 与下一个 midi 事件间隔的 tick 数 ;
delta-time 参考 【BLE MIDI】MIDI 文件格式分析 ( MIDI 轨道分析 | MIDI 轨道头 | MIDI 轨道长度 | delta-time 间隔 ) 四、delta-time 间隔 博客章节 ;
90 3C 64
: 47 ~ 49 字节 , 音符开指令 ;
90 是音符开标志 ;
3C 是音符音高 60 , 取值范围 0 ~ 127 ;
64 是音符的力度值 , 取值范围 0 ~ 127 ;
后面的 8E 7E 是 delta-time , 与后面的指令间隔的 tick 数 ;
delta-time 参考 【BLE MIDI】MIDI 文件格式分析 ( MIDI 轨道分析 | MIDI 轨道头 | MIDI 轨道长度 | delta-time 间隔 ) 四、delta-time 间隔 博客章节 ;
80 3C 40
: 52 ~ 54 字节 , 音符关指令 ;
80 是音符开标志 ;
3C 是音符音高 60 , 取值范围 0 ~ 127 ;
40 是音符的力度值 , 取值范围 0 ~ 127 ;
后面的 00 是 delta-time , 与后面的指令间隔的 tick 数 ;
delta-time 参考 【BLE MIDI】MIDI 文件格式分析 ( MIDI 轨道分析 | MIDI 轨道头 | MIDI 轨道长度 | delta-time 间隔 ) 四、delta-time 间隔 博客章节 ;
FF 2F 00
: 56 ~ 58 字节 , 音轨结束标识 ;
至此 , 整个 midi 文件解析完毕 ;