MIDI 原理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MIDI 原理
(一)、MIDI簡介
MIDI是Musical Instrument Digital Interface的縮寫, 直接翻譯就是"樂器數位介面," 它讓具有MIDI的裝置能夠以共同的方式(語言) 來溝通. 在1983年的時候, 多家樂器製造廠商共同制定出MIDI 1.0的規格, 目的就是要讓不同的合成器(synthesizer) 可以互相溝通. 後來為了擴充MIDI的功能, 還增加了MIDI Time Code, Sample Dump Standard...等標準. 這個MIDI 1.0規格就一直使用到現在, 而沒有很大的改變.
MIDI訊號是以串列(serial) 的方式傳送, 速率為每秒31,250 bits; 又每個MIDI message (一組MIDI資料的單位) 需要10 bits來記錄, 所以MIDI每秒鐘可以傳送3,125個資料. 請注意MIDI傳送的是數位控制訊號, 並不是聲音訊號(audio signal). MIDI檔(延伸檔名為.MID )與數位音效檔比較起來是非常小的.但是,在大部份時候必須去編輯並作最佳化處理. 欲編輯MIDI 檔時, 必須使用MIDI 編輯器(一般稱為MIDI 序列器)序列器負責編排MIDI 訊息並送至其他音源的電腦程式或電子裝置. 您也可以用來編輯已錄成的MIDI 訊息
(二)、MIDI channel
每個MIDI裝置的MIDI channel共有16個, 在這16個channel中可以執行獨立的工作, 而接收訊息的模式有4種, 分別是
Mode 1: Omni-On Poly
Mode 2: Omni-On Mono
Mode 3: Omni-Off Poly
Mode 4: Omni-Off Mono
Mode 3是目前最常用的模式, Omni-Off指的是MIDI裝置會在MIDI訊息指定的channel作反應; 而Poly是能夠同時發出超過一個的聲音, 直到超出MIDI裝置設定的發聲數上限為止. Omni-On則是MIDI裝置對MIDI訊息作反應但忽略channel的指定; Mono會使MIDI裝置最多只發出一個聲音.
(三)、MIDI message
MIDI message可以分成channel message, system exclusive, system common和system real-time這幾種. 每個MIDI message都有一個status byte, 代表這個訊息(message) 的種類. 如果是channel message的話, status byte還包含了"這是第幾個channel"的訊息. 在status byte之後通常會有1 ~ 2個byte的data byte, 儲存這一項訊息所需要的相關資料. 所以一個MIDI message要佔1 ~ 3 bytes.
下面是Note On的channel message, 代表在channel 1發出中央Do的聲音, 力度是100. 其中Status Byte 9nh的n代表是第幾個channel, 表格中的數字以16進位表示.
下面是Control Change - Main Volume的channel message, 可將channel 9的Main Volume定成90.
音符的記錄
前面提到過Note On, 另外當然還有Note Off, 不然已經發出的聲音就沒辦法關掉了! 但是裡面只定義了音高和力度, 那麼剩下的音長(duration) 在哪裡呢? 其實MIDI還包含了時間參考單位, 這一部分我打算簡單的介紹就好, 如果詳細解釋的話, 各位可能就要睡著了...
首先是MIDI Timing Clock, 在每一個四分音符長度中會跳24次, 所以如果一首曲子的速度很快的話, MIDI Timing Clock也會跟著變快. 但是24次的"解析度"沒有辦法符合所有人的需求, 所以編曲軟體或硬體(sequencer) 通常會細分成120, 384, 480...等更高的解析度. 如果在不同的時間單位裡面放置Note On和Note Off, 就可以記錄不同的音長.
再來是SMPTE Time Code和MIDI Time Code, 它們的產生有著一定的頻率, 不隨曲子快慢而變動, 也用來當作時間單位的參考.
Multi-timbral如果有一台合成器能夠同時發出兩種以上不同的聲音(音色), 則我們稱這台合成器為multi-timbral instrument. 另外我們可以看到有的合成器規格上寫著"Multi-timbral: 16," 意思就是它可以同時產生16種不同的音色.
最後請記得MIDI只是一種溝通介面, 有MIDI的不一定是合成器, 像效果器也可以有MIDI; 另外也不是所有的合成器都有MIDI, 在MIDI規格制定前生產的合成器就沒有MIDI介面.
資料參考來源:
Stairway to Heaven
Exploring MIDI
Hope Net雜誌1995年7月號
英文Sythesizer這個詞在英文裏的意思是綜合、用合成法合成與綜合處理的意思。
合成器通過一定的原理生成波形,然後再由使用者來改變聲音的某些特性。
最初電子樂器中採用的是類比式電子合成器。
它是通過對震盪器的控制來實現
的,電壓控制震盪器是通過改變電壓大小控制震盪頻率的電子電路(VCO),而由此產生的震盪信號還需要再加入調製信號來進行各種樂器效果,然後由電壓控制放大器(VCA)來完成對音量的控制。
同時為了使得模擬合成器具備真實樂器的特性,通常要通過包絡(或波封)來控制VCO的幅度特性。
最常見的包絡包含四個基本的係數,即ADSR:
1、Attack:起音,類比鍵盤彈下後聲音升高的速率,可以比較好的體現觸鍵的效果;
2、Decay:衰減,聲音升到最高峰後回落的速率;
3、Sustain:延音,決定了鍵按下去後聲音的延遲長度;
4、Release:釋音,鍵放開後聲音結束的速度。
當然,通過包絡來控制聲音屬性是遠遠不夠的,隨著電子合成器的不斷發展,出現了更多的原來自然或相對傳統合成器中所沒有的音色,濾波器的作用也就越來越明顯了,它可以用來改變聲音中的頻率成分構成。
通過以上簡單的介紹,大家應該明白為什麼現在那"玩意"叫合成器了吧?
那麼數位式合成器和類比式合成器有什麼不同呢?數位式合成器不是由電子元器件製成的信號發生器來產生聲音中的各種頻率成分,而是直接由數位的方法來造出的波形,然後轉換為聲音資訊。
這樣的話,數位式合成器的波形即可以是採樣的,也可以是數學方程的計算!!
讓我們來看一下電子合成器的組成圖:
由上圖可知,其實數位式合成器就是一台特殊的電腦,也是軟硬體的綜合體。
下面介紹一下聲音的合成方法:
1、類比電子合成器
類比電子合成器又分為兩種合成方法:
A、減法合成器,早期的類比電子合成器中有很大一部分是由減法合成器產生聲音的。
它的原理是,用複雜的波形作為樣本,然後按照要產生聲音的波形的頻率情況,即目標波形的要求,把樣本波形中的一些頻率濾除,從而產生不同的目標波形。
B、加法合成器,同減法合成器相比,加法合成器是一種更為複雜的合成方法,它首先由基本波形出發,然後按照目標波形的要求把不同頻率的泛音加入基本波形,產生聲波的和諧共振,從而產生不同的音色。
2、數位合成法
數字式合成器也簡單分為兩大類
A、數位FM合成法,數位FM合成法是在70年代由斯坦福大學開發出來的一種數位式電子合成器方法。
FM是採用頻率調製的方法,通過一些波形(調製信號)改變載波頻率的相位來實現上述運算式。
根據其原理,從原理上來說可以類比任何聲音信號。
B、採樣重播合成法,與前面的FM合成法不同的是,它的波形不是由震盪器產生的基本波形,而是通過實際錄製樂器而得來的波形。
它的原理是,首先從一種樂器中取下一個或多個週期的波形作為基礎,然後確定該週期的起點和終點,對該取樣波形的振幅進行處理和測詴,以滿足聲音重播的要求。
用傳統的波封來調整波形的振幅,以模擬自然樂器自然演奏時的效果,對波形進行頻率進行濾波等再處理,然後把波形和相應的合成係數寫入電子合成器的ROM記憶體中,由於這些波形及合成係數是以波形表形式存儲在合成器的ROM中,所以採樣合成器又程波表合成器。