|
|
语言本身
& e& f' C* O( L
6 m* y. F7 v1 \! z @( d' g% O, R3 \% E& ~; B
9 z! |! h- {: _( F
很多MIDI文章都会讨论bits和bytes,我觉得现在不需要知道这些,就像你在QWERTY键盘上输入时需要知道组成字母“A”的代码一样。MIDI语言涉及两大领域:音乐表达和计时/同步,最重要的是前者。' r( v% g/ @% O' e" I* g
$ Z' i4 [$ A9 Q& |: l. n1 C/ {' `" r4 \6 J0 h4 y: u: \# Q
, ~6 b- D4 g: T, u/ ^Controller这个词有两种不同的含义:A)控制声音发生器的设备(如键盘),B)特定类型的MIDI信息,为了保持思路清晰,在讨论MIDI数据时,我们将参考Controller Messages或Message Numbers。
* {; G% ~* U( J
; E1 f, R- G4 t2 O/ {# B- o$ \
6 G3 A# e( \* V3 O6 V! x1 J1 ?; K) \. F9 R+ Q6 W- A) f+ t) S5 t
当你演奏一个不同的音符时,它会有不同的音高出现,以及当你用多大力气弹键盘时,你的力气有一种清晰的方式测量动态。当你弹奏一个键用最快速的速度,键盘从你接触到结束时间会缩短,当你轻轻地触摸按键时,按键要花更多的时间从你接触的位置开始到结束,通过测量从开始触摸到离开键盘时间,得出与动态匹配的一个值,这就是:Controller Messages。# p+ A* [( T ?
1 a8 i& K) s, O& j# b1 u. U0 R* Q+ R9 S+ L! L
; U8 W( x) {$ d- a$ Y/ w以下是生成Controller Messages的一些最常见的硬件设备:* G5 _3 W5 K) y
6 m7 h( \' D! I" n- g# _' S
$ A3 ~5 [3 ~' U! Z4 k( u& c' U
. g- k! p- u9 A5 ^" B Y3 w+ s音高弯音轮:大多数键盘控制器都有轮子或杠杆,你可以移动它们来改变音高,就像吉他手弯曲琴弦或小提琴手柔弦一样。Native Instruments Komplete Kontrol S88 MK2的控制器轮子,可以旋转以改变音调(左)和调制(右):/ \- c! E. I0 @3 _* `
" C) y" v, ]3 e0 `; `
" a& ]% E4 z- O' c
! ?: e7 S: W1 m8 p2 ]5 k$ E+ j( T# q; u+ p! g& t! S( r$ J8 A
* f$ t- T+ b# q9 s5 i2 O& n$ @) b0 h( P
1 g% V+ E) I$ t' j# E: j" r' c触后:键盘发送的数据与按键结束后施加的压力相对应。例如,您可以按该键弯曲音调或添加可控震源。压力数据可以代表所有按键的平均值,而更罕见的复音触后,为每个被按住的音符生成单独的压力数据,例如Expressive E发布新款多维度Osmose合成器键盘,号称有史来最具表现力的键盘:
( X3 a5 a- Z9 Q; K3 N. V8 V% X+ l3 V2 V# v
% z3 a* `( h- l, \5 I6 |
( F: I& k8 u h, b( N8 }
' W- _. h9 S+ V% E: ]- g s( u/ n# K. ?7 g" H
9 y- |! A: ^* L) P! P3 _3 r, c
* o2 a: C( N7 P' C1 v$ P
: m3 y9 X/ f# G1 F+ @1 L
7 h% h8 [0 n9 j' c
+ t9 u5 E- o6 r. L! _- V' `
# f: n1 e8 h, Y4 H f, }0 YNative Instruments Komplete Kontrol S系列MIDI键盘拥有完整的控制器功能之余,还多出调制轮下方的带状控制器,这些全部都是由MIDI产生的Controller Messages。- `* G. L7 ^6 E+ W8 W
+ h. d' y& g, h# j
6 E# r0 ]6 u( G& s: p3 p
4 P* h; o3 W2 o( ]* d. z1 m1 R/ ^, A: G' K
% j8 m/ Z" z1 z3 u' ^- g; Q% F! @; D3 }* n
k6 E7 @. Q% U: l4 X0 I6 {
- s v( ]# K2 o2 B8 h: ~
/ q( E3 H5 G' Y2 k9 ~$ j
然而,要知道,因为MIDI的规格是如此之多,并不是所有的MIDI设备都必须实现MIDI规格的所有规格。例如,键盘可能不会实现复音触后,家庭型电钢琴会没有一个Mod轮等等。
$ T5 Q( l8 ? h9 n( [9 a k$ n0 n( Y+ ^( P" M
+ Y) e, ^. @; E
: \* F& r1 P4 z6 j) y这里已经很清楚表明,我们在操作控制器时处理数据—可以让所有都知道MIDI是如何组织这些参数的。, y5 b% C( c; b' j1 p3 \
4 P6 O0 K% d0 G( Y, R, q. y; B4 w/ B
: |8 q4 N* h, v7 I3 FChannel Number" h0 D N: q+ h6 C- V
0 v! ^0 p# n( j2 d2 W' B4 g: I0 O& j5 {8 X# F) ?, x- a, G+ a" m
9 x9 w" y+ w3 C1 B/ [
弹奏音符时,可以选择通过16个MIDI频道中的任意一个发送。这很有用,原因有很多。假设你有一个能发出美妙钢琴声音的音源发生器,还有一个能发出美妙的管弦乐声音的第二个音源发生器。
. z3 I( b! K2 O4 U1 E" F" E' C+ S6 x/ }6 v3 h( Y) I. e
5 c z! \+ q" ?$ o9 Q5 q# v" ~" @" q6 a$ x& y% L" W
将控制器设置为通过通道1传输,将钢琴和弦乐模块设置为通过通道1接收,然后将同时触发这两个模块声音。但也许你想在一些歌曲上弹钢琴,在其他歌曲上弹弦乐。将钢琴设置为声道1,将琴弦设置为声道2,然后选择通过键盘上的声道1或声道2进行传输,具体取决于要听到的声音。- U! c0 X. _4 h8 T8 M) O/ q" j2 B# O
4 j# k; T5 N& n
8 A6 A3 a3 B% i3 P* T! f/ m6 H& k- x: }, u% K6 D: y, E
( @6 ^! d8 @2 I: d& l
) A* }) z- h [6 n- x& r/ C通道也是MIDI排序的关键部分,这是将MIDI数据记录到计算机中的过程,是MIDI相当于多声道音频记录的过程。假设您要录制数据以触发MIDI控制的鼓声,然后要录制其他数据以触发MIDI控制的低音,最后要录制数据以触发MIDI控制的钢琴音调模块,如果没有通道选择,所有的乐器都会同时演奏相同的音符。( n' Z( y& Z, ^7 p- i
$ }. X; h" v. H6 s/ @
; i/ X: [) X# j j( F$ F- @' r4 G7 E/ r/ C5 l; u2 [
但如果你把鼓的音符记录在1号通道,低音的音符记录在2号通道,钢琴记录在3号通道,那么每一种乐器都只会弹回为它准备的音符。注意,不同的数字没有特别的含义——这些音符也可以记录在4、11和16频道上。唯一常见的通道分配是默认的鼓声是10频道,但这不是一个规范和规定。
* m. D3 w3 [+ C: z& X% ]. }% v, }9 t- m3 k2 j" X
W, i. q F. m
6 W* W& a4 U: d0 U& o1 j一些控制器通过多个信道传输。例如,MIDI吉他控制器可以在允许其通过自己的通道发送每个字符串的数据的模式下操作。所以下面的两个弦可以触发低音,而上面的四个弦可以触发风琴声。$ M+ q# y4 D( w6 O& k
4 o8 a S9 g* K1 J* T4 o4 d, K9 V8 R0 `3 H$ |0 S
" |" u# P4 Q- Y$ j6 t5 ~4 H
通道对于多音段硬件和虚拟仪器也很重要,它们可以同时播放许多不同的声音-例如,为歌手/歌曲作者提供一个完整的带有多个乐器声音的备份音轨(下图)。& @/ E& } r1 G, |4 G; a2 w
& V) B s8 H/ O- v3 Z
6 Z6 m7 V2 i P; B# R) L/ ?
' s1 a" I! c# s+ h# _! n, U这些是与MIDI音序器一起使用的流行乐器选择,因为您可以将不同的数据通道录制到MIDI音序器中,将多音乐器中的声音分配给相应的通道,并回放完整的乐曲。
& q7 G H) G B: u( [/ x9 l) G, s: n* P! x! s. G# ?8 n5 h2 s, x
: S9 B& D# L) I
, l5 @: L7 C+ G7 u/ X5 J# b9 X
7 S, l) j6 g6 L% u( \) B+ v3 Q! J0 S) K5 d" I* B
; k: N6 z0 k- o P* l( G& u* J @+ M
IK公司的SampleTank 4综合音源可以同时演奏16种不同的声音。上图显示的八种声音响应通过各自通道传入的MIDI数据。
% P r7 F) o/ i: Q% M1 K" f G0 t8 W1 L, ^
8 r6 Y; B% b. W$ G; X
+ G3 F5 B. C, @- C' K当MIDI规范被创建时,16个频道看起来已经足够了——毕竟,有多少人能买得起16个硬件合成器?不过,随着时间的推移,人们希望能够对更多的声音进行排序,使用触发灯光和音乐的频道等等。解决方案是具有多个MIDI端口的硬件接口,每个端口处理16个通道,如下图:
$ z7 A1 ^% l: f& d* S# a# P% V' I% O' e+ \) o! k$ L
( q+ ^. e3 x) Q
* m& d+ x! G& K5 B3 _$ t- {7 D E
6 U) v; S1 P1 F4 D
# o9 [' c) w P. l, ^8 {
/ {7 z( N* s/ F* Q3 siConnectivity的iConnectMIDI4+是一个4端口的MIDI接口(另一个端口在前面板上),用于Mac、Windows和iOS。它提供64个MIDI通道,可扩展到更多端口,甚至可以成为计算机网络的一部分。
8 G0 D) C t6 a; d% ?5 t
3 i3 t$ B. U7 l) N4 U M/ V" ]4 ~0 q- P
N, S q. i2 @% z2 x
又例如,具有四个端口的MIDI硬件接口可以通过16 x 4=64个通道发送数据。MIDI还衍生了一些附件,如MIDI合并(因此,具有不同控制器的多个播放器可以用一个声音发生器“干扰”-参见下图),MIDI拆分器将一个MIDI输入发送到多个MIDI输出。( ~) F6 b* g! ]3 j1 D" C
$ Q& ^5 l& k8 W0 i' c0 C. I# l1 {. G3 o
: e2 @3 ~: G0 r8 w: T5 U: p" {: d" f; s8 |, ~+ J" Y
, N ?# S+ s0 M/ U! {& N% E
2 g( V q" l" q% t
( K, g3 v/ u# u上图是来自MIDI Solutions的Quadra可以合并四个单独的MIDI流,并将合并的流分布在两个MIDI输出上。
( I7 Q( u% J8 o. N
! h* ]/ e) P4 M4 A |
|