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

举报
韩曙亮 发表于 2022/01/14 00:47:36 2022/01/14
【摘要】 文章目录 前言一、FF 58 04 拍号二、音符开指令三、音符关指令四、音轨结束标志 前言 在博客 【BLE MIDI】MIDI 文件格式分析 ( MIDI 文件头解析 | MIDI 文件...

前言

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

  
 
  • 1

在这里插入图片描述

在博客 【BLE MIDI】MIDI 文件格式分析 ( MIDI 轨道分析 | MIDI 轨道头 | MIDI 轨道长度 | delta-time 间隔 ) 中 , 分析了轨道中的如下选中信息 ,

4D 54 72 6B 00 00 00 25 00

  
 
  • 1

在这里插入图片描述

【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 , 则拍子记号的分母是 2 2 = 4 2^2 = 4 22=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 文件解析完毕 ;

文章来源: hanshuliang.blog.csdn.net,作者:韩曙亮,版权归原作者所有,如需转载,请联系作者。

原文链接:hanshuliang.blog.csdn.net/article/details/120879872

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。