BLE MIDIMIDI 文件速度设置识别 ( 查找 midi 文件中速度相关的二进制数据 | FF 51 03 速度设置指令 )

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BLE MIDIMIDI 文件速度设置识别 ( 查找 midi 文件中速度相关的二进制数据 | FF 51 03 速度设置指令 )相关的知识,希望对你有一定的参考价值。





一、问题说明



解析 midi 文件时 , 发现音符解析出现异常 ;

是根据 音符 微秒时长 , 统计音符时 , 发现音符解析出现异常 ;

先说结论 , 解析音符时 , 优先考虑使用 tick 作为单位 , 能不使用真实时间 , 就不要使用真实时间 ;

在 Cubase 中打开 midi 文件 , 按下 Ctrl + T 快捷键 , 查看 midi 文件的速度 ;

可以看到 , 开始的速度是 70 bpm , 在 1/5 位置 , 速度变成了 65 bpm ;





二、查找 midi 文件中速度相关的二进制数据



参考 【BLE MIDI】MIDI 文件格式分析总结 ★★★ 八、FF 51 03 四分音符时长 博客章节 , 可以知道 , FF 51 03 是时间设定的标志 ;

使用二进制查看工具 , 打开该 midi 文件 , 发现该 midi 中竟然有 2 个 FF 51 03 速度设置标志 , 两个速度标记之间的 84 C1 48 是 delta-time , 单位是 tick , 参考 【BLE MIDI】MIDI 文件格式分析总结 ★★★ 六、delta-time 间隔 博客章节 , 计算该 delta-time 值 ;

设置了 2 次速度 , 这样就导致了音符的时间计算错误 ;

以上是关于BLE MIDIMIDI 文件速度设置识别 ( 查找 midi 文件中速度相关的二进制数据 | FF 51 03 速度设置指令 )的主要内容,如果未能解决你的问题,请参考以下文章

BLE MIDIMIDI 时间标志分析 ( 音符速度设置事件 | 拍号设置事件 | 基本时间 - 每个四分音符有多少 tick 或 pulse | 节拍时值计算 | 小节时值计算 )

BLE MIDIMIDI 文件格式分析总结 ★★★

BLE MIDIMIDI 文件格式分析总结 ★★★

BLE MIDIMIDI 文件格式分析 ( FF 03 轨道名称 | FF 51 03 四分音符时长 )

BLE MIDIMIDI 文件格式分析 ( FF 03 轨道名称 | FF 51 03 四分音符时长 )

BLE MIDIMIDI 文件格式分析 ( FF 58 04 拍号 | 音符开指令 | 音符关指令 | 音轨结束标志 )