博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MIDI音频格式解析
阅读量:5281 次
发布时间:2019-06-14

本文共 2774 字,大约阅读时间需要 9 分钟。

 由于网上关于MIDI音频格式的实例解析较少,

而本人这段时间刚好有做相关的应用,

所以,特别分享MIDI的解析实例,

希望对大家有所帮助。

 

1  0x4D , 0x54 , 0x68 , 0x64 ,  // "MThd" 2  0x00 , 0x00 , 0x00 , 0x06 ,  // 头块长度:不包括前4字节和本4字节 3  0x00 , 0x01 , // 格式;1-多轨,同步 4  0x00 , 0x03 , // 轨道数 = 3 5  0x01 , 0xE0 , // 基本时间格式 0x01E0 = 480; 6   7  0x4D , 0x54 , 0x72 , 0x6B ,  // "MTrk" 8  0x00 , 0x00 , 0x00 , 0x15 ,  // 21 该规长度:不包括前4字节和本4字节 9  0x00 , // 时间差10  0xFF , 0x58 , 0x04 , 0x04 , 0x02 , 0x18 , 0x08 , // 其他功能、节拍、长度4、分子4、分母4、节拍器时钟24、一个四分音符包含的32分音符的个数811  0x00 , // 时间差12  0xFF , 0x51 , 0x03 , 0x0C , 0x35 , 0x00 , // 其他功能、速度、长度3:1个四分音符的微秒数800,00013  0x84 , 0xE7 , 0x00 , // 时间差:128^2*4+128*103+0 = 7872014  0xFF , 0x2F , 0x00 ,  // 音轨结束标志。15  16  0x4D , 0x54 , 0x72 , 0x6B , // "MTrk"17  0x00 , 0x00 , 0x09 , 0xC9 , // 2505 该规长度:18  0x00 , // 时间差19  0xFF , 0x03 , 0x07 , // 歌曲标题,音轨名称,长度720  0x54 , 0x72 , 0x61 , 0x63 , 0x6B , 0x20 , 0x31 , // "Track 1"21  0x00 , // 时间差22  0xFF , 0x04 , 0x1F , // 乐器名称,长度31,--"Microsoft GS Wavetable SW Synth"23  0x4D , 0x69 , 0x63 , 0x72 , 0x6F , 0x73 , 0x6F , 0x66 , 0x74 , 0x20 , 0x47 , 0x53 , 0x20 , 0x57            24  , 0x61 , 0x76 , 0x65 , 0x74 , 0x61 , 0x62 , 0x6C , 0x65 , 0x20 , 0x53 , 0x57 , 0x20 , 0x53 , 0x79 , 0x6E , 0x74            25  , 0x68 , 26  27  0x00 , // 时间差28  0xB0 , 0x0A , 0x40 , // 调换控制,控制号10(声像控制器),(CAKEWALK默认值是64)新值6429  30  0x89 , 0x30 , // 时间差=128*9+48=1200us31  0x90 , 0x40 , 0x50 , // 音符打开,音符号64,速度80  (E5 : MI)32  33  0x81 , 0x58 , // 时间差=128*1+88=216us34  0x80 , 0x40 , 0x40 , // 音符关闭,音符号64,速度64  (E5 : MI)35  36  0x18 , // 时间差=24us37  0x90 , 0x45 , 0x50 , // 音符打开,音符号69,速度80  (A5 : La)38  39  0x81 , 0x58 , // 时间差=128*1+88=216us40  0x80 , 0x45 , 0x40 , // 音符关闭,音符号69,速度64  (A5 : La)41  42  0x18 , 43  0x90 , 0x47 , 0x50 , // 音符打开,音符号71,速度80  (B5 : Si)44  45  0x81 , 0x58 , // 时间差=128*1+88=216us46  0x80 , 0x47 , 0x40 , // 音符关闭,音符号71,速度64  (B5 : Si)47  48  0x18 , 49  0xB0 , 0x40 , 0x7F , // 调换控制,控制号64(延音控制器),新值11750  51  0x00 , // 时间差52  0x90 , 0x48 , 0x64 , // 音符打开,音符号72,速度100 (C6 : Do)53  54  0x00 , // 时间差55  0x90 , 0x45 , 0x50 , // 音符打开,音符号69,速度80 (A5 : La)56  57  0x83 , 0x60 , // 时间差=128*3+96=480us58  0x80 , 0x48 , 0x40 , // 音符关闭,音符号72,速度64 (C6 : Do)59  60  0x00 , // 时间差61  0x80 , 0x45 , 0x40 , // 音符关闭,音符号69,速度64  (A5 : La)62  63  0x00 , // 时间差64  0x90 , 0x4A , 0x64 , // 音符打开,音符号74,速度100  (D6 : RE)65  66  0x81 , 0x70 , // 时间差=128*1+102=230us67  0x80 , 0x4A , 0x40 , // 音符关闭,音符号74,速度64  (D6 : RE)68  69  0x00 , // 时间差70  0x90 , 0x4C , 0x64 , // 音符打开,音符号76,速度100  (E6 : MI)71  72  0x81 , 0x70 , // 时间差=128*1+102=230us73  0x80 , 0x4C , 0x40 , // 音符关闭,音符号76,速度100  (E6 : MI)74  75  0x00 ,  76  0xB0 , 0x40 , 0x7F , // 调换控制,控制号64(延音控制器),新值11777  78  0x00 , 79  0x90 , 0x4A , 0x64 , // 音符打开,音符号74,速度100  (D6 : RE)

 

转载于:https://www.cnblogs.com/yuwl26/p/4161594.html

你可能感兴趣的文章
快速排序
查看>>
java排序算法(五):快速排序
查看>>
阻止事件的默认行为,例如click <a>后的跳转~
查看>>
[BJOI2018]求和
查看>>
Activity的生命周期以及启动方式
查看>>
HackerRank "Triangle Numbers"
查看>>
iphone/iOS 访问本地数据库sqlite3
查看>>
关于 ie9 不执行 js 的问题
查看>>
sql 语句之 case
查看>>
二分图行列匹配与最大匹配必须边
查看>>
[设计模式]-对象的封装
查看>>
wpf首次项目开发总结之音频
查看>>
ODBC连接数据库实例
查看>>
HTTP协议中的COOKIE机制简单理解
查看>>
寻找最大值
查看>>
算法提高 日期计算
查看>>
jmeter的web接口测试
查看>>
开发框架模块视频系列(2)-Winform分页控件介绍
查看>>
前端之Java Script(3)
查看>>
函数式编程语言
查看>>