时间标志原始信息来源 , 就是 MIDI 文件中的 Meta 事件 ;
Meta 事件 以 FF 开始 , 其格式如下 :
FF xx nn dd
FF : 表示 Meta 事件的 开始标志 ;
xx...: 表示 该 Meta 事件的类型 , 如 03 类型表示该 Meta 事件是 " 音符速度设置事件 " , 04 类型表示该 Meta 事件是 " 拍号设置事件 " ;
nn : 表示 该 Meta...2 的次幂值 , 如当前设置的值是 2 , 则拍子记号的分母是
2^2 = 4
, 分母是 4 ;
18 : 每个 MIDI 时钟包含的 tick 数 ; 标准值是 24 , 一般不会改变 ;
08...: 每 24 个 MIDI 时钟 , 对应的 32 分音符的数目 ; 标准值是 8 , 一般不会改变 ;
后面的 00 是 delta-time , 与下一个 midi 事件间隔的 tick 数 ;...或 pulse 值 , 与 现实的 微秒 时间 对应起来 ;
如果要计算具体的小节位置 , 需要结合拍号来计算 ,
上面只是获取了 四分音符 的时值信息 , 即 四分音符的 tick 数 , 以及 四分音符