1、1 总观一个mid文件主要包括两部分,标头数据和音轨数据。
2、简介的第二部分介绍标头数据,第三部分介绍音轨数据。
3、mid文件包含仅一个标头数据来描述文件格式等,和任意数量的音轨数据。
(相关资料图)
4、一个音轨可以被理解为多声道磁带的磁轨你可以指定一个音轨为一个声音,一段填充空白,一个乐器或你希望的什么东西。
5、2 标头数据标头数据出现在文件的开头,描述文件的三个部分。
6、标头数据总向这样:4D 54 68 64 00 00 00 06 ff ff nn nn dd dd前4比特等价于ASCII字符“MThd”。
7、在这4比特头标签之后,总是00 00 00 06,因为头信息总是六比特。
8、(译者按:这六比特头信息是4D 54 68 64 00 00,最后两比特用0填充。
9、之后是的00 06而不是06,是因为整型变量要占两个字节。
10、这就是数字6前面多出来一个字节的原因。
11、下同。
12、)ff ff是文件类型,一共有3种类型:0 - 单音轨1 - 多音轨,同步音轨2 - 多音轨,异步音轨单音轨,顾名思义,只有一条音轨。
13、同步多音轨是说所有的音轨并行播放,通俗地说,同时开始播放,这样可以在音乐中代表不同的声部。
14、异步多音轨不一定在音乐开始时播放。
15、它们可以完全异步。
16、nn nn是mid文件的音轨数量。
17、dd dd是每个四分音占用的时间片(这个以后再详细说明)。
18、(译者按:这两个比特越大,音乐节奏越快。
19、)3 音轨数据标头数据之后,文件剩下的部分是音轨数据。
20、每个音轨都有一个标头,和你需要的数个命令。
21、就像文件的标头数据,音轨标头是这样的:4d 54 72 6b xx xx xx xx这里的前4比特等价于ASCII字符的“MTrk”。
22、之后的4个字节说明了这个音轨长度,音轨字节数(不包括音轨标头)。
23、标头之后的是midi事件。
24、这些事件实际上是送向midi合成器接口的数据和一个附加数据:时间片。
25、时间片表示经过多少tick之后事件开始被运行。
26、每四分音之后的时间片被预先定义在标头数据里。
27、这里的时间片是可变长度的编码数据。
28、这种格式尽管有些混乱,却可以使大数字使用随意的字节数,不用浪费被填成0的字节。
29、这些数被转换为7比特的字节,每个字节最特殊的最高有效位(MSB),除了数字的末字节是0外,其他字节是1。
30、这样,读取数字每次读一字节,当你看到最高有效位是0时,你就会知道这是数字的最后一个字节。
31、根据mid规格,整个时间片最多占4字节。
32、时间片之后是mid事件,每个mid事件(除了运行事件)有一个最高位是1的命令字节(字节数值>=128)附录列表A是大部分命令。
33、每个命令有不同的参数和长度,但命令后的数据必须是最高位为0的字节(字节数值)。
34、以上规则有一个例外,是meta事件,它可以包含最高位是1的数据字节。
35、然而,meta事件要求有一个长度参数,这样能减轻你的困惑。
36、一个可能带来混乱的细节(subtlety)是运行模式。
37、实际上这里是mid命令被疏忽,最近的mid命令发行物被假设的地方。
38、这意味着mid事件可以由时间片和和参数构成,这参数会转到可能存在的命令。
39、4 总结如果这些解释只能增加本文的混乱,那么附录的例子可能使本文清晰一些。
本文就为大家分享到这里,希望看了会喜欢。
上一篇:BLG和JDG新赛季迎来首战,牙膏版本回归,这次BLG能走多远
下一篇:最后一页
关于人民调解那些事,你知道吗?海幢普法来为你讲解。我们在生活中会碰到一些纠纷,如债务、邻里关系、雇佣
德讯午评盘面解析大盘震荡寻底做多情绪较低德讯证顾观点:大盘震荡磨底,科技股逆势走强三大指数集体下跌,
1、吕凉饰钱广,钱家的一家之长。2、2、徐囡楠饰钱安安,钱广的三女儿。3、3、周璞饰冯立业,钱广的大儿子
围场满族蒙古族自治县气象台2023年05月31日11时36分发布大风黄色预警信号:受雷雨天气影响,预计今天下午,
详情点击:http: opinion people com cn n1 2023 0531 c1003-40002552 html
中原网讯(赵文源)为加强学校安全安全管理工作,预防安全责任事故的发生,确保学校的教学秩序、工作秩序和生
巴塞罗那并不在他的考虑之中,而美职联的迈阿密国际、沙特的利雅得新月和一家英超俱乐部将成为他的下家选择
为进一步关心关爱农民工子女及留守儿童等弱势群体的健康成长,营造全社会共同关心爱护未成年人的良好氛围,
近日,中国卫星导航定位协会在京发布《2023中国卫星导航与位置服务产业发展白皮书》(以下简称“白皮书”)
同花顺数据中心显示,英洛华5月30日获融资买入312 98万元,占当日买入金额的15 16%,当前融资余额7751 81万
X 关闭
郑州昨天新增确诊病例11例,累计报告确诊病例103例
郑州:各核酸检测采样点开辟学生绿色通道
为何持续多轮做核酸检测 河南疾控专家解释
驻马店:关于依法严厉打击涉疫情网络谣言等违法信息的通告
郑州本轮累计报告103例本土确诊病例 均为普通型或轻型
郑州第五轮9区全员核酸检测已检724.9万人,已确诊5例
X 关闭