MIDI(傳遞數字音樂的串列介面標準)

MIDI全名Musical Instrument Digital Interface,中文譯名「樂器數字介面」是早期為了滿足電子樂器之間交換信息的需求而制定的一種數字化介面標準。它最早是由戴維·史密斯和切特·伍德在1981年提出的,隨後由MIDI生產商協會(MIDI Manufacturers Association)在1983年制定並推出。MIDI標準是美國、日本電子樂器協會經過再三協商制定的,隨後推廣到各國成為國際標準 。

MIDI定義的數字音樂可以把聲音記錄為數字方式,並用八位位元組存放一個聲音單元。MIDI就是包括硬體的介面、聲音的數字描述以及通訊的標準等。MIDI信息實際上是一段音樂的描述,當MIDI信息通過一個音樂或聲音合成器進行播放時,該合成器對一系列的MIDI信息進行解釋,然後產生出相應的一段音樂或聲音。MIDI能提供詳細描述樂譜的協議(音符、音調、使用什麼樂器等)。

MIDI協議廣泛應用於音樂、電影、電視劇、電視文藝晚會、廣播劇、廣播電視廣告等領域。在電視晚會上,可以利用MIDI功能輔助音樂的創作和演奏。採用MIDI技術后,省去了許多人力、財力、時間,提高了工作效率。

歷史發展

問世

在20世紀80年代早期,隨著數字音樂合成器的生產數量激增,不同廠家生產的設備之間的兼容性成為一個重要問題。由於每個廠家的合成器內部設計規範不同,音樂家在嘗試組裝擁有不同設備的網路時面臨困難。為了解決這個問題,一些技術製造商決定合作,致力於開發一個統一的樂器數字介面。

1981年,戴維·史密斯和切特·伍德在美國第70屆音頻工程協會會議上提出了「數字樂器互連標準」。1982年正式改名為MIDI(Musical Instrument Digital Interface),即樂器數字介面。

1983年,MIDI製造商協會(MIDI Manufacturers Association)發布了MIDI(Musical Instrument Digital Interface)標準,它確立了一套電子樂器與計算機之間連接和通信的統一規範。第一件MIDI樂器於1983年初投放市場。同年8月份,日本與美國合成器製造廠商聯盟公布了MIDI1.0版本的規範。

發展

1985年11月,國際樂器製造者協會公布了《MIDI1.0版的細節規定》,為MIDI的推廣打下堅實基礎。

1991年,為了更有利於音樂家廣泛地使用不同的合成器設備和促進MIDI文件的交流,國際MIDI生產者協會(MMA)制定了通用MIDI標準——GM,該標準是以日本Roland公司的通用合成器GS標準為基礎而制訂的。GM標準的提出得到了Windows操作系統的支持,使得數字音樂設備之間的信息交流變得簡化。

1994年YAMAHA公司推出了自己的音源標準XG(Extended General MIDI)。XG在兼容GM的基礎上進行了大幅度的擴展,提供了更豐富的音色選擇和編輯功能。XG標準包含了至少480種音色,並支持使用音色庫號進行進一步的擴充,這使得音樂家可以在創作過程中擁有更多的聲音選擇。與GS類似,XG也具備音色編輯功能,可以實時改變樂器的音色,並加入了亮度、調和度等編輯參數,以實現更細緻的音色調整。XG還引入了音色選擇功能,允許在一個XG音色上疊加多種音色,從而增加了音樂表達的可能性。此外,XG標準還涵蓋了數字效果器的使用規定,使音樂家可以對音色應用數字效果器進行處理,創造更豐富多樣的音響效果。

根據MIDI標準,可以利用合成器將MIDI文件中包含的指令轉化為聲音。然而,並不能保證所有設備在重現聲音時完全一致,因為不同合成器和音源可能存在差異。為了解決這個問題,1996年,MMA(MIDI Manufacturers Association)通過了GM(General MIDI)標準,以一定程度上解決這個問題。GM標準將音色編號與樂器之間的對應關係固定下來,確保在符合GM標準的設備上,相同的音色編號會得到相同的樂器聲音。

1997年MMY確實通過了可下載樣本(Downloadable Samples)的DLS(Downloadable Sound)標準,它擴展了GM(General MIDI)的概念。DLS標準允許在MIDI文件中引入特定的聲音樣本,並使用這些樣本進行合成。

2019年,全球的MIDI製造商協會(MMA)和日本的音樂電子行業協會(AMEI)共同宣布,經過了多年的協調和研發,MIDI 2.0草案在2019年初問世。

2020年,MIDI 2.0是對MIDI 1.0規範的全面提升。相較於MIDI 1.0中的單向通信,MIDI 2.0允許兩個MIDI設備之間進行雙向通信。這意味著設備可以相互發送和接收消息,實現更複雜和靈活的互動。

2023年,MIDI協會宣布,全新MIDI 2.0詳解說明書已公開,MIDI 2.0詳解說明書的發布確實標誌著MIDI 2.0規範的進一步發展。這些文件提供了關於MIDI 2.0的核心規範以及全新的MIDI 2.0 SMF(Standard MIDI File)Clip文件規範的詳細介紹。

傳輸協議

MIDI埠通常由三個連接器組成:進(IN)、出(OUT)和旁通(THRU)。這些連接器通常是五針的DIN插孔,而非普通音頻DIN電纜。根據MIDI協議的規定,MIDI埠的配線是專門為MIDI標準設計的。其中兩根針連接到接收埠(MIDI IN),而第三根針連接到MIDI輸出(MIDI OUT)的地線上。這種設計允許MIDI電纜的遮蔽距離達到15米,並且能夠避免接地不良的問題。通過MIDI埠,可以將MIDI消息從一個設備發送到另一個設備。

在MIDI埠中,UART晶元承擔著主要的工作任務。MIDI以一次收集一比特的工作方式,把輸入的若干比特集合或者組成幾個10比特的包,其中包含一個8比特的數據位元組。每個位元組都以一個起始位(邏輯0)和一個停止位(邏輯1)進行標記,用於傳輸一個完整的MIDI數據位元組。開始位和停止位是用來幫助接收設備進行數據解析和同步的。當MIDI設備接收到完整的MIDI數據位元組后,它會將其傳遞給內部的微處理器或其他音頻處理單元(如合成器、採樣器、效果器等),進一步進行解碼和處理。

介面

串列介面以一次一個比特的方式從計算機發送和接收數據,而MIDI協議也是通過串列介面進行數據傳輸的。MIDI計算機介面通常是通過串列埠與計算機連接的簡單設備。該介面包含一個UART晶元,負責生成MIDI數據的時鐘脈衝,並將數據發送給外部設備;同時,它還包括一個光學隔離的輸入階段,用於接收來自外部設備的MIDI數據。

并行埠是一種與計算機的并行介面相連的介面,每次可以傳輸8個比特的數據。相對於串列介面,它的傳輸速度更快。并行埠的高速傳輸能力使得計算機能夠快速發送和接收MIDI數據,並將空閑時間用於處理其他任務。因此,并行MIDI介面可以處理一部分MIDI數據的發送和接收工作。需要注意的是,儘管通過并行連接可以實現快速傳輸速度,但當MIDI信息發送到其他設備時,其基本傳輸速率並不改變。這意味著在MIDI鏈中,在連續傳輸到其他設備之前,并行介面必須對計算機發送的數據進行緩衝。

使用多埠介面可以讓計算機與多個獨立的MIDI線路相互連接。每個MIDI線路都可以被視為一個獨立的MIDI網路,並且具有16個通道。通過將某些音序器與多通道介面結合使用,可以突破MIDI協議中對通道數量的限制。傳統的MIDI協議規定了16個通道,每個通道用於控制不同的音頻或MIDI設備。然而,在實際應用中,可能需要連接多個MIDI設備並在它們之間進行路由和控制。這時,多埠介面可以在路由和控制方面簡化很多問題。

驅動程序

每個帶有MIDI協議的合成器,或者數字信號處理器都包含一個微處理器。這個微處理器的其中一項工作就是解碼通過UART傳輸的信息,並根據命令做出相應的反應。微處理器首先通過其輸入部分感知演奏者的動作,然後將這些動作轉化為有序的MIDI信息,並通過輸出部分發送出去。MIDI驅動程序是負責處理MIDI輸入和輸出功能的軟體程序。它定義了輸入和輸出埠,並負責管理MIDI信息的傳輸。所有的MIDI信息都是通過MIDI驅動程序進行發送和接收的。當計算機運行MIDI軟體時,也需要安裝相應的MIDI驅動程序,以實現與合成器、DSP或其他MIDI設備之間的通信和控制。

通道

MIDI通道是MIDI協議中用於區分和控制不同音頻或MIDI設備的邏輯通道。MIDI協議規定了16個標準MIDI通道,從1到16編號。每個MIDI通道都可以獨立地傳輸音符、控制器、程序變換和其他MIDI消息。通過將不同的MIDI設備與不同的MIDI通道相關聯,可以實現多個設備之間的同時控制和通信。使用不同的MIDI通道可以將音符和控制消息分組發送到特定的設備上,從而實現多聲部演奏、多設備控制和多軌錄製等功能。每個MIDI設備可以選擇接收特定的MIDI通道信息,以便作出相應的響應。MIDI通道與物理連接無關,它們是在MIDI消息中進行邏輯劃分和標識的。通過正確設置和配置MIDI設備與MIDI軟體,可以實現靈活的音頻控制和交互。

MIDI信息標準

常見的MIDI標準包括GM、GS和XG,它們之間存在競爭關係。1990年,日本ROLAND公司制定了GS標準,該標準基於早期產品MT-32和CM-32/64,規定了MIDI設備的最大同時發音數不少於24個,將鼓擦等打擊樂器作為一組單獨排列,以及統一排列128種樂器音色等。在這些規定中,最重要的是128種音色的統一排列方式。有了這種排列方式,只要是在支持GS標準的設備上製作的音樂,在任何一台支持同樣標準的設備上都可以正常播放。

CM標準的全稱是「通用MIDI標準系統第一級」(General MIDI System Level 1),該標準於1991年制定,在GS標準的基礎上,主要規定了音色排列、同時發音數和鼓組的鍵位,並將GS標準中音色編輯和音色選擇的部分剔除。CM的音色排列方式基本上延續了GS標準,只是在名稱方面做了一些修改,例如將GS標準中的Piano1改為Acoustic Grand Piano等。雖然CM標準功能不如GS強大,但它是世界上第一個通用的MIDI樂器排列標準,由於簡化了ROLAND GS標準,使得更多的MIDI設備製造商能夠生產符合該標準的設備。因此,一旦GM標準制定,就得到了MIDI廠商,特別是多媒體設備廠商的熱烈響應。

YAMAHA於1994年9月提出了音源標準-XG,在兼容GM的基礎上進行了大幅度擴展,例如添加了”音色編輯”功能,使作曲家能夠實時改變MIDI音樂中的樂器音色;還加入了”音色選擇”功能,在每個XC音色上可以添加多種音色。

MIDI文件

MIDI設備間傳送MIDI消息是通過MIDI文件進行的,MIDI文件類似於音樂的樂譜,MIDI設備通過它來產生音樂。MIDI文件以.MID為擴展名,它屬於二進位文件,這種文件的基本結構為文件頭+數據描述。文件頭一般包括文件的類型、長度等信息,數據描述部分則是文件的主體。一個MIDI文件由一個頭塊(HeaderChunk)和緊接的一個或多個音軌塊(TrackChunk)組成。頭塊以「MThd」為標誌,音軌塊以「MTrk」為標誌。一個確定的MIDI文件,它的各個塊的長度也是確定的。MIDI文件中的數據了「MThd」塊和「MTrk」塊外,不包含其他內容,MIDI技術要求應用軟體能夠處理意想不到的塊,並忽略掉不符合規定的整個塊,這一要求使MIDI文件的可靠性得以提高。MIDI文件的格式分為三種,它們分別被稱為格式0、格式1和格式2。格式0,該格式的MIDI文件包含一個頭塊和一個音軌塊,而音軌塊包括所有的音符和節拍信息;格式1,該格式的MIDI文件包含一個頭塊,但音軌塊不是一個而是多個,所有的音軌塊同時播放。在該格式中,第一個音軌塊是專用的,它包括所有的meta-event,即拍子記號、拍子、音序、Track名稱、音序號、標記、SMPTE扁移量;格式2,該格式的MIDI文件也包含一個頭塊和多個音軌塊,但每個音軌塊表現出獨立的播放次序。

工作原理

既然MIDI是一套指令集合,那麼樂音必定是由此指令驅動某種設備發聲而來的,這種設備就稱為音樂合成器。合成器主用來生成樂音,其工原理大致有兩類:一類是FM合成法,一類是波合成法(樂音樣本合成法)。

FM合成

FM合成法是由John Chowning教授於20世紀70年代在美國斯坦福大學發明的。這種合成方法通過調製一個音頻信號的頻率到另一個音頻信號上來生成複雜的聲音。FM合成器的內部包含多個信號發生器、振蕩器和運算器等邏輯部件。

波表合成法

波表合成法(樂音樣本合成法)的主要原理是將各種真實樂器的聲音錄製下來,並進行數字化處理,形成波形數據。當需要模擬某個具體樂器的聲音時,合成器通過查找相應的波形數據來生成對應的聲音。在發聲過程中,合成器根據輸入的指令選擇相應的波形數據,並經過一系列的處理操作,如調製、濾波、再合成等,以產生逼真的樂器聲音效果。

功能用途

將輸入設備與音源分離

MIDI的出現將輸入設備(如音樂鍵盤)與音源(合成器或採樣器)分離開來。這種分離使得每個合成器不再需要自帶一個鍵盤。通過MIDI介面,可以連接一個獨立的音樂鍵盤或其他類型的控制器到多個合成器或音源設備上。這樣,使用者只需一個鍵盤就可以同時控制和演奏多個合成器或採樣器,而無需為每個音源設備配備一個鍵盤。

MIDI的出現對音源和輸入設備之間的聯繫提供了更大的靈活性。由於MIDI協議能夠傳輸各種控制指令和音符信息,幾乎任何一種輸入設備都可以用來控制合成器。呼吸控制器、吹管樂器、鼓墊、吉他等都可以通過連接到合適的MIDI介面或轉換器來作為MIDI輸入設備。其中,音高-MIDI轉換器(pitch-to-MIDI converter)的出現使得話筒也可以轉變為MIDI輸入設備。

追蹤拾取聲音生成相應的MIDI音符

音高-MIDI轉換器可以追蹤話筒拾取的聲音,並根據檢測到的音高或頻率生成相應的MIDI音符。當話筒與轉換器連接時,轉換器會接收和處理話筒捕捉到的聲音信號。通過分析聲音的頻率和音高信息,轉換器能夠確定發出的音符,並將其轉換為相應的MIDI信號。生成的MIDI信號可以發送到合成器或其他MIDI設備,以控制這些設備產生與輸入聲音對應的音符,這樣就可以通過演奏樂器或唱歌來控制合成器。

編寫樂譜

通過將MIDI軟體安裝在計算機上,並將計算機與合成器連接,可以進行各種操作和應用,如互動演出、演算法作曲、樂譜編輯、音高編輯和音序。在這樣的系統中,可以使用MIDI軟體來編寫和編輯樂譜,包括調整音符時長、音高、力度等,或者編輯已錄製的MIDI演奏軌道。還可以使用軟體進行實時的互動演出,例如使用控制器或觸發器來觸發合成器生成特定的音符或聲音。

MIDI使開發定向音樂軟體變得更加容易

MIDI的引入使開發一般音樂軟體變得更加容易和靈活。一般音樂軟體可以在個人電腦上運行,並與不同公司生產的合成器交互。例如,音序器就是一種常見的音樂軟體。它允許音樂家一次一行地錄製多聲部作品。這些作品可以使用一組合成器進行編排,也可以使用單個多音色(multitimbral)合成器。(多音色合成器能夠同時演奏多個不同的聲部或聲音)一般的音樂教育軟體通常只需教授基礎的音樂概念,而不需要關注使用哪種類型的合成器或採樣器來闡明這些概念的過程。

MIDI使開發定向音樂軟體變得更加容易。定向音樂軟體包括針對特定設備設計的軟體,例如音高編輯器管理程序等。這些軟體並不是本質上取代了合成器、採樣器或效果處理器面板的功能。通過MIDI,定向音樂軟體可以實現與特定設備之間的通信和控制。例如,在音高編輯器中,你可以使用滑鼠點擊圖形化的按鈕和調整屏幕上的旋鈕圖像,就像真正操作合成器一樣。這些操作會通過MIDI消息發送到目標設備,從而實現音高的編輯和其他控制操作。

其他

除了合成器,MIDI編碼可以在其他設備中重新解釋,比如信號處理效果器(如混響器)。這樣就可以實現對某種效果進行實時控制,比如改變延遲和混響時間等參數。通過發送相應的MIDI消息,可以在音樂演奏或錄製過程中實時調整效果器的參數。此外,MIDI還可以實現合成器與其他媒體的同步,例如燈光系統。通過MIDI協議,音樂軟體可以與燈光控制設備進行通信。MIDI還可以與其他同步協議連接,例如SMPTE時間碼,以便協調音樂、視頻和圖形等多種媒體元素。另外,MIDI還可以用於控制音頻調音台。

通過MIDI、樂譜、音序器和採樣數據,可以在不同廠商生產的設備中進行交換和共享音樂數據。

應用領域

MIDI協議廣泛應用於音樂、電影、電視劇、電視文藝晚會、廣播劇、廣播電視廣告等領域。在電視晚會上,可以利用MIDI功能輔助音樂的創作和演奏。通過按照MIDI標準生成音樂數據傳播媒介,可以直接進行樂曲演奏。如果在計算機上安裝了高級的MIDI軟體庫,就可以實現音樂的創作、樂譜的列印、節目編排、音樂的調整、音響的幅度、節奏的速度、各聲部之間的協調和混響等功能。通過利用MIDI技術將電子合成器、電子節奏機(電子鼓機)和其他電子音源與序列器連接在一起,可以演奏出音響效果。同時,還可以將演奏過程中的多種按鍵數據存儲起來,從而極大地改善了音樂演奏的能力和條件。

MIDI數據優缺點

優點

相比於CD質量的數字化聲音文件,MIDI文件通常要小很多。由於MIDI文件的特性,它們不會佔用過多的內存、外存空間和CPU資源,這使得MIDI文件在一些資源受限的環境下非常有用。在某些情況下,如果所用的MIDI聲源較好,MIDI有可能發出比數字化聲音更好的質量。

由於MIDI文件只包含音樂的描述信息,因此可以通過改變其速度來改變文件的長度,而不會改變音調或降低音質。通過修改MIDI數據中的時間信息,可以加快或減慢音符之間的間隔,從而改變演奏的速度。這樣就可以在不改變音樂的基本結構和音調的情況下,使整個演奏過程變得更快或更慢。

創建數字化聲音所需要的準備和編程工作相對較少,不需要掌握太多音樂理論知識,而MIDI則要求比較多。在應用軟體和系統支持方面數字化聲音都有更多的選擇,不管對Macintosh還是Windows平台均如此。

缺點

因MIDI數據並不是聲音,當使用不同的音源設備或軟體合成器進行回放時,可能會導致音色、音質的差異,甚至在某些情況下,回放的結果與原始創作時的預期相差較大,僅當MIDI回放設備與產生時所指定設備相同時,回放的結果才是精確的。