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

简介: 【BLE MIDI】MIDI 文件格式分析 ( FF 03 轨道名称 | FF 51 03 四分音符时长 )(二)

二、FF 51 03 四分音符时长


FF 51 03 07 A1 20 : 32 ~ 37 字节 , 音符速度标志 ;


FF 51 03 是音符速度标志位 , 后面的 07 A1 20 3 字节是一个数字 , 代表 四分音符 的时长 , 单位是微秒 ;

image.png



07 A1 20 对应十进制数是 500000 , 五十万 , 也就是一个四分音符是 50 万微秒 ;

image.png



在之前的 【BLE MIDI】MIDI 文件格式分析 ( MIDI 文件头解析 | MIDI 文件头标识 | MIDI 文件头长度 | MIDI 文件格式 | MIDI 轨道个数 | 基本时间 ) 二、MIDI 文件头解析 5、基本时间 博客章节 解析到一个四分音符有 480 个 tick ;


此时可以计算出每个 tick 的时长为 500000 480 \cfrac{500000}{480}

480

500000


 微秒 ;

image.png



再回顾下 delta-time 的计算 :


8E 7E 对应的二进制位数为 : 1000 1110 0111 1110


第一个字节 8E 对应的二进制数据位 1000 1110 , 其中第七位的 1 表示这是 delta-time 的高位字节 , 后面的 000 1110 是实际的数值数据 ;


第一个字节 7E 对应的二进制数据位 0111 1110 , 其中第七位的 0 表示这是 delta-time 的低位字节 , 后面的 111 1110 是实际的数值数据 ;


则该 delta-time 的实际数据是 000 1110 111 1110 , 重新组合后为 111 0111 1110 , 该 delta-time 的值是 1918 , 也就是 1918 个 tick 数 ;


上述的 delta-time 是 1918 个 tick , 对应的时间是 500000 × 1918 480 \cfrac{500000 \times 1918}{480}

480

500000×1918


 微秒


目录
相关文章
|
1月前
提取mp4中的音频Pkt,以adts的方式写为aac文件
使用FFmpeg库从MP4文件中提取音频流,并将其转换为带有ADTS头的AAC文件,提供了两种方法:位运算和位域操作。
29 1
|
3月前
|
存储 计算机视觉
通过视频帧提取及批量取模转换实现基于STC32的点阵LED动画播放
【8月更文挑战第25天】该方案概述了如何通过视频帧提取与批量取模转换技术,在STC32微控制器上实现点阵LED动画播放。步骤分为:1) 视频帧提取:选用合适的视频处理库(如OpenCV)或专用工具,将视频按指定帧率逐帧转存为图片;2) 批量取模转换:利用自定义或第三方工具将图片转换成适用于点阵LED显示的格式;3) 在STC32上实现动画播放:完成硬件连接后,通过SPI/I2C等接口从存储器读取取模数据,并设计定时器中断等机制控制帧切换,最终呈现流畅动画效果。此外,还需进行必要的优化和调试以改善显示质量。
|
内存技术
如何设置pcm值为静默音
如何设置pcm值为静默音
207 0
|
语音技术 内存技术
用C/CCC++实现输出双声道(立体声).wav 文件
audioCodec为1,channels为2,samplesPerSec为8000(非常重要)。samplesPerSec设置为8000的原因是需要用16000/2,也就是要用采样率除以通道数。这样做的原因是立体声设置语音内容时将左右声道的语音数据打散交叉放置到内容中。
|
移动开发 JavaScript
JS指定音频audio在某个时间点进行播放,获取当前音频audio的长度,音频时长格式转化
JS指定音频audio在某个时间点进行播放,获取当前音频audio的长度,音频时长格式转化
758 0
JS指定音频audio在某个时间点进行播放,获取当前音频audio的长度,音频时长格式转化
【UE4系列】3DMAX制作骨骼蒙皮
1,解组 2,删除不需要的文件 3,根据零件部位,重新命名,红色箭头的内容,附加到body 4,附加操作 5,FL附加到FL_Wheel 依次类推,FR---FR_Wheel 6,调整角度 7.调整坐标轴 8,调整方向盘坐标轴 9,隐藏骨骼之外的东西 1,新建车轮骨骼 ,2,新建刹车器骨骼 3,方向盘骨骼 层次-只影响轴 ,4,转动方向盘的轴,和方向盘角度差不多 ......
112 0
【UE4系列】3DMAX制作骨骼蒙皮
|
物联网
【BLE MIDI】MIDI 文件格式分析 ( FF 03 轨道名称 | FF 51 03 四分音符时长 )(一)
【BLE MIDI】MIDI 文件格式分析 ( FF 03 轨道名称 | FF 51 03 四分音符时长 )(一)
157 0
【BLE MIDI】MIDI 文件格式分析 ( FF 03 轨道名称 | FF 51 03 四分音符时长 )(一)
|
物联网
【BLE MIDI】MIDI 文件速度设置识别 ( 查找 midi 文件中速度相关的二进制数据 | FF 51 03 速度设置指令 )
【BLE MIDI】MIDI 文件速度设置识别 ( 查找 midi 文件中速度相关的二进制数据 | FF 51 03 速度设置指令 )
236 0
【BLE MIDI】MIDI 文件速度设置识别 ( 查找 midi 文件中速度相关的二进制数据 | FF 51 03 速度设置指令 )
|
物联网
【BLE MIDI】MIDI 文件格式分析 ( MIDI 文件头解析 | MIDI 文件头标识 | MIDI 文件头长度 | MIDI 文件格式 | MIDI 轨道个数 | 基本时间 )(二)
【BLE MIDI】MIDI 文件格式分析 ( MIDI 文件头解析 | MIDI 文件头标识 | MIDI 文件头长度 | MIDI 文件格式 | MIDI 轨道个数 | 基本时间 )(二)
314 0
【BLE MIDI】MIDI 文件格式分析 ( MIDI 文件头解析 | MIDI 文件头标识 | MIDI 文件头长度 | MIDI 文件格式 | MIDI 轨道个数 | 基本时间 )(二)
|
存储 物联网
【BLE MIDI】MIDI 文件格式分析 ( MIDI 文件头解析 | MIDI 文件头标识 | MIDI 文件头长度 | MIDI 文件格式 | MIDI 轨道个数 | 基本时间 )(一)
【BLE MIDI】MIDI 文件格式分析 ( MIDI 文件头解析 | MIDI 文件头标识 | MIDI 文件头长度 | MIDI 文件格式 | MIDI 轨道个数 | 基本时间 )(一)
234 0
【BLE MIDI】MIDI 文件格式分析 ( MIDI 文件头解析 | MIDI 文件头标识 | MIDI 文件头长度 | MIDI 文件格式 | MIDI 轨道个数 | 基本时间 )(一)