欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

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

发布时间:2025/6/17 编程问答 33 豆豆
生活随笔 收集整理的这篇文章主要介绍了 【BLE MIDI】MIDI 文件格式分析 ( FF 58 04 拍号 | 音符开指令 | 音符关指令 | 音轨结束标志 ) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

  • 前言
  • 一、FF 58 04 拍号
  • 二、音符开指令
  • 三、音符关指令
  • 四、音轨结束标志

前言

在博客 【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 拍号



FF 58 04 04 02 18 08 : 39 ~ 45 字节 , 拍子记号 ;

FF 58 04 是拍子记号的标志 ;

04 02 18 08 分别表示 :

  • 04 : 拍子记号的分子 ;
  • 02 : 拍子记号分母标志 , 这里的值是 2 的次幂值 , 如当前设置的值是 2 , 则拍子记号的分母是 22=42^2 = 422=4 , 分母是 4 ;
  • 18 : 每个 MIDI 时钟包含的 tick 数 ; 标准值是 24 , 一般不会改变 ;
  • 08 : 每 24 个 MIDI 时钟 , 对应的 32 分音符的数目 ; 标准值是 8 , 一般不会改变 ;

后面的 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 文件解析完毕 ;

总结

以上是生活随笔为你收集整理的【BLE MIDI】MIDI 文件格式分析 ( FF 58 04 拍号 | 音符开指令 | 音符关指令 | 音轨结束标志 )的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。