关于MIDI文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于MIDI文件相关的知识,希望对你有一定的参考价值。

问题3:MIDI文件的本质?与Wav、Mp3等音频文件存储内容的差异?
问题4:电脑音乐的优缺点?
问题5:个人数字音乐制作室的基本设备?(有能力的同学放入一张个人数字音乐工作室的平面布局图)

你已经排列好了它们的专业级别:依次是MIDI、WAV、MP3.

MIDI文件的本质是数字音乐制作室的音乐序列程序,它可以对合成器、采样机、节奏器、部分有MIDI接口的混音台、调光台(对,还可以控制舞台灯光)发出各种演奏指令和各种表情的控制指令,可以完成一般演奏家无法完成的任务,如今许多好莱坞大片就是有数字音乐制作室来制作的,就采样器而言,就采集了好几个世界著名交响乐队的各种演奏法,而且还采用了比我们平时聆听的CD、DVD、蓝光等采样频率高得多的音频(平时我们欣赏音乐CD时的WAV是44.1KHz\\16bit,而现在一般的工作时编辑音乐时早就使用了96KHz\\24bit或192KHz\\32bit),因此合成出来的乐曲让人十分的震撼。

至于MP3是有损压缩,其容量只有WAV在44.1KHz\\16bit采样频率下的十分之一,由于体积小,一般不太专业的人员又不一定能察觉,所以在今天网络非常落后的情况下受到青睐。

电脑音乐制作的优缺点完全在人,要看什么人在操作电脑音乐和制作MIDI。世界级的音乐大师也在制作MIDI,而刚刚起步的初学者也在发布自己制作的MIDI,差异太大。而我们现在在网络上能下载的MIDI文件绝大部分都是非常不专业的人员在制作的,只有一、二十k大小,连起码的表情、自动控制信号都没做就放到网上来了,而且下载的网友用的是Win自带的默认Roland的MIDI音源(上世纪的标准MIDI概念产品,很多厂家生产了不同音质的标准MIDI音源),所以听起来就像机器人的感觉,呆滞、没有表情,动态错误,令人难以忍受。

 

由于现在电脑已进入了4核时代,所以如下图的MIDI链接就完全可以制作出世界一流水平的作品:

当然,现在的电脑中的软件功能也非常的强大,音乐制作软件有Pro Tools、Logic、Cubase、Sonar,可以装载很多音源和效果插件,为任何要求的音乐制作专业的音乐作品,而且,这些软件不用任何多余的设备,仅仅用电脑的鼠标和键盘就能制作出多有作品。这是以前任何乐队,录音室等现场做不到的。

假如仅仅是想要制作一些简单的音乐,那就用iPad的GarageBand好了,不用任何外接设备就可以用自带的触摸键盘进行MIDI制作了

参考技术A MIDI文件只是记录了一些指令,因此文件很小,它的音质取决于电脑的声卡自带的波表,确切讲它应该不算是音频文件,Wav、Mp3其实记录的是音频的波形,wav文件是无损的格式,而mp3是有损的压缩格式,电脑音乐的优点,太多了,最大优点是一个人能完成一个乐队和指挥完成的工作,成本低,与请乐手和乐队录音来说使用电脑软音源可以完成同样的工作,缺点:需编曲人掌握熟悉音序曲的操作,熟悉各个音源的用法,专业的混音技术等等,当然最大缺点也是软音源与原声乐器相比还是有一定差距的,如果追求真实的乐器效果,还是要录音。以上是我个人的一些看法!

BLE MIDIMIDI 文件格式分析 ( MIDI 文件头解析 | MIDI 文件头标识 | MIDI 文件头长度 | MIDI 文件格式 | MIDI 轨道个数 | 基本时间 )(代码





一、MIDI 文件简介



下面的 mid 文件是一个简单 midi , 其中只有一条轨道 , 一个音符 ;

这个 mid 文件很简单 , 但是麻雀虽小 , 五脏俱全 , 其中有所有的必须的 midi 文件头 , midi 轨道头 , 时间标志 , 等信息 ;

下面开始逐个字节 , 解析上述 midi 文件 ;

4D 54 68 64 00 00 00 06 00 00 00 01 01 E0 4D 54 
72 6B 00 00 00 25 00 FF 03 05 B2 E2 CA D4 30 00 
FF 51 03 07 A1 20 00 FF 58 04 04 02 18 08 00 90 
3C 64 8E 7E 80 3C 40 00 FF 2F 00





二、MIDI 文件头解析



文件头数据 :

4D 54 68 64 00 00 00 06 00 00 00 01 01 E0


1、MIDI 文件头标识


4D 54 68 64 : 0 ~ 3 字节 , " MThd " 字符串 ASCII 码 , 这是 mid 文件的标识 ;


2、MIDI 文件头长度


00 00 00 06 : 4 ~ 7 字节 , 这是个 4 字节整型数据 , 大端格式显示 , 整型低位在高字节 , 整型高位在低字节 , 该数据表示 mid 文件文件头长度 , 这里的文件头长度为 6 , 表示后面 6 字节是 mid 文件文件头的范围 ;


大端格式 : 高位存储在低字节中 , 符合人的书写习惯 ;

小端格式 : 低位存储在低字节中 , 符合计算机处理逻辑 ;


3、MIDI 文件格式


00 00 : 8 ~ 9 字节 , 表示 mid 文件的格式 ; 这两个字节是 short 类型整型 , 大端格式 ;

  • 0 : mid 文件只有一条轨道 , 所有的通道都在一条轨道中 ;
  • 1 : mid 文件有多个音轨 , 并且是同步的 , 即所有的轨道同时播放 ;
  • 2 : mid 文件有多个音轨 , 不同步 ;

这里是 0 格式 , 也就是说只有一条轨道 ;


4、MIDI 轨道个数


00 01 : 10 ~ 11 字节 , 表示 MIDI 轨道个数 , short 类型 , 大端格式 ;

此处表示有一条轨道 , 所有通道的音符和节拍信息都在该轨道中 ;


5、基本时间


01 E0 : 12 ~ 13 字节 , 用于指定基本时间 ;

2 个字节 , 要拆分成 3 部分 , 最高位 ( 第 15 位 ) 作为标识位 , 第 8 ~ 14 位 作为一部分 , 第 0 ~ 7 位 作为一部分 ;

由于是大端格式排列 , mid 文件第 12 字节 ( 低地址 ) 是 高位 , mid 文件第 13 字节 ( 高地址 ) 是低位 ;

01 E0 的二进制形式如下 : 0000 0001 11110 0000 ;

最高位 0000 0001 11110 0000 是 0 , 红色的是最高位 , 表示当前 代表的事件格式是 类型1 , 第 0 ~ 14 位 代表的是 四分音符的 tick 数 ;

十六进制 01 E0 对应的十进制数字是 480 , 也就是说一个四分音符有 480 tick ;

tick 是时间单位 , 这是 mid 文件中计算时间的最基本单位 ;

以上是关于关于MIDI文件的主要内容,如果未能解决你的问题,请参考以下文章

在 Android 中从钢琴中读取 MIDI 消息

如何在python中合并或连接两个midi文件

将 Midi 序列写入文件

使用 C 解析 MIDI 文件 - (分配内存的可能问题)

HTML5 中的 MIDI 音乐支持

HTML5 中的 MIDI 音乐支持