Midi系列文章第一輯
MIDI簡(jiǎn)介
MIDI是Musical Instrument Digital Interface的首寫(xiě)字母組合詞,可譯成“電子樂(lè)器數(shù)字接口”。用于在音樂(lè)合成器(music synthesizers)、樂(lè)器(musical instruments)和計(jì)算機(jī)之間交換音樂(lè)信息的一種標(biāo)準(zhǔn)協(xié)議。從20世紀(jì)80年代初期開(kāi)始,MIDI已經(jīng)逐步被音樂(lè)家和作曲家廣泛接受和使用。MIDI是樂(lè)器和計(jì)算機(jī)使用的標(biāo)準(zhǔn)語(yǔ)言,是一套指令(即命令的約定),它指示樂(lè)器即MIDI設(shè)備要做什么,怎么做,如演奏音符、加大音量、生成音響效果等。MIDI不是聲音信號(hào),在MIDI電纜上傳送的不是聲音,而是發(fā)給MIDI設(shè)備或其它裝置讓它產(chǎn)生聲音或執(zhí)行某個(gè)動(dòng)作的指令。
MIDI標(biāo)準(zhǔn)之所以受到歡迎,主要是它有下列幾個(gè)優(yōu)點(diǎn):生成的文件比較小,因?yàn)镸IDI文件存儲(chǔ)的是命令,而不是聲音波形;容易編輯,因?yàn)榫庉嬅畋染庉嬄曇舨ㄐ我菀椎枚�;可以作背景音�?lè),因?yàn)镸IDI音樂(lè)可以和其它的媒體,如數(shù)字電視、圖形、動(dòng)畫(huà)、話(huà)音等一起播放,這樣可以加強(qiáng)演示效果。
產(chǎn)生MIDI樂(lè)音的方法很多,現(xiàn)在用得較多的方法有兩種:一種是(frequency modulation,F(xiàn)M)合成法,另一種是樂(lè)音樣本合成法,也稱(chēng)為波形表(Wavetable)合成法。這兩種方法目前主要用來(lái)生成音樂(lè)。在介紹MIDI之前先簡(jiǎn)單介紹FM合成法,然后介紹樂(lè)音樣本合成法,再介紹MIDI系統(tǒng)。
FM合成聲音
音樂(lè)合成器的先驅(qū)Robert Moog采用了模擬電子器件生成了復(fù)雜的樂(lè)音。20世紀(jì)80年代初,美國(guó)斯坦福大學(xué)(Stanford University)的一名叫John Chowning的研究生發(fā)明了一種產(chǎn)生樂(lè)音的新方法,這種方法稱(chēng)為數(shù)字式頻率調(diào)制合成法(digital frequency modulation synthesis),簡(jiǎn)稱(chēng)為FM合成器。他把幾種樂(lè)音的波形用數(shù)字來(lái)表達(dá),并且用數(shù)字計(jì)算機(jī)而不是用模擬電子器件把它們組合起來(lái),通過(guò)數(shù)模轉(zhuǎn)換器(digital to analog convertor,DAC)來(lái)生成樂(lè)音。斯坦福大學(xué)得到了發(fā)明專(zhuān)利,并且把專(zhuān)利權(quán)授給Yamaha公司,該公司把這種技術(shù)做在集成電路芯片里,成了世界市場(chǎng)上的熱門(mén)產(chǎn)品。FM合成法的發(fā)明使合成音樂(lè)工業(yè)發(fā)生了一次革命。
FM合成器生成樂(lè)音的基本原理如圖2-07所示。它由5個(gè)基本模塊組成:數(shù)字載波器、調(diào)制器、聲音包絡(luò)發(fā)生器、數(shù)字運(yùn)算器和模數(shù)轉(zhuǎn)換器。數(shù)字載波器用了3個(gè)參數(shù):音調(diào)(pitch)、音量(volume)和各種波形(wave);調(diào)制器用了6個(gè)參數(shù):頻率(frequency)、調(diào)制深度(depth)、波形的類(lèi)型(type)、反饋量(feedback)、顫音(vibrato)和音效(effect);樂(lè)器聲音除了有它自己的波形參數(shù)外,還有它自己的比較典型的聲音包絡(luò)線(xiàn),聲音包絡(luò)發(fā)生器用來(lái)調(diào)制聲音的電平,這個(gè)過(guò)程也稱(chēng)為幅度調(diào)制(amplitude modulation),并且作為數(shù)字式音量控制旋鈕,它的4個(gè)參數(shù)寫(xiě)成ADSR,這條包絡(luò)線(xiàn)也稱(chēng)為音量升降維持靜音包絡(luò)線(xiàn)(Attack,decay,sustain,release,ADSR)包絡(luò)線(xiàn)。

圖2-07 FM聲音合成器的工作原理
在樂(lè)音合成器中,數(shù)字載波波形和調(diào)制波形有很多種,不同型號(hào)的FM合成器所選用的波形也不同。圖2-08是Yamaha OPL-III數(shù)字式FM合成器采用的波形。

圖2-08 聲音合成器的波形
各種不同樂(lè)音的產(chǎn)生是通過(guò)組合各種波形和各種波形參數(shù)并采用各種不同的方法實(shí)現(xiàn)的。用什么樣的波形作為數(shù)字載波波形、用什么樣的波形作為調(diào)制波形、用什么樣的波形參數(shù)去組合才能產(chǎn)生所希望的樂(lè)音,這就是FM合成器的算法。
通過(guò)改變圖2-07中所示的參數(shù),可以生成不同的樂(lè)音,例如:
改變數(shù)字載波頻率可以改變樂(lè)音的音調(diào),改變它的幅度可以改變它的音量。
改變波形的類(lèi)型,如用正弦波、半正弦波或其它波形,會(huì)影響基本音調(diào)的完整性。
快速改變調(diào)制波形的頻率(即音調(diào)周期)可以改變顫音的特性。
改變反饋量,就會(huì)改變正常的音調(diào),產(chǎn)生刺耳的聲音。
選擇的算法不同,載波器和調(diào)制器的相互作用也不同,生成的音色也不同。
在多媒體計(jì)算機(jī)中,圖2-07中的13個(gè)聲音參數(shù)和算法共14個(gè)控制參數(shù)以字節(jié)的形式存儲(chǔ)在聲音卡的ROM中。播放某種樂(lè)音時(shí),計(jì)算機(jī)就發(fā)送一個(gè)信號(hào),這個(gè)信號(hào)被轉(zhuǎn)換成ROM的地址,從該地址中取出的數(shù)據(jù)就是用于產(chǎn)生樂(lè)音的數(shù)據(jù)。FM合成器利用這些數(shù)據(jù)產(chǎn)生的樂(lè)音是否真實(shí),它的真實(shí)程度有多高,這就取決于可用的波形源的數(shù)目、算法和波形的類(lèi)型。
樂(lè)音樣本合成聲音
使用FM合成法來(lái)產(chǎn)生各種逼真的樂(lè)音是相當(dāng)困難的,有些樂(lè)音幾乎不能產(chǎn)生,因此很自然地就轉(zhuǎn)向樂(lè)音樣本合成法。這種方法就是把真實(shí)樂(lè)器發(fā)出的聲音以數(shù)字的形式記錄下來(lái),播放時(shí)改變播放速度,從而改變音調(diào)周期,生成各種音階的音符。
樂(lè)音樣本的采集相對(duì)比較直觀。音樂(lè)家在真實(shí)樂(lè)器上演奏不同的音符,選擇44.1 kHz的采樣頻率、16位的樂(lè)音樣本,這相當(dāng)于CD-DA的質(zhì)量,把不同音符的真實(shí)聲音記錄下來(lái),這就完成了樂(lè)音樣本的采集。
樂(lè)音樣本通常放在ROM芯片上,ROM是超大規(guī)模集成電路(very large scale integrated,VLSI)芯片。使用樂(lè)音樣本合成器的原理框圖如圖2-09所示。

圖2-09 樂(lè)音樣本合成器的工作原理
樂(lè)音樣本合成器所需要的輸入控制參數(shù)比較少,可控的數(shù)字音效也不多,大多數(shù)采用這種合成方法的聲音設(shè)備都可以控制聲音包絡(luò)的ADSR參數(shù),產(chǎn)生的聲音質(zhì)量比FM合成方法產(chǎn)生的聲音質(zhì)量要高。
電子樂(lè)器數(shù)字接口(MIDI)系統(tǒng)
MIDI協(xié)議提供了一種標(biāo)準(zhǔn)的和有效的方法,用來(lái)把演奏信息轉(zhuǎn)換成電子數(shù)據(jù)。MIDI信息是以“MIDI messages”傳輸?shù)�,它可以被認(rèn)為是告訴音樂(lè)合成器(music synthesizer)如何演奏一小段音樂(lè)的一種指令,而合成器把接收到的MIDI數(shù)據(jù)轉(zhuǎn)換成聲音。國(guó)際MIDI協(xié)會(huì)(International MIDI Association)出版的MIDI 1.0規(guī)范對(duì)MIDI協(xié)議作了完整的說(shuō)明。
MIDI數(shù)據(jù)流是單向異步的數(shù)據(jù)位流(bit stream),其速率為31.25 kbps,每個(gè)字節(jié)為10位(1位開(kāi)始位,8位數(shù)據(jù)位和1位停止位)。MIDI樂(lè)器上的MIDI接口通常包含3種不同的MIDI連接器,用IN(輸入), OUT(輸出)和THRU(穿越)。MIDI數(shù)據(jù)流通常由MIDI控制器(MIDI controller)產(chǎn)生,如樂(lè)器鍵盤(pán)(musical instrument keyboard),或者由MIDI音序器(MIDI sequencer)產(chǎn)生。MIDI控制器是當(dāng)作樂(lè)器使用的一種設(shè)備,在播放時(shí)把演奏轉(zhuǎn)換成實(shí)時(shí)的MIDI數(shù)據(jù)流,MIDI音序器是一種裝置,允許MIDI數(shù)據(jù)被捕獲、存儲(chǔ)、編輯、組合和重奏。來(lái)自MIDI控制器或者音序器的MIDI數(shù)據(jù)輸出通過(guò)該裝置的MIDI OUT連接器傳輸。
通常,MIDI數(shù)據(jù)流的接收設(shè)備是MIDI聲音發(fā)生器(MIDI sound generator)或者M(jìn)IDI聲音模塊(MIDI sound module),它們?cè)贛IDI IN端口接收MIDI信息(MIDI messages),然后播放聲音。圖2-10表示的是一個(gè)簡(jiǎn)單的MIDI系統(tǒng),它由一個(gè)MIDI鍵盤(pán)控制器和一個(gè)MIDI聲音模塊組成。許多MIDI鍵盤(pán)樂(lè)器在其內(nèi)部既包含鍵盤(pán)控制器,又包含MIDI聲音模塊功能。在這些單元中,鍵盤(pán)控制器和聲音模塊之間已經(jīng)有內(nèi)部鏈接,這個(gè)鏈接可以通過(guò)該設(shè)備中的控制功能(local control)對(duì)鏈接打開(kāi)(ON)或者關(guān)閉(OFF)。

圖2-10 簡(jiǎn)單的MIDI系統(tǒng)
單個(gè)物理MIDI通道(MIDI channel)分成16個(gè)邏輯通道,每個(gè)邏輯通道可指定一種樂(lè)器,如圖2-11所示。在MIDI信息(MIDI messages)中,用4個(gè)二進(jìn)制位來(lái)表示這16個(gè)邏輯通道。音樂(lè)鍵盤(pán)可設(shè)置在這16個(gè)通道之中的任何一個(gè),而MIDI聲源或者聲音模塊可被設(shè)置在指定的MIDI通道上接收。

圖2-11 MIDI的通道概念[6]
在一個(gè)MIDI設(shè)備上的MIDI IN連接器接收到的信息可通過(guò)MIDI THRU連接器輸出到另一個(gè)MIDI設(shè)備,并可以菊花鏈的方式連接多個(gè)MIDI設(shè)備,這樣就組成了一個(gè)復(fù)雜的MIDI系統(tǒng),如圖2-12所示。在這個(gè)例子中,MIDI鍵盤(pán)控制器對(duì)MIDI音序器(MIDI sequencer)來(lái)說(shuō)是一個(gè)輸入設(shè)備,而音序器的MIDI OUT端口連接了幾個(gè)聲音模塊。作曲家可使用這樣的系統(tǒng)來(lái)創(chuàng)作幾種不同樂(lè)音組成的曲子,每次在鍵盤(pán)上演奏單獨(dú)的曲子。這些單獨(dú)曲子由音序器記錄下來(lái),然后音序器通過(guò)幾個(gè)聲音模塊一起播放。每一曲子在不同的MIDI通道上播放,而聲音模塊可分別設(shè)置成接收不同的曲子。例如,聲音模塊#1可設(shè)置成播放鋼琴聲并在通道1接收信息,模塊2設(shè)置成播放低音并在通道5接收信息,而模塊2設(shè)置成播放鼓樂(lè)器并在通道10上接收消息等。在圖2-12中使用了多個(gè)聲音模塊同時(shí)分別播放不同的聲音信息。這些模塊也可以做在一起構(gòu)成一個(gè)叫做多音色(multitimbral)的聲音模塊,它同樣可以起到同時(shí)接收和播放多種聲音的作用。

圖2-12 復(fù)雜MIDI系統(tǒng)[6]
圖2-13是用PC機(jī)構(gòu)造的MIDI系統(tǒng),該系統(tǒng)使用的聲音模塊就是這樣一種單獨(dú)的多音色聲音模塊。在這個(gè)系統(tǒng)中,PC機(jī)使用內(nèi)置的MIDI接口卡,用來(lái)把MIDI數(shù)據(jù)發(fā)送到外部的多音色MIDI合成器模塊。像多媒體演示程序、教育軟件或者游戲等應(yīng)用軟件,它們把信息通過(guò)PC總線(xiàn)發(fā)送到MIDI接口卡。MIDI接口卡把信息轉(zhuǎn)換成MIDI消息(MIDI messages),然后送到多音色聲音模塊同時(shí)播放出許多不同的樂(lè)音,例如鋼琴聲、低音和鼓聲。使用安裝在PC機(jī)上的高級(jí)的MIDI音序器軟件,用戶(hù)可把MIDI鍵盤(pán)控制器(MIDI keyboard controller)連接到MIDI接口卡的MIDI IN端口,也可以有相同的音樂(lè)創(chuàng)作功能。
| 【打印此頁(yè)】【返回首頁(yè)】 |
