MIDI常識(shí)20條
1)MIDI發(fā)送演奏指令而不是聲音當(dāng)你在MIDI鍵盤上按下一個(gè)琴鍵,你不是在制造一個(gè)聲音而是發(fā)出一條MIDI指令,叫做Note on(音符開)信息。至于這個(gè)信息能發(fā)什么聲音,完全取決于電纜另一端的MIDI樂(lè)器(如果有的話)。MIDI電纜里完全沒(méi)有音頻數(shù)據(jù)。
2)In對(duì)Out;Out對(duì)In 許多MIDI設(shè)備的后面板帶有3個(gè)MIDI插座:In、Out、Thru。連接設(shè)備的時(shí)候,主鍵盤的Out將連接到希望接收信息設(shè)備的In。MIDI設(shè)備可以做鏈形連接,使主鍵盤(或電腦等)發(fā)送的信息傳送到連接的各個(gè)設(shè)備。鏈形連接的時(shí)候主鍵盤的Out連接到下一個(gè)設(shè)備的In,然后從它的Thru連接第三個(gè)設(shè)備的In,再?gòu)腡hru連接第四個(gè)設(shè)備的In……如此連接。
3)過(guò)多的Thru使數(shù)據(jù)劣化通過(guò)Thru口連接4或5臺(tái)以上設(shè)備不是好主意。數(shù)字信號(hào)多次Thru之后累加的延遲容易使掛在鏈路后端的設(shè)備發(fā)生錯(cuò)碼或其他意外情況。
4)MIDI通訊是單方向的不像許多現(xiàn)代的數(shù)字通訊例如USB等,MIDI電纜中的信息只向一個(gè)方向流動(dòng)。如果你希望兩臺(tái)設(shè)備之間能夠?qū)υ挘▊魉拖到y(tǒng)專用信息時(shí)經(jīng)常用到),就需要把各自的Out接到對(duì)方的In。
5)MIDI用串行格式傳送數(shù)據(jù),速度相當(dāng)快在MIDI電纜中同一時(shí)間只能傳送一個(gè)比特,技術(shù)上稱為串行通訊。MIDI字節(jié)包含10個(gè)比特而不是常用的8比特。MIDI每秒傳送31250比特,或者說(shuō)3125字節(jié)。下面將要講到,一個(gè)MIDI音符開信息包含3個(gè)字節(jié),不到1毫秒就發(fā)送完畢。即使一個(gè)20音的和弦也將在20毫秒之內(nèi)先后發(fā)聲,人類的聽覺(jué)幾乎不能感覺(jué)到這樣微小的時(shí)間差異。
6)16通道共享同一條電纜 MIDI規(guī)定定義了兩類信息——系統(tǒng)信息和通道信息。實(shí)際的音樂(lè)演奏信息(音符、控制器、彎音等)是通道信息格式。MIDI定義一條電纜同時(shí)可以傳送16條通道,如果需要更多通道,就要使用更復(fù)雜的電纜設(shè)置。例如你的電腦配備了8個(gè)端口的接口,同時(shí)傳送的通道數(shù)就可以達(dá)到16×8=128。一些合成器可以同時(shí)接收32通道,這時(shí)就需要2個(gè)MIDI輸入口(或者其他形式的接口,如USB等)。
7)兩種MIDI同步最早的MIDI規(guī)定定義了時(shí)鐘信息以及停止、開始、繼續(xù),樂(lè)曲位置指針等信息,使2臺(tái)音序器能夠同步運(yùn)行。每個(gè)四分音符發(fā)送24個(gè)時(shí)鐘信息,因此它是隨速度而變化的。時(shí)鐘信息是很簡(jiǎn)單的單字節(jié)標(biāo)記,并不包含時(shí)間、位置等信息。更復(fù)雜的同步信息要使用MIDI Time Code(MIDI時(shí)間碼,簡(jiǎn)稱MTC),這是SMPTE同步碼在MIDI的表現(xiàn)方法,它能夠提供樂(lè)曲演奏的時(shí)間信息,但是不包含速度信息。如果兩個(gè)用MTC同步的音序器工作在不同的速度,盡管有很好的同步,它們的音樂(lè)還是會(huì)逐漸岔開。
8)中央C編號(hào)60 MIDI為各通道定義了128個(gè)音符,中央C編號(hào)為60,5個(gè)八度的鍵盤編號(hào)可能就是36到96。但是音序器沒(méi)有統(tǒng)一的規(guī)定,有的音序器顯示60號(hào)音符為C3,另一些則為C4,并不統(tǒng)一。
9)MIDI音符開的3個(gè)字節(jié)包含4類信息第一個(gè)字節(jié)包含狀態(tài)(說(shuō)明這一信息是什么性質(zhì)的)和通道號(hào)1-16;第二字節(jié)是音符編號(hào)0-127;第三字節(jié)表示力度0-127。
10)力度0就是音符關(guān)(Note off)有兩種方法可以關(guān)閉已經(jīng)打開的音符:一種是發(fā)送音符關(guān)信息;另一種是發(fā)送力度為0的音符開信息。當(dāng)然這兩種方法都必須包含相應(yīng)的音符編號(hào)和通道號(hào),否則就不能達(dá)到目的。除了力度0被借用來(lái)代表音符關(guān),音符開的力度范疇變成1-127以外,這兩種方法在音樂(lè)上并無(wú)區(qū)別,不過(guò)算起細(xì)賬來(lái)后者能節(jié)省信息量。原來(lái)MIDI有一個(gè)“運(yùn)行狀態(tài)”,規(guī)定前后信息的狀態(tài)完全一致的時(shí)候,后面的信息可以省略狀態(tài)字節(jié)。如此算來(lái)一開一關(guān)是不同的狀態(tài),需要6個(gè)字節(jié);兩個(gè)開(第二個(gè)開力度為0,實(shí)際是關(guān))狀態(tài)相同,5個(gè)字節(jié)就夠了。在發(fā)送一大片連續(xù)的快速音符時(shí),運(yùn)行狀態(tài)可以有效降低MIDI信息的傳送密度。
11)連續(xù)控制器并不連續(xù) MIDI通道信息設(shè)置了128個(gè)連續(xù)控制器信息(Continuous Controller經(jīng)常簡(jiǎn)寫為CC),主要用來(lái)表示旋鈕、推子、踏板的運(yùn)動(dòng)狀況,每一個(gè)CC的范疇是0-127。例如合成器的調(diào)制輪或調(diào)制桿總是1號(hào)控制器,轉(zhuǎn)到一端為0,另一端為127。但是數(shù)值并不是平滑地變化,而是臺(tái)階式的變化。比如數(shù)值可以是56或57,但不可能是56.329或57.1。如果用CC控制一些比較敏感的聲音參數(shù),有可能聽得到臺(tái)階式的效果變化。
12)一些CC是預(yù)先定義的一些CC保留給特別的用途,例如CC64分配給延音踏板。實(shí)際上有一些(例如64、65、66等)控制器定義成開關(guān)式,如CC64踩下去發(fā)送127;抬起來(lái)發(fā)送0,并不使用中間的數(shù)值。CC00-CC31可以與CC32-CC63結(jié)對(duì)使用表示MSB和LSB,構(gòu)成16384的控制值。是否使用14比特?cái)?shù)值由設(shè)備制造廠商決定,沒(méi)有一定之規(guī)。
13)彎音音域由接收合成器決定彎音是一個(gè)很特別的MIDI信息。雖然它被定義為14比特,但是許多合成器省略了LSB數(shù)據(jù)而只用MSB的7比特(0-127)數(shù)值。也許這樣是對(duì)的,因?yàn)樵S多彎音硬件只提供7比特?cái)?shù)值,音序器也經(jīng)常把彎音定在-63到+64的范圍。彎音是一個(gè)雙極信息,中心為0,控制器常常帶有回0的彈簧。有一條MIDI信息(是一個(gè)注冊(cè)參數(shù)號(hào)RPN)可以給接收彎音設(shè)備定義彎音音域,但并不是所有合成器都響應(yīng)。
14)音色庫(kù)的選擇 MIDI剛創(chuàng)建的時(shí)候合成器通常只有32、40、最多不過(guò)64個(gè)音色可以記憶,沒(méi)有誰(shuí)能夠預(yù)見不久以后合成器竟能擁有數(shù)百以至數(shù)千音色。結(jié)果只定義了128個(gè)選擇音色的程序變換(Program Change),為了解決這個(gè)問(wèn)題,發(fā)明出音色庫(kù)選擇信息。音色庫(kù)選擇(Bank Select)借用了連續(xù)控制器CC0和CC32構(gòu)成14比特的數(shù)值,使音色選擇的范圍達(dá)到16384個(gè)音色庫(kù),每庫(kù)包含128個(gè)音色。數(shù)值非常巨大。問(wèn)題是廠商對(duì)于音色庫(kù)選擇信息的執(zhí)行有很大差異,一些合成器僅用CC0選擇音色庫(kù),舍棄了CC32(雖然MIDI規(guī)定要求二者連續(xù)發(fā)送),另有一些合成器則按規(guī)定使用命令,沒(méi)有包含數(shù)值的控制器也發(fā)送數(shù)值0。一些合成器立即轉(zhuǎn)換到新選擇的音色庫(kù),而另外一些則要等待到接收一條程序變換命令后才轉(zhuǎn)換。一些合成器沒(méi)有把音色庫(kù)裝滿,因此一條音色庫(kù)選擇命令可以同時(shí)選中2個(gè)庫(kù),具體選擇音色時(shí)還需要加上偏移值。Kurzweil在音色庫(kù)選擇規(guī)定出現(xiàn)之前就開始支持多重音色庫(kù),在K2000/2500合成器上使用不同的音色庫(kù)選擇方法。還有的合成器忽略音色庫(kù)選擇命令。一些音序器試圖幫助用戶完成音色庫(kù)選擇,但是并不能對(duì)所有的合成器生效。
15)有4種方法關(guān)掉“粘住”的音符相信大家都遇到過(guò)“粘住”的音符?蓱z的合成器只接收到音符開而沒(méi)有收到關(guān)掉這些音符的命令,于是就討厭的響個(gè)不停。如果發(fā)音的音色包絡(luò)已經(jīng)把音量衰減下去,你就不容易發(fā)現(xiàn)“粘住”的音符,一般都是帶有保持包絡(luò)的音色造成明顯的問(wèn)題。引起問(wèn)題的原因可能在音序器,也可能在合成器的系統(tǒng)軟件,更有可能是MIDI連接出現(xiàn)問(wèn)題(MIDI能夠檢測(cè)到連接出問(wèn)題而自動(dòng)發(fā)出關(guān)掉音符的命令,但不是全部合成器有這樣的功能)。 MIDI定義了關(guān)掉全部音符的命令,音序器軟件經(jīng)常備用一個(gè)“救急”按鈕,點(diǎn)擊它就可以把關(guān)閉全部音符命令發(fā)送到16個(gè)通道,但是有的合成器不能識(shí)別這條命令,因此“救急”按鈕同時(shí)經(jīng)常還需要給16個(gè)通道的每一個(gè)音符發(fā)送關(guān)閉命令,16×128=2048,幸虧?rùn)C(jī)器不知道累。如果“救急”按鈕不管用,可以試著發(fā)一個(gè)程序變換(Program Change),許多合成器在轉(zhuǎn)換到新音色時(shí)關(guān)閉正在發(fā)音的音符。如果這一招不管用,下面還有一手可以對(duì)付32復(fù)音數(shù)以下或音色多層次布局的合成器:用手和胳膊盡可能多的同時(shí)按下琴鍵,放手的時(shí)候也許有效。最有效的辦法是關(guān)掉電源然后再打開,一定管用。不過(guò)如果出問(wèn)題的不是合成器而是采樣器,重新載入64MB的樣本也要花一些時(shí)間呢。
16)時(shí)間延遲能減少 MIDI相當(dāng)快,雖然串行傳送,基本上聽不出時(shí)間的參差。如果回放的開頭發(fā)音遲緩,有以下幾種可能:試圖發(fā)送過(guò)多的控制器數(shù)據(jù),通常是多通道回放的信息包含有彎音和CC數(shù)據(jù),它們擠占了音符到達(dá)的時(shí)間。音序器通常備有“減薄”連續(xù)控制數(shù)據(jù)的編輯功能,能夠有效地減少這類延遲。觸后是另一類連續(xù)數(shù)據(jù),歷來(lái)是引起延遲的聲名狼藉的嫌疑犯。如果觸后信息用處不大,建議根本不用或全部刪除。試圖同時(shí)讓過(guò)多的音符同時(shí)發(fā)音也會(huì)造成延遲。例如一種音色由4Voice構(gòu)成,各Voice使用2個(gè)振蕩器,如果同時(shí)讓10個(gè)音符發(fā)音,對(duì)于合成器來(lái)說(shuō)就要同時(shí)啟動(dòng)80個(gè)振蕩器,時(shí)間上很容易出現(xiàn)延遲。解決的方法或者減少音色的層次,或者把音符前后錯(cuò)開一些。(譯者注:樂(lè)曲開頭處經(jīng)常有許多MIDI設(shè)置數(shù)據(jù)需要發(fā)送,常常影響到第一個(gè)音符的準(zhǔn)時(shí)出現(xiàn)。我們過(guò)去建議音樂(lè)家把第一小節(jié)空出來(lái)專門寫命令,音樂(lè)從第二小節(jié)開始,效果非常好。)
17)標(biāo)準(zhǔn)MIDI文件使MIDI音樂(lè)廣為傳播在MIDI的“幼年”時(shí)期,開發(fā)者就明確地預(yù)見將會(huì)有一種文件格式,像Microsoft的RTF(Rich Text Format)一樣供所有的音序器讀寫,不久以后果然以.MID做后綴的SMF格式出現(xiàn)了。用音序器創(chuàng)作的音樂(lè)除了以自己的格式存儲(chǔ),也可以存成標(biāo)準(zhǔn)MIDI文件格式,在任何音序器上回放。 MIDI文件最初定義了3種類型——0、1和2——但是通常只用0和1。0類文件將全部數(shù)據(jù)放在一條音軌中(因?yàn)镸IDI事件帶有通道標(biāo)記,0類文件可以通過(guò)編輯命令分成16軌);1類文件包含多軌,各自可以命名。文件甚至支持多口MIDI輸出(例如64通道)。MIDI文件后來(lái)添加了歌詞等其他成分,最近升級(jí)的XMF文件格式支持DLS(可以下載的聲音)數(shù)據(jù),但是還不能描述音頻和音頻效果。
18)系統(tǒng)專用信息有助于硬件升級(jí)十年前的合成器或效果器升級(jí)(添加新功能或修正缺點(diǎn))需要到服務(wù)中心,交款之后讓技師為你換一塊芯片。感謝MIDI和互聯(lián)網(wǎng),今天操作系統(tǒng)升級(jí)已經(jīng)簡(jiǎn)單和便宜得多了。許多廠家定期在網(wǎng)站提供系統(tǒng)升級(jí),升級(jí)文件經(jīng)常是標(biāo)準(zhǔn)MIDI文件形式,可以載入音序器回放。通常的做法是: ①下載升級(jí)文件到電腦硬盤 ②把文件載入音序器 ③把音序器的MIDI輸出連接到合成器的MIDI輸入 ④將合成器設(shè)置成準(zhǔn)備讀入系統(tǒng)專用信息的模式 ⑤開始回放音序 ⑥文件回放結(jié)束之前不要停止,也小心不要斷開MIDI連接。事情就這樣簡(jiǎn)單,你不需要知道MIDI文件的內(nèi)容,也不用打開機(jī)箱,升級(jí)就完成了。系統(tǒng)專用信息經(jīng)常還用在音色編輯方面,可以用它在電腦中建立龐大的音色庫(kù)。
19)通用MIDI不能包醫(yī)百病 1991年制定的通用MIDI規(guī)定(GM)未能有效克服MIDI的一些局限。例如最初的程序變換信息(Program Change)只是一個(gè)數(shù)字編號(hào),與它代表什么聲音毫無(wú)關(guān)系。GM定義了128個(gè)音色名字,包括樂(lè)器音色和效果聲,也定義了打擊樂(lè)器音色在鍵盤上的排列,規(guī)定了一些控制器的使用。GM使得音樂(lè)家創(chuàng)作的MIDI文件有可能在不同的合成器上回放,互聯(lián)網(wǎng)上的MIDI文件可以在配有GM聲卡的電腦上回放。問(wèn)題是名字相同的某一件樂(lè)器的音色在不同的合成器或聲卡上可能差異很大,結(jié)果得到出乎意料的合奏聲音。 Roland和Yamaha分別開發(fā)了自己的GM規(guī)定稱為GS和XG,都比GM復(fù)雜,但是互相不兼容。 GM規(guī)定目前并沒(méi)有什么壓力,GM2規(guī)定雖然已經(jīng)存在,但使用并不普遍。當(dāng)前有2種讓MIDI攜帶采樣波形的格式,一種是MIDI協(xié)會(huì)開發(fā)的DLS,另一種是創(chuàng)新科技開發(fā)的SoundFonts,它們之間有許多不同點(diǎn),但都已經(jīng)占有一部分市場(chǎng)。
20)MIDI協(xié)會(huì)出售全套MIDI規(guī)定 MIDI協(xié)會(huì)的官方網(wǎng)站上開列了所有MIDI規(guī)定的名字和版本,美元售價(jià)。
【打印此頁(yè)】【返回首頁(yè)】 |