Midi系列文章第一輯
MIDI簡介
MIDI是Musical Instrument Digital Interface的首寫字母組合詞,可譯成“電子樂器數(shù)字接口”。用于在音樂合成器(music synthesizers)、樂器(musical instruments)和計算機之間交換音樂信息的一種標準協(xié)議。從20世紀80年代初期開始,MIDI已經(jīng)逐步被音樂家和作曲家廣泛接受和使用。MIDI是樂器和計算機使用的標準語言,是一套指令(即命令的約定),它指示樂器即MIDI設備要做什么,怎么做,如演奏音符、加大音量、生成音響效果等。MIDI不是聲音信號,在MIDI電纜上傳送的不是聲音,而是發(fā)給MIDI設備或其它裝置讓它產(chǎn)生聲音或執(zhí)行某個動作的指令。
MIDI標準之所以受到歡迎,主要是它有下列幾個優(yōu)點:生成的文件比較小,因為MIDI文件存儲的是命令,而不是聲音波形;容易編輯,因為編輯命令比編輯聲音波形要容易得多;可以作背景音樂,因為MIDI音樂可以和其它的媒體,如數(shù)字電視、圖形、動畫、話音等一起播放,這樣可以加強演示效果。
產(chǎn)生MIDI樂音的方法很多,現(xiàn)在用得較多的方法有兩種:一種是(frequency modulation,F(xiàn)M)合成法,另一種是樂音樣本合成法,也稱為波形表(Wavetable)合成法。這兩種方法目前主要用來生成音樂。在介紹MIDI之前先簡單介紹FM合成法,然后介紹樂音樣本合成法,再介紹MIDI系統(tǒng)。
FM合成聲音
音樂合成器的先驅Robert Moog采用了模擬電子器件生成了復雜的樂音。20世紀80年代初,美國斯坦福大學(Stanford University)的一名叫John Chowning的研究生發(fā)明了一種產(chǎn)生樂音的新方法,這種方法稱為數(shù)字式頻率調(diào)制合成法(digital frequency modulation synthesis),簡稱為FM合成器。他把幾種樂音的波形用數(shù)字來表達,并且用數(shù)字計算機而不是用模擬電子器件把它們組合起來,通過數(shù)模轉換器(digital to analog convertor,DAC)來生成樂音。斯坦福大學得到了發(fā)明專利,并且把專利權授給Yamaha公司,該公司把這種技術做在集成電路芯片里,成了世界市場上的熱門產(chǎn)品。FM合成法的發(fā)明使合成音樂工業(yè)發(fā)生了一次革命。
FM合成器生成樂音的基本原理如圖2-07所示。它由5個基本模塊組成:數(shù)字載波器、調(diào)制器、聲音包絡發(fā)生器、數(shù)字運算器和模數(shù)轉換器。數(shù)字載波器用了3個參數(shù):音調(diào)(pitch)、音量(volume)和各種波形(wave);調(diào)制器用了6個參數(shù):頻率(frequency)、調(diào)制深度(depth)、波形的類型(type)、反饋量(feedback)、顫音(vibrato)和音效(effect);樂器聲音除了有它自己的波形參數(shù)外,還有它自己的比較典型的聲音包絡線,聲音包絡發(fā)生器用來調(diào)制聲音的電平,這個過程也稱為幅度調(diào)制(amplitude modulation),并且作為數(shù)字式音量控制旋鈕,它的4個參數(shù)寫成ADSR,這條包絡線也稱為音量升降維持靜音包絡線(Attack,decay,sustain,release,ADSR)包絡線。
圖2-07 FM聲音合成器的工作原理
在樂音合成器中,數(shù)字載波波形和調(diào)制波形有很多種,不同型號的FM合成器所選用的波形也不同。圖2-08是Yamaha OPL-III數(shù)字式FM合成器采用的波形。
圖2-08 聲音合成器的波形
各種不同樂音的產(chǎn)生是通過組合各種波形和各種波形參數(shù)并采用各種不同的方法實現(xiàn)的。用什么樣的波形作為數(shù)字載波波形、用什么樣的波形作為調(diào)制波形、用什么樣的波形參數(shù)去組合才能產(chǎn)生所希望的樂音,這就是FM合成器的算法。
通過改變圖2-07中所示的參數(shù),可以生成不同的樂音,例如:
改變數(shù)字載波頻率可以改變樂音的音調(diào),改變它的幅度可以改變它的音量。
改變波形的類型,如用正弦波、半正弦波或其它波形,會影響基本音調(diào)的完整性。
快速改變調(diào)制波形的頻率(即音調(diào)周期)可以改變顫音的特性。
改變反饋量,就會改變正常的音調(diào),產(chǎn)生刺耳的聲音。
選擇的算法不同,載波器和調(diào)制器的相互作用也不同,生成的音色也不同。
在多媒體計算機中,圖2-07中的13個聲音參數(shù)和算法共14個控制參數(shù)以字節(jié)的形式存儲在聲音卡的ROM中。播放某種樂音時,計算機就發(fā)送一個信號,這個信號被轉換成ROM的地址,從該地址中取出的數(shù)據(jù)就是用于產(chǎn)生樂音的數(shù)據(jù)。FM合成器利用這些數(shù)據(jù)產(chǎn)生的樂音是否真實,它的真實程度有多高,這就取決于可用的波形源的數(shù)目、算法和波形的類型。
樂音樣本合成聲音
使用FM合成法來產(chǎn)生各種逼真的樂音是相當困難的,有些樂音幾乎不能產(chǎn)生,因此很自然地就轉向樂音樣本合成法。這種方法就是把真實樂器發(fā)出的聲音以數(shù)字的形式記錄下來,播放時改變播放速度,從而改變音調(diào)周期,生成各種音階的音符。
樂音樣本的采集相對比較直觀。音樂家在真實樂器上演奏不同的音符,選擇44.1 kHz的采樣頻率、16位的樂音樣本,這相當于CD-DA的質量,把不同音符的真實聲音記錄下來,這就完成了樂音樣本的采集。
樂音樣本通常放在ROM芯片上,ROM是超大規(guī)模集成電路(very large scale integrated,VLSI)芯片。使用樂音樣本合成器的原理框圖如圖2-09所示。
圖2-09 樂音樣本合成器的工作原理
樂音樣本合成器所需要的輸入控制參數(shù)比較少,可控的數(shù)字音效也不多,大多數(shù)采用這種合成方法的聲音設備都可以控制聲音包絡的ADSR參數(shù),產(chǎn)生的聲音質量比FM合成方法產(chǎn)生的聲音質量要高。
電子樂器數(shù)字接口(MIDI)系統(tǒng)
MIDI協(xié)議提供了一種標準的和有效的方法,用來把演奏信息轉換成電子數(shù)據(jù)。MIDI信息是以“MIDI messages”傳輸?shù),它可以被認為是告訴音樂合成器(music synthesizer)如何演奏一小段音樂的一種指令,而合成器把接收到的MIDI數(shù)據(jù)轉換成聲音。國際MIDI協(xié)會(International MIDI Association)出版的MIDI 1.0規(guī)范對MIDI協(xié)議作了完整的說明。
MIDI數(shù)據(jù)流是單向異步的數(shù)據(jù)位流(bit stream),其速率為31.25 kbps,每個字節(jié)為10位(1位開始位,8位數(shù)據(jù)位和1位停止位)。MIDI樂器上的MIDI接口通常包含3種不同的MIDI連接器,用IN(輸入), OUT(輸出)和THRU(穿越)。MIDI數(shù)據(jù)流通常由MIDI控制器(MIDI controller)產(chǎn)生,如樂器鍵盤(musical instrument keyboard),或者由MIDI音序器(MIDI sequencer)產(chǎn)生。MIDI控制器是當作樂器使用的一種設備,在播放時把演奏轉換成實時的MIDI數(shù)據(jù)流,MIDI音序器是一種裝置,允許MIDI數(shù)據(jù)被捕獲、存儲、編輯、組合和重奏。來自MIDI控制器或者音序器的MIDI數(shù)據(jù)輸出通過該裝置的MIDI OUT連接器傳輸。
通常,MIDI數(shù)據(jù)流的接收設備是MIDI聲音發(fā)生器(MIDI sound generator)或者MIDI聲音模塊(MIDI sound module),它們在MIDI IN端口接收MIDI信息(MIDI messages),然后播放聲音。圖2-10表示的是一個簡單的MIDI系統(tǒng),它由一個MIDI鍵盤控制器和一個MIDI聲音模塊組成。許多MIDI鍵盤樂器在其內(nèi)部既包含鍵盤控制器,又包含MIDI聲音模塊功能。在這些單元中,鍵盤控制器和聲音模塊之間已經(jīng)有內(nèi)部鏈接,這個鏈接可以通過該設備中的控制功能(local control)對鏈接打開(ON)或者關閉(OFF)。
圖2-10 簡單的MIDI系統(tǒng)
單個物理MIDI通道(MIDI channel)分成16個邏輯通道,每個邏輯通道可指定一種樂器,如圖2-11所示。在MIDI信息(MIDI messages)中,用4個二進制位來表示這16個邏輯通道。音樂鍵盤可設置在這16個通道之中的任何一個,而MIDI聲源或者聲音模塊可被設置在指定的MIDI通道上接收。
圖2-11 MIDI的通道概念[6]
在一個MIDI設備上的MIDI IN連接器接收到的信息可通過MIDI THRU連接器輸出到另一個MIDI設備,并可以菊花鏈的方式連接多個MIDI設備,這樣就組成了一個復雜的MIDI系統(tǒng),如圖2-12所示。在這個例子中,MIDI鍵盤控制器對MIDI音序器(MIDI sequencer)來說是一個輸入設備,而音序器的MIDI OUT端口連接了幾個聲音模塊。作曲家可使用這樣的系統(tǒng)來創(chuàng)作幾種不同樂音組成的曲子,每次在鍵盤上演奏單獨的曲子。這些單獨曲子由音序器記錄下來,然后音序器通過幾個聲音模塊一起播放。每一曲子在不同的MIDI通道上播放,而聲音模塊可分別設置成接收不同的曲子。例如,聲音模塊#1可設置成播放鋼琴聲并在通道1接收信息,模塊2設置成播放低音并在通道5接收信息,而模塊2設置成播放鼓樂器并在通道10上接收消息等。在圖2-12中使用了多個聲音模塊同時分別播放不同的聲音信息。這些模塊也可以做在一起構成一個叫做多音色(multitimbral)的聲音模塊,它同樣可以起到同時接收和播放多種聲音的作用。
圖2-12 復雜MIDI系統(tǒng)[6]
圖2-13是用PC機構造的MIDI系統(tǒng),該系統(tǒng)使用的聲音模塊就是這樣一種單獨的多音色聲音模塊。在這個系統(tǒng)中,PC機使用內(nèi)置的MIDI接口卡,用來把MIDI數(shù)據(jù)發(fā)送到外部的多音色MIDI合成器模塊。像多媒體演示程序、教育軟件或者游戲等應用軟件,它們把信息通過PC總線發(fā)送到MIDI接口卡。MIDI接口卡把信息轉換成MIDI消息(MIDI messages),然后送到多音色聲音模塊同時播放出許多不同的樂音,例如鋼琴聲、低音和鼓聲。使用安裝在PC機上的高級的MIDI音序器軟件,用戶可把MIDI鍵盤控制器(MIDI keyboard controller)連接到MIDI接口卡的MIDI IN端口,也可以有相同的音樂創(chuàng)作功能。
【打印此頁】【返回首頁】 |