|
说到数字音频,大家肯定不会陌生,现在谁的手机里还不存几首MP3?
; i& z9 ~$ y+ A9 z' ?8 E) f' B7 @6 d* U) Q0 Q/ U& k+ n
自然界的音频信号是连续的模拟信号,为了让电子设备能够识别并播放音频,需要将模拟型号转换成数字信号。这个过程包含采样、量化、编码三个阶段,我们常见的数字音频文件都是经过这种方式来得到的。MP3的采样率范围为8kHz到48kHz,而wav则使用44.1kHz的采样率。6 H/ n2 S& i4 p/ H8 \& h+ Q
3 K! {3 u3 Q* s$ u9 B! q1 M人耳的频率响应范围约为20Hz-20kHz,换算下来,当采样率达到40kHz以上时,人耳就很难分辨数字信号和模拟信号间的差异了。- X, m. L7 j' C: s8 B1 Y
% ], q6 d/ F3 Y& D& M+ @3 F% ?
( \8 [0 I& w2 T" E% `
- T$ J( k3 l7 b在众多的数字音频格式中,有一种音频格式却没有遵循上述的特点,这个另类就是MIDI。
6 v5 m8 \* Q( \, n k( R. ~
" W. w5 a% j8 [: t W9 ~. WMIDI的英文全称为Musical Instrument Digital Interface,直译为乐器数字接口。这种编码格式的提出是为了解决各种电声乐器之间通信问题。, M' B6 Z2 G! U* X; M4 J
3 I3 m# _. R& ~
与常规的音频文件不同,MIDI编码的文件存储的并不是对模拟信号采样后的数字音频信号,而是一系列控制指令。& |# k. D+ I, j) t3 l
- _' p) z! M' t0 x每个MIDI文件开头的4个字节为「4d 54 68 64」,对应的ASCII字符为「MThd」,它表示这个文件是MIDI文件,后续的10个字节则定义了该MIDI文件的一些全局信息,如音轨数、节拍时长等信息,在这14个字节之后的内容就是真正的「音频」部分。
/ @, @" K \8 z7 D' X3 C3 b0 Q" y$ K2 {4 b: X- i4 T* B
MIDI的音频部分由一系列的MIDI Event组成,每一个Event可以理解为对当前时刻的音符的描述,包括音符的音高、音色、持续时间、力度等。当我们在PC上播放MIDI音频文件时,PC的声卡就会根据这些Event实时「合成」对应的声音并播放出来,而不是「回放」,这也就决定了MIDI文件的播放效果取决于声卡品质的高低。
5 A0 y5 l& l; w; w: A, v8 X4 g8 k/ F+ N0 R; \% M9 n
从上文的描述可以看出,MIDI文件其实是数字世界的「五线谱」,它的内容确定了MIDI播放器在什么时刻应该发出何种声音。) e5 B0 p# l5 A3 R! Q9 s$ C/ A
* ]8 {- [1 z1 x* \
MIDI编码格式在日常生活中并不多见,它主要应用于数字音乐创作领域。由于MIDI文件记录的是一系列原始的音频控制命令,所以它可以很方便的被重新编辑,同时配合丰富的音色库就可以制作出流行音乐。MIDI也可以直接控制各种各样的电子音源,进而「演奏」出独特的音乐效果。
5 Q, e+ z7 p6 L5 i/ q( b/ l5 {9 w) o w. B: u5 j: U9 H
5 l% `9 T. }1 L2 n) _
/ T4 G% T I; _1 m7 W
|
|