|
|
说到数字音频,大家肯定不会陌生,现在谁的手机里还不存几首MP3?+ T" `" a+ D3 d3 A7 v/ C
2 V1 P/ j3 P* J自然界的音频信号是连续的模拟信号,为了让电子设备能够识别并播放音频,需要将模拟型号转换成数字信号。这个过程包含采样、量化、编码三个阶段,我们常见的数字音频文件都是经过这种方式来得到的。MP3的采样率范围为8kHz到48kHz,而wav则使用44.1kHz的采样率。" k" c ~7 X# }- H- ?3 {2 M0 \
: a* H9 Z3 a3 f1 s3 N0 J- c, ^' X人耳的频率响应范围约为20Hz-20kHz,换算下来,当采样率达到40kHz以上时,人耳就很难分辨数字信号和模拟信号间的差异了。" \2 \& o9 I- Z3 i4 j3 d' S
e$ p, J/ J1 ` v9 v+ u; v/ U @! ]+ h' }, R
3 j, H* z d% y$ d
在众多的数字音频格式中,有一种音频格式却没有遵循上述的特点,这个另类就是MIDI。+ l: J$ Q' d+ z2 \' M0 E' e
# i; ~% i$ f5 g# \MIDI的英文全称为Musical Instrument Digital Interface,直译为乐器数字接口。这种编码格式的提出是为了解决各种电声乐器之间通信问题。
' k! t; ~- g$ z4 ~) j& \6 Z9 V. _. }
与常规的音频文件不同,MIDI编码的文件存储的并不是对模拟信号采样后的数字音频信号,而是一系列控制指令。" B1 U6 E9 m' J6 ~0 I; q, J- B
8 w. n; d( e" O8 L+ e3 c) d! G
每个MIDI文件开头的4个字节为「4d 54 68 64」,对应的ASCII字符为「MThd」,它表示这个文件是MIDI文件,后续的10个字节则定义了该MIDI文件的一些全局信息,如音轨数、节拍时长等信息,在这14个字节之后的内容就是真正的「音频」部分。
+ S# l$ @' L) Z+ B( a. r
3 `8 A7 Z5 {* Z' s& w7 m' q% kMIDI的音频部分由一系列的MIDI Event组成,每一个Event可以理解为对当前时刻的音符的描述,包括音符的音高、音色、持续时间、力度等。当我们在PC上播放MIDI音频文件时,PC的声卡就会根据这些Event实时「合成」对应的声音并播放出来,而不是「回放」,这也就决定了MIDI文件的播放效果取决于声卡品质的高低。% A# c) g4 c7 b- p3 E+ S7 p# X. N
( `' ]3 y2 i- u从上文的描述可以看出,MIDI文件其实是数字世界的「五线谱」,它的内容确定了MIDI播放器在什么时刻应该发出何种声音。5 |# b% o/ I$ U; h o/ p2 ~
0 A A5 ^/ j% D- y
MIDI编码格式在日常生活中并不多见,它主要应用于数字音乐创作领域。由于MIDI文件记录的是一系列原始的音频控制命令,所以它可以很方便的被重新编辑,同时配合丰富的音色库就可以制作出流行音乐。MIDI也可以直接控制各种各样的电子音源,进而「演奏」出独特的音乐效果。
$ b. r& t: _5 Q' C, G7 ]: A) |; U1 Q( Y7 [" Z0 l
! B, M6 I, F5 {4 ?
0 }% }( ]+ L9 y. E3 ?- `
|
|