【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 拍号 | 音符开指令 | 音符关指令 | 音轨结束标志 )相关推荐
- 【BLE MIDI】MIDI 文件格式分析 ( FF 03 轨道名称 | FF 51 03 四分音符时长 )
文章目录 前言 一.FF 03 轨道名称 二.FF 51 03 四分音符时长 前言 在博客 [BLE MIDI]MIDI 文件格式分析 ( MIDI 文件头解析 | MIDI 文件头标识 | MIDI ...
- 【BLE MIDI】MIDI 文件格式分析总结 ★★★
文章目录 一.MIDI 文件简介 二.MIDI 文件头解析 1.MIDI 文件头标识 2.MIDI 文件头长度 3.MIDI 文件格式 4.MIDI 轨道个数 5.基本时间 三.MIDI 轨道分析 四 ...
- 【BLE MIDI】MIDI 文件格式分析 ( MIDI 轨道分析 | MIDI 轨道头 | MIDI 轨道长度 | delta-time 间隔 )
文章目录 前言 一.MIDI 轨道分析 二.MIDI 轨道头 三.MIDI 轨道长度 四.delta-time 间隔 前言 上一篇博客 [BLE MIDI]MIDI 文件格式分析 ( MIDI 文件头 ...
- 【BLE MIDI】MIDI 时间标志分析 ( 音符速度设置事件 | 拍号设置事件 | 基本时间 - 每个四分音符有多少 tick 或 pulse | 节拍时值计算 | 小节时值计算 )
文章目录 一.从 MIDI 文件中可以获取的信息 1.音符速度设置事件 2.拍号设置事件 3.文件头基本时间 二.节拍时值计算 三.小节时值计算 一.从 MIDI 文件中可以获取的信息 MIDI 时间 ...
- MIDI文件格式分析(补充和勘误)
MIDI文件格式分析(补充和勘误) 本文是对<MIDI文件格式分析>博客链接的一点补充: 原文复制 vim编辑二进制文件的方法 文中制作的midi文件内容和改动 原文复制 MIDI文件属于 ...
- MIDI 文件格式分析
MIDI 文件属于二进制文件,这种文件一般都有如下基本结构: 文件头+数据描述 文件头一般包括文件的类型,因为 Midi 文件仅以.mid 为扩展名的就有 0 类和 1 类两种,而大家熟悉的位 图文件 ...
- MIDI文件格式分析
MIDI文件属于二进制文件,这种文件一般都有如下基本结构: 文件头+数据描述 文件头一般包括文件的类型,因为Midi文件仅以.mid为扩展名的就有0类和1类两种,而大家熟悉的位图文件的格式就更多了,所 ...
- MIDI二进制文件格式简析
MIDI二进制文件格式简析 本文主要参考自Official MIDI Specifications Chunks 每个MIDI文件由一系列chunk组成,每个chunk的前四个字节为魔数(magic ...
- 【数据压缩】WAV文件和AVI文件格式分析
一.WAV文件和AVI文件格式简介 WAV的英文全称是Waveform Audio File Format ,它采用 RIFF (Resource Interchange File Format)文件 ...
最新文章
- Javascript使用三大家族和事件来DIY动画效果相关笔记(一)
- java压缩流的用法_Java对压缩包的操作(解压缩)
- U盘的挂载和卸载(也可以查看指令篇)
- 全局组、域本地组、通用组到底有什么区别?它们之间的关系如何?
- C++编程思想:C++string
- PAT甲级题解-1100. Mars Numbers (20)-字符串处理
- hdu 1542 Atlantis (线段树+扫描线)
- 《Android开发秘籍(第2版)》——第1.4节Android设备间的硬件差异
- 视频+课件| 视觉引导系列课程-绪论
- android源码学习之源码编译并nexus s真机刷机
- 【Python游戏】Python实现一个简易版本的阴阳师游戏 | 附带源码
- 19.丑数(UVa136)
- 运用HTML5进行文字排版详解
- 计算机网络ping用法,新手入门:ping命令的用法解释
- 利用shell脚本,实现腾讯云DNSPod进行DDNS动态域名解析ipv6地址
- 【机器学习PAI实践十一】机器学习PAI为你自动写歌词,妈妈再也不用担心我的freestyle了(提供数据、代码
- 凸显计算机学院特色的剧本,高职院校非计算机专业计算机课程的教学改进策略探析 - 计算机教育论文大全 - 小品台词 - 中国国际剧本网...
- JAVA的IO/NIO?
- WEB Workers 介绍
- 飞机下滑波束导引系统设计
热门文章
- oracle启动服务和监听命令
- Tempter of the Bone(DFS + 奇偶剪枝,好题)
- phpmyadmin 安装
- 美国物流管理协会更名标志全球物流进入供应链时代
- 【Android Studio快捷键】之导入对应包声明(import packages)
- Eclipse+Tomcat7.0+MySQL 连接池设置
- HDOJ 1069 Monkey and Banana
- 探讨PHP获取checkbox值
- 21.使用委托表达回调
- MySQL中实现Oracle里面 rank()over ( PARTITION BY ORDER BY) 分类分组功能