百科解釋
目錄·MIDI技術(shù)的基本概念·MIDI系統(tǒng)是如何工作的·MIDI概述·MIDI的產(chǎn)生與發(fā)展·MIDI格式信息·MIDI文件格式 MIDI技術(shù)的基本概念 樂器數(shù)字接口(Musical Instrument Digital Interface,MIDI) 是20 世紀(jì)80 年代初為解決電聲樂器之間的通信問題而提出的。MIDI 傳輸?shù)牟皇锹曇粜盘? 而是音符、控制參數(shù)等指令, 它指示MIDI 設(shè)備要做什么,怎么做, 如演奏哪個音符、多大音量等。它們被統(tǒng)一表示成MIDI 消息(MIDI Message) 。傳輸時采用異步串行通信, 標(biāo)準(zhǔn)通信波特率為31.25×( 1±0.01) KBaud。 MIDI僅僅是一個通信標(biāo)準(zhǔn),它是由電子樂器制造商們建立起來的,用以確定電腦音樂程序、合成器和其他電子音響的設(shè)備互相交換信息與控制信號的方法。 MIDI系統(tǒng)實際就是一個作曲、配器、電子模擬的演奏系統(tǒng)。從一個MIDI設(shè)備轉(zhuǎn)送到另一個MIDI設(shè)備上去的數(shù)據(jù)就是MIDI信息。MIDI數(shù)據(jù)不是數(shù)字的音頻波形,而是音樂代碼或稱電子樂譜。 電視晚會的音樂編導(dǎo)可以用MIDI功能輔助音樂創(chuàng)作,或按MI-DI標(biāo)準(zhǔn)生成音樂數(shù)據(jù)傳播媒介,或直接進行樂曲演奏。 如果在計算機上裝備了高級的MIDI軟件庫,可將音樂的創(chuàng)作、樂譜的打印、節(jié)目編排、音樂的調(diào)整、音響的幅度、節(jié)奏的速度、各聲部之間的協(xié)調(diào)、混響由MIDI來控制完成。 利用MIDI技術(shù)將電子合成器、電子節(jié)奏機(電子鼓機)和其他電子音源與序列器連接在一起即可演奏模擬出氣勢雄偉、音色變化萬千的音響效果,又可將演奏中的多種按鍵數(shù)據(jù)存儲起來,極大的改善了音樂演奏的能力和條件。 用于連接各種MIDI設(shè)備所用的電纜為5芯電纜,通常人們也把它稱為MIDI電纜。 MIDI是一種電子樂器之間以及電子樂器與電腦之間的統(tǒng)一交流協(xié)議。很多流行的游戲、娛樂軟件中都有不少以MID、RMI為擴展名的MIDI格式音樂文件。 MIDI文件是一種描述性的“音樂語言”,它將所要演奏的樂曲信息用字節(jié)進行描述。譬如在某一時刻,使用什么樂器,以什么音符開始,以什么音調(diào)結(jié)束,加以什么伴奏等等,也就是說MIDI文件本身并不包含波形數(shù)據(jù),所以MIDI文件非常小巧。 MIDI要形成電腦音樂必須通過合成。早期的ISA聲卡普遍使用的是FM合成,即“頻率調(diào)變”。它運用聲音振蕩的原理對MIDI進行合成處理,由于技術(shù)本身的局限,效果很難令人滿意。而現(xiàn)在的聲卡大都采用的是波表合成了,它首先將各種真實樂器所能發(fā)出的所有聲音(包括各個音域、聲調(diào))進行取樣,存儲為一個波表文件。 在播放時,根據(jù)MIDI文件記錄的樂曲信息向波表發(fā)出指令,從“表格”中逐一找出對應(yīng)的聲音信息,經(jīng)過合成、加工后回放出來。由于它采用的是真實樂器的采樣,所以效果自然要好于FM。一般波表的樂器聲音信息都以44.1KHz、16Bit的精度錄制,以達到最真實的回放效果。理論上,波表容量越大合成效果越好。根據(jù)取樣文件放置位置和由專用微處理器或CPU來處理的不同,波表合成又常被分為軟波表和硬波表。MIDI系統(tǒng)是如何工作的 MIDI作曲和核配器系統(tǒng)核心部分是一個被稱為序列器的軟件。這個軟件即可以裝到個人電腦里,也可做在一個專門的硬件里。序列器實際上是一個音樂詞處理器(word porcessor),應(yīng)用它可以記錄、播放和編輯各種不同MIDI樂器演奏出的樂曲。序列器并不真正的記錄聲音,它只記錄和播放MIDI信息,這些信息從MIDI樂器來的電腦信息,就像印在紙上的樂譜一樣,它本身不能直接產(chǎn)生音樂,MIDI本身也不能產(chǎn)生音樂,但是它包含有如何產(chǎn)生音樂所需的所有指令,例如用什么樂器、奏什么音符、奏得多快,奏得力度多強等。 序列器可以是硬件,也可以是軟件,它們作用過程完全與專業(yè)錄音棚里多軌錄音機一樣,可以把許多獨立的聲音記錄在序列器里,其區(qū)別僅僅是序列器只記錄演奏時的MIDI數(shù)據(jù),而不記錄聲音;它可以一軌一軌地進行錄制,也可以一軌軌地進行修改,當(dāng)你彈鍵盤音樂時,序列器記錄下從鍵盤來的MIDI數(shù)據(jù)。一旦把所需要的數(shù)據(jù)存儲下來以后,可以播放你剛作好的曲子。如果你覺得這一聲部的曲子不錯,可以把別的聲部加上去,新加上去的聲部播放時完全與第一道同步。 作為單獨設(shè)備的序列器,音軌數(shù)相對少一些,大概8~16軌,而作為電腦軟件的序列器幾乎多達50000個音符,64~200軌以上。 序列器與磁帶不同,它只受到硬件有效的RAM(Random Access Memory隨機存儲器)和存儲容量的限制,所以作曲、配器根本用不著擔(dān)心“磁帶”不夠用。MIDI技術(shù)的一大優(yōu)點就是它送到和存儲在電腦里的數(shù)據(jù)量相當(dāng)小,一個包含有一分鐘立體聲的數(shù)字音頻文件需要約10兆字節(jié)(相當(dāng)于7張軟盤的容量)的存儲空間。然而,一分鐘的MIDI音樂文件只有2KB。這也意味著,在樂器與電腦之間的傳輸數(shù)據(jù)是很低的,也就是說即是最低檔的電腦也能運行和記錄MIDI文件。 通過使用MIDI序列器可以大大地降低作曲和配器成本,根本用不著龐大的樂隊來演奏。音樂編導(dǎo)在家里就可把曲子創(chuàng)作好,配上器,再也用不著大樂隊在錄音棚里一個聲部一個聲部的錄制了。只需要用錄音棚里的電腦或鍵盤,把存儲在鍵盤里的MIDI序列器的各個聲部的全部信息輸入到錄音機上即可。 MIDI程序的設(shè)計目標(biāo)就是要將所要演奏的音樂或音樂曲目,按其進行的節(jié)奏、速度、技術(shù)措施等要求,轉(zhuǎn)換成MIDI控制語言,以便在這些MIDI指令的控制之下,各種音源在適當(dāng)?shù)臅r間點上,以指定的音色、時值、強度等、演奏出需要的音響。在錄音系統(tǒng)中,還要控制記錄下這些音響。MIDI所適應(yīng)的范圍只是電聲樂曲或模擬其他樂器的樂曲。 MIDI技術(shù)的產(chǎn)生與應(yīng)用,大大降低了樂曲的創(chuàng)作成本,節(jié)省了大量樂隊演奏員的各項開支,縮短了在錄音棚的工作時間,提高了工作效率。一整臺電視文藝晚會的作曲、配器、錄音,只需要一位音樂編導(dǎo)、一位錄音師即可將器樂作(編)曲、配器、演奏,錄音工作全部完成。MIDI概述 MIDI是Musical Instrument Digital Interface的縮寫,直接翻譯過來的意思就是樂器數(shù)字化接口,可以把MIDI理解成是一種協(xié)議、一種標(biāo)準(zhǔn)、或是一種技術(shù),但不要把它看作是某個硬件設(shè)備。 MIDI這種播放指令序列文件是樂器數(shù)字化接口的簡寫,是由日本和美國幾家著名電子樂器廠商于1983年共同制定的數(shù)字音樂/電子合成器的統(tǒng)一國際標(biāo)準(zhǔn),它的出現(xiàn)解決了各個不同廠商之間的數(shù)字音樂樂器的兼容問題!日本羅蘭公司于1984年提出了GS標(biāo)準(zhǔn),大大增強了音樂的表現(xiàn)力。為了更有利于音樂家廣泛地使用不同的合成器設(shè)備和促進MIDI文件的交流,國際MIDI生產(chǎn)者協(xié)會(MMA)在1991年制定了通用MIDI標(biāo)準(zhǔn)——GM,該標(biāo)準(zhǔn)是以日本Roland公司的通用合成器GS標(biāo)準(zhǔn)為基礎(chǔ)而制訂的。 GM標(biāo)準(zhǔn)的提出得到了Windows操作系統(tǒng)的支持,使得數(shù)字音樂設(shè)備之間的信息交流得到了簡化,受到全世界數(shù)字音樂愛好者的一致好評。隨后,YAMAHA公司在GM標(biāo)準(zhǔn)上于1994年推出了自己的XG的MIDI格式,增加了更多數(shù)量的樂器組,擴大了MIDI標(biāo)準(zhǔn)定義范圍,在專業(yè)音樂范圍內(nèi)得到廣泛的應(yīng)用!MIDI的產(chǎn)生與發(fā)展 MIDI不是首先出現(xiàn)在計算機里面的,它是由電子樂器生產(chǎn)廠家為了不同型號的電子樂器的“交流”而產(chǎn)生的,由于它采用的是數(shù)字化技術(shù),當(dāng)然自然而然的很容易的與計算機掛上了關(guān)系。所以我們要講MIDI樂器的接口,有三種,MIDI OUT、MIDI IN、MIDI THRU。這些可以在你家里的MIDI樂器或帶有MIDI的電子琴(現(xiàn)在的很多電子琴上都有MIDI接口)上找到的。MIDI OUT是將樂器中的數(shù)據(jù)(MIDI消息)向外發(fā)送;MIDI IN就是接收數(shù)據(jù)啦;至于MIDI THRU嘛,是將收到的數(shù)據(jù)再傳給另一個MIDI樂器或設(shè)備,可以說是若干個樂器連接的接口?梢赃@樣說,MIDI所描述的是將MIDI樂器彈奏出的音變成01010一樣的數(shù)據(jù)輸出,也可以將計算機中的軟件將要表示的音變成01010的二進制數(shù)據(jù)通過聲卡輸出,或者接收一些01010的數(shù)據(jù)進行處理。 通常一個標(biāo)準(zhǔn)的MIDI有16個通道,GM標(biāo)準(zhǔn)里的第10通道是專為打擊樂設(shè)定的。 早期的MIDI設(shè)備除了都能接受MIDI信號之外沒有統(tǒng)一的標(biāo)準(zhǔn),尤其是在音色排列的方式上更是“隨心所欲”的。也就是說您在這臺琴上制作完成的音樂拿到另一臺不同型號的琴上播放時會變得面目全非,小提琴可能會變成小號,長笛可能會變成吉他,鋼琴可能會變成大鼓……這對于專業(yè)音樂人士的工作并不會產(chǎn)生太大的影響,畢竟他們制作一次灌成唱片也就完事兒了,但是對于音樂愛好者之間的交流,尤其是多媒體的發(fā)展卻極為不利。 于是著名的日本ROLAND公司于1990年制定出它稱之為GS的標(biāo)準(zhǔn)。GS標(biāo)準(zhǔn)是在ROLAND的早期產(chǎn)品MT-32和CM-32/64的基礎(chǔ)之上,規(guī)定了MIDI設(shè)備的最大同時發(fā)音數(shù)不得少于24個、鼓镲等打擊樂器作為一組單獨排列、128種樂器音色有統(tǒng)一的排列方式等。在這幾項規(guī)定中,最重要的就是這128種音色的統(tǒng)一排列方式。有了這種排列方式,只要是在支持GS標(biāo)準(zhǔn)的設(shè)備上制作的音樂,拿到任何一臺支持同樣標(biāo)準(zhǔn)的設(shè)備上都能正常播放。 GS標(biāo)準(zhǔn)的制定本來是一件天大的好事,它使得全世界的電子樂器有了一個“全方位接觸”的機會?墒牵苍S是由于這個標(biāo)準(zhǔn)真的是過于復(fù)雜,更可能是由于眾多的MIDI設(shè)備制造商不愿意形成ROLAND的獨霸世界標(biāo)準(zhǔn)的局面,總之最后世界各國的MIDI設(shè)備制造商并沒有全盤接受這個標(biāo)準(zhǔn),而是將之稍作改變,泡制出了一個GM標(biāo)準(zhǔn)。 GM標(biāo)準(zhǔn)的全稱應(yīng)該是“通用MIDI標(biāo)準(zhǔn)系統(tǒng)第一級”(General MIDI system Level1),這個標(biāo)準(zhǔn)制定于1991年,在GS標(biāo)準(zhǔn)基礎(chǔ)上,主要規(guī)定了音色排列、同時發(fā)音數(shù)和鼓組的鍵位,而把GS標(biāo)準(zhǔn)中重要的音色編輯和音色選擇部分去掉了。GM的音色排列方式基本上沿襲了GS標(biāo)準(zhǔn),只是在名稱上進行了無關(guān)痛癢的修改,如把GS的Piano 1改名為Acoustic Grand Piano等。 雖然GM標(biāo)準(zhǔn)不如GS那樣功能強大,但是它畢竟是世界第一種通用的MIDI樂器排列 的標(biāo)準(zhǔn),而且正因為它將ROLAND GS標(biāo)準(zhǔn)作了簡化,也使得更多的MIDI設(shè)備廠商可以制造符合此標(biāo)準(zhǔn)的MIDI設(shè)備。所以GM標(biāo)準(zhǔn)剛一制定,就得到了MIDI廠商,尤其是多媒體設(shè)備廠商的熱烈響應(yīng)。此后,各大MIDI廠商的設(shè)備紛紛被敲上GM的標(biāo)制,MIDI設(shè)備之間實現(xiàn)了比以往更深層次的交流,為多媒體時代的真正到來作好了準(zhǔn)備。對于現(xiàn)在的MIDI設(shè)備,GM標(biāo)準(zhǔn)是最基本的了。 另一個MIDI巨頭YAMAHA也不甘示弱,他當(dāng)然不甘于這樣一個要求很低的標(biāo)準(zhǔn),所以YAMAHA于1994年9月提出了自己的音源標(biāo)準(zhǔn)--XG。XG同樣在兼容GM的基礎(chǔ)上做了大幅度的擴展,如加入了“音色編輯”的功能,使得作曲家可以在MIDI樂曲中實時地改變樂器的音色;還加入了“音色選擇”功能,在每一個XG音色上可以疊加若干種音色。 所以我們目前常見的MIDI標(biāo)準(zhǔn)由GM、GS、XG,它們之間競爭還會繼續(xù),當(dāng)然這指的是GS與XG。 八十年代初,電腦音樂迎來了第一個真正的繁榮時期,同時也迎來了一個難以解決的問題,那就是各種電子樂器之間的通訊問題:各生產(chǎn)廠家都按照自己的規(guī)格生產(chǎn)電子樂器,當(dāng)您單獨使用某一廠家的產(chǎn)品時,您還不會遇到什么問題,可是當(dāng)您同時使用幾家公司的設(shè)備構(gòu)成一個電腦音樂系統(tǒng)的時候,麻煩就來了,您怎么能使一臺美國E-MU的音源發(fā)出您在日本ROLAND鍵盤上彈奏的一個標(biāo)準(zhǔn)A呢? 為了解決電子樂器的通訊問題,1982年,國際樂器制造者協(xié)會的十幾家廠商(其中主要是美國和日本的廠商)會聚一堂,各抒己見。會議通過了美國Sequential Circuits公 司的大衛(wèi).史密斯提出的“通用合成器接口”的方案,并改名為“音樂設(shè)備數(shù)字接口”,即“Musical Instrument Digital Interface”縮寫為“MIDI”,公布于世。1983年,MIDI協(xié)議 1.0版正式制定出來。此后,所有的商業(yè)用電子樂器的背后都出現(xiàn)了幾個五孔的MIDI插座,樂器之間不再存在“語言障礙”,它們同裝上MIDI接口的電腦一起,構(gòu)成了一個更加繁榮昌盛的電腦音樂大家庭。 實際上, MIDI 本身只是Musical Instrument Digital Interface 的縮寫,意思是音樂設(shè)備數(shù)字接口。 這種接口技術(shù)的作用就是使電子樂器與電子樂器,電子樂器與電腦之間通過一種通用的通訊協(xié)議進行通訊, 這種協(xié)議自然就是MIDI協(xié)議了。 對于搞計算機的人來說, 不妨把MIDI理解成一種局域網(wǎng),網(wǎng)絡(luò)的各個部分通過專用的串行電纜(MIDI線)連接, 并以 31.25 KBPS 的速度傳送著數(shù)字音樂信息。 MIDI 標(biāo)準(zhǔn)制定以后,開始只是在專業(yè)的電腦音樂圈兒里受到重視,但是隨著電子技術(shù)的不斷發(fā)展,尤其是近幾年多媒體技術(shù)的突飛猛進,MIDI 作為多媒的一個重要組成部分,被炒得沸沸揚揚,幾乎達到了婦孺皆知的地步。而大家也已經(jīng)把這種接口技術(shù)當(dāng)作了電腦音樂的代名詞,常有“做MIDI”,“玩兒MIDI”的說法,使一些正統(tǒng)的“電腦音樂人” 覺得莫名其妙,啼笑皆非。 因此, 我們倒不妨將MIDI劃分為“狹義MIDI”和“廣義MIDI”兩種概念,狹義MIDI就是上面所說的音樂設(shè)備數(shù)字接口,而廣義MIDI則是大家已經(jīng)約定俗成的整個電腦音樂的統(tǒng)稱 , 這樣即不會造成概念上的進一步混亂,也不會使得MIDI一詞失去其本質(zhì)的含義。 1985年11月,國際樂器制造者協(xié)會公布了《MIDI 1.0版的細節(jié)規(guī)定》(2.0版至今仍在制定中),重新定義了一些控制器號碼。此外,為保證MIDI的健康發(fā)展,還專門 成立了“MIDI廠商協(xié)會”和“日本MIDI標(biāo)準(zhǔn)委員會”等組織,MIDI標(biāo)準(zhǔn)從成長階段步入了成熟階段。 MIDI標(biāo)準(zhǔn)的成熟使各電子樂器生產(chǎn)廠商更加信心百倍,它們絞盡腦汁、挖空心思,以空前的熱情生產(chǎn)出各種電子樂器,有鍵盤式的(合成器、主控鍵盤)、弦控式的(MIDI吉他)、敲擊式的(鼓機)甚至還有吹奏式的(呼吸控制器),除此之外,還有五花八門的各種音源模塊(就是把沒有鍵盤的電子合成器)供人選購。MIDI格式信息 MIDI文件有很多信息構(gòu)成的指令。一些信息,只由1字節(jié)構(gòu)成,有些有2個字節(jié),還有一些有3個字節(jié)。有一類的MIDI信息,甚至可以包含無限的字節(jié)數(shù)。所有的信息有一點是共同的,那就是第一個字節(jié)的信息是狀態(tài)。 狀態(tài)字節(jié)的0x80到0xef是可以在16個MIDI通道的任何一個出現(xiàn)的信息。正因為如此,這些是所謂的聲音信息。這些狀態(tài)字節(jié)有8位二進制數(shù),可以把8個二進制位分成兩個 4位,即一個高位和一個低位 。例如,一個狀態(tài)字節(jié)的0x92可細分成9 (高位 )和2 (低位 ) 。高位告訴你是什么類型的MIDI信息,低位說明信息操作的MIDI通道序號。以下是所有可能的高位值,每個代表的聲音信息類型: 8 =停止發(fā)聲 9 =開始發(fā)聲 a =輪指 b =改變控制器 c =改變音色 d =通道演奏壓力(可近似認為是音量) e =音高 因此,對于我們的例子中的狀態(tài),0x92 ,我們看到它的消息類型是開始發(fā)聲(即高位是9)。低位2是什么意思?這意味著該消息是對MIDI通道2進行的。有16個可能的(邏輯的)MIDI通道, 0作為第一。 注意:雖然MIDI狀態(tài)字節(jié)計數(shù)的16個MIDI通道,作為號碼為0到F (即15),所有的MIDI設(shè)備(包括計算機軟件)顯示的通道編號,是1至16。因此,狀態(tài)字節(jié)發(fā)出的MIDI通道0被認為是通道1。這之間的差異是因為大部分人計數(shù),是從一開始,而不是從零。 狀態(tài)字節(jié)的0xf0和0xff是不屬于任何特定通道的。這些狀態(tài)字節(jié)是用于給特定設(shè)備發(fā)送信息,如同步重放設(shè)備,以同步時間。 這些狀態(tài)字節(jié)是進一步分為兩大類。狀態(tài)字節(jié)的0xf0到0xf7是所謂的系統(tǒng)公用的信息。狀態(tài)字節(jié)的0xf8到0xff被稱為系統(tǒng)的實時信息。 其實,某些狀態(tài)字節(jié)是沒有界定的,并保留供以后使用。舉例來說,狀態(tài)字節(jié)的0xf4 , 0xf5 , 0xf9到0xfd尚未使用。如果MIDI設(shè)備任何時候收到這樣的信息,它應(yīng)忽略這一消息。 以下描述每個信息類型。 停止發(fā)聲 類別:聲音 目的 指出要應(yīng)該停止的音。 0x80到0x8f而低位是MIDI通道。 數(shù)據(jù) 后續(xù)兩個數(shù)據(jù)字節(jié)。 第一個數(shù)據(jù)是音符號碼。有128個音符,對MIDI設(shè)備,編號為0至127(其中,中央C是60號)。 第二個數(shù)據(jù)字節(jié)是速度,一個從0到127的值。這表明,應(yīng)該多么迅速地停止發(fā)聲(其中127是最快的)。 開始發(fā)聲 類別:聲音 目的 指出要發(fā)出的聲音。 狀態(tài)字節(jié) 0x90到0x9f而低位是MIDI通道。 數(shù)據(jù) 后續(xù)兩個數(shù)據(jù)字節(jié) 第一個數(shù)據(jù)是音符代號。有128個音,對MIDI設(shè)備,編號為0至127個(其中中央C音符代號是60)。 第二個數(shù)據(jù)字節(jié)是速度,從0到127的一個值。這表明,用多少力量彈奏。 一個速度為零的開始發(fā)聲信息被認為,事實上的一個停止發(fā)聲的信息 注意 在理論上,每個音符最終應(yīng)由各自的停止發(fā)聲信息終了。 輪指 類別:聲音 目的 對已經(jīng)發(fā)出的聲音連續(xù)再彈。 狀態(tài)字節(jié) 0xa0到0xaf而低位是MIDI通道。 數(shù)據(jù) 后續(xù)兩個數(shù)據(jù)字節(jié)。 第一個數(shù)據(jù)是音符代號。有128可能的音符,對MIDI設(shè)備,編號為0至127個(其中中央C音符代號是60)。 第二個數(shù)據(jù)字節(jié)是音量的值,從0到127(其中127是強音) 。 注意 控制器改變 類別:聲音 目的 設(shè)定了一個特定控制器的值。狀態(tài)字節(jié) 0xb0 ,到0xbf而低位是MIDI通道。 數(shù)據(jù) 后續(xù)兩個數(shù)據(jù)字節(jié)。 第一個數(shù)據(jù)是控制器的號碼( 0到127)。 第二個數(shù)據(jù)字節(jié)的值是控制器應(yīng)設(shè)置的值,從0到127 。 改變音色 類別:聲音 狀態(tài)字節(jié) 0xc0,到0xcf而低位是MIDI通道。 數(shù)據(jù) 一個數(shù)據(jù)字節(jié)。這是樂器編號,從0到127 。 注意 對MIDI音色 ,定義了一套標(biāo)準(zhǔn),以便更加兼容。這個規(guī)范是所謂的通用MIDI標(biāo)準(zhǔn)。 就像與MIDI通道0到15之間被顯示成1至16,許多MIDI設(shè)備從1開始顯示代號。在另一方面,這種做法是從來沒有規(guī)范,一些設(shè)備使用截然不同的標(biāo)準(zhǔn)。通用MIDI標(biāo)準(zhǔn)如下: General MIDI標(biāo)準(zhǔn) PIANO 鋼琴 1 Acoustic Grand Piano 大鋼琴 2 Bright Acoustic Piano 亮音大鋼琴 3 Electric Grand Piano 電鋼琴 4 Honky-Tonk Piano 酒吧鋼琴 5 Rhodes Piano 練習(xí)音鋼琴 6 Chorused Piano 合唱加鋼琴 7 Harpsichord 撥弦古鋼琴 8 Clavinet 擊弦古鋼琴 CHROMATIC PERCUSSION 半音打擊樂器 9 Celesta 鋼片琴 10 Glockenspiel 鐘琴 11 Music Box 八音盒 12 Vibraphone 電顫琴 13 Marimba 馬林巴 14 Xylophone 木琴 15 Tubular Bells 管鐘 16 Dulcimer 揚琴 ORGAN 風(fēng)琴 17 Hammond Organ 擊桿風(fēng)琴 18 Percussive Organ 打擊型風(fēng)琴 19 Rock Organ 搖滾風(fēng)琴 20 Church Organ 管風(fēng)琴 21 Reed Organ 簧風(fēng)琴 22 Accordion 手風(fēng)琴 23 Harmonica 口琴 24 Tango Accordian 探戈手風(fēng)琴 GUITAR 吉他 25 Acoustic Guitar (nylon) 尼龍弦吉他 26 Acoustic Guitar(steel) 鋼弦吉他 27 Electric Guitar (jazz) 爵士樂電吉他 28 Electric Guitar (clean) 清音電吉他 29 Electric Guitar (muted) 弱音電吉他 30 Overdriven Guitar 驅(qū)動音效吉他 31 Distortion Guitar 失真音效吉他 32 Guitar Harmonics 吉他泛音 BASS 貝司 33 Acoustic Bass 原聲貝司 34 Electric Bass(finger) 指撥電貝司 35 Electric Bass(pick) 撥片撥電貝司 36 Fretless Bass 無品貝司 37 Slap Bass 1 擊弦貝司1 38 Slap Bass 2 擊弦貝司2 39 Synth Bass 1 合成貝司1 40 Synth Bass 2 合成貝司2 SOLO STRINGS 弦樂獨奏 41 Violin 小提琴 42 Viola 中提琴 43 Cello 大提琴 44 Contrabass 低音提琴 45 Tremolo Strings 弦樂震音 46 Pizzicato Strings 弦樂撥奏 47 Orchestral Harp 豎琴 48 Timpani 定音鼓 ENSEMBLE 合唱或合奏 49 String Ensemble 1 弦樂合奏1 50 String Ensemble 2 弦樂合奏2 51 SynthStrings 1 合成弦樂1 52 SynthStrings 2 合成弦樂2 53 Choir Aahs 合唱“啊”音 54 Voice Oohs 人聲“嘟”音 55 Synth Voice 合成人聲 56 Orchestra Hit 樂隊打擊樂 BRASS 銅管樂器 57 Trumpet 小號 58 Trombone 長號 59 Tuba 大號 60 Muted Trumpet 弱音小號 61 French Horn 圓號 62 Brass Section 銅管組 63 Synth Brass 1 合成銅管1 64 Synth Brass 2 合成銅管2 REED 哨片樂器 65 Soprano Sax 高音薩克斯 66 Alto Sax 中音薩克斯 67 Tenor Sax 次中音薩克斯 68 Baritone Sax 上低音薩克斯 69 Oboe 雙簧管 70 English Horn 英國管 71 Bassoon 大管 72 Clarinet 單簧管 PIPE 吹管樂器 73 Piccolo 短笛 74 Flute 長笛 75 Recorder 豎笛 76 Pan Flute 排笛 77 Bottle Blow 吹瓶口 78 Skakuhachi 尺八 79 Whistle 哨 80 Ocarina 洋塤 SYNTH LEAD 合成主音 81 Lead 1 (square) 合成主音1(方波) 82 Lead 2 (sawtooth) 合成主音2(鋸齒波) 83 Lead 3 (calliope lead) 合成主音3(汽笛鳳琴) 84 Lead 4 (chiff lead) 合成主音4 (吹管) 85 Lead 5 (charang) 合成主音5(吉他) 86 Lead 6 (voice) 合成主音6(人聲) 87 Lead 7 (fifths) 合成主音7(五度) 88 Lead 8 (bass+lead) 合成主音8(低音加主音) SYNTH PAD 合成柔音 89 Pad 1 (new age) 合成柔音1(新時代) 90 Pad 2 (warm) 合成柔音(暖音) 91 Pad 3 (polysynth) 合成柔音3(復(fù)合成) 92 Pad 4 (choir) 合成柔音4(合唱) 93 Pad 5 (bowed) 合成柔音5(弓弦) 94 Pad 6 (metallic) 合成柔音6(金屬) 95 Pad 7 (halo) 合成柔音7(光環(huán)) 96 Pad 8 (sweep) 合成柔音8(掃弦) SYNTH EFFECTS 合成特效 97 FX 1 (rain) 合成特效1(雨) 98 FX 2 (soundtrack) 合成特效2(音軌) 99 FX 3 (crystal) 合成特效3(水晶) 100 FX 4 (atmosphere) 合成特效4(大氣) 101 FX 5 (brightness) 合成特效5(亮音) 102 FX 6 (goblins) 合成特效6(小妖) 103 FX 7 (echoes) 合成特效7(回聲) 104 FX 8 (sci-fi) 合成特效8(科幻) ETHNIC 民族樂器 105 Sitar 錫塔爾 106 Banjo 班卓 107 Shamisen 三味線 108 Koto 箏 109 Kalimba 卡林巴 110 Bagpipe 風(fēng)笛 111 Fiddle 古提琴 112 Shanai 嗩吶 PERCUSSIVE 打擊樂 113 Tinkle Bell 鈴鐺 114 Agogo 拉丁打鈴 115 Steel Drums 鋼鼓 116 Woodblock 木塊 117 Taiko Drum 太鼓 118 Melodic Tom 嗵鼓 119 Synth Drum 合成鼓 120 Reverse Cymbal 镲波形反轉(zhuǎn) SOUND EFFECTS 聲音特效 121 Guitar Fret Noise 磨弦聲 122 Breath Noise 呼吸聲 123 Seashore 海浪聲 124 Bird Tweet 鳥鳴聲 125 Telephone Ring 電話鈴聲 126 Helicopter 直升機聲 127 Applause 鼓掌聲 128 Gunshot 槍聲 實際代號應(yīng)為列表中的代號減1。 通道的音量 類別:聲音 狀態(tài)字節(jié) 0xd0到0xdf而低位是MIDI通道。 數(shù)據(jù) 一個數(shù)據(jù)字節(jié),值從0到127 (其中127是最響) 。 音高 類別:聲音 狀態(tài)字節(jié) 0xe0到0xef而低位是MIDI通道。 數(shù)據(jù) 后續(xù)兩個數(shù)據(jù)字節(jié)。這兩個字節(jié)應(yīng)結(jié)合在一起,形成一個14位值。 系統(tǒng)專用信息 類別:系統(tǒng)公用 目的 用來傳送一些數(shù)據(jù),這是具體到一個MIDI設(shè)備。此外, sysex可能被用來傳遞信息,就是特定的裝置。 狀態(tài)字節(jié) 開始于0xf0 。結(jié)束于0xf7。 數(shù)據(jù) 可以有任何數(shù)量的數(shù)據(jù)字節(jié)。MIDI文件格式 標(biāo)準(zhǔn)MIDI文件 MIDI文件包含一個或更多MIDI塊與每個事件的時間信息。它支持歌曲、序列和音軌結(jié)構(gòu),拍子和拍號信息。 音軌名字和其他描述信息也可以與MIDI信息一同存儲。 這個格式支持多條音軌、多個序列。這種格式可以允許用戶從一個音軌移向另一個音軌。 用于MIDI文件的8位二進制的數(shù)據(jù)塊可以在一個高效率的傳輸?shù)腗IDI二進制文件中,分解可以存儲為7位數(shù)據(jù),或被轉(zhuǎn)換成其他的ASCII或者被翻譯為一個文本文件。 1. MIDI序列文件由塊組成。 每個塊4個字節(jié),有32位長度。 在蘋果機上,數(shù)據(jù)通過在文件的數(shù)據(jù)叉,或者在剪貼板上進行傳輸。 (在Macintosh這個格式的文件類型是" Midi") 塊結(jié)構(gòu)允許被忽略跳過。 這里定義了塊的二種類型: 文件頭塊和音軌塊。 文件頭塊提供關(guān)于整個MIDI文件的最小數(shù)量信息。 音軌塊包含的MIDI數(shù)據(jù)序列也許包含16條MIDI通道的信息。 使用多個音軌塊,就可以用多條音軌、多個MIDI序列、譜式和歌曲。 MIDI文件總是以文件頭塊開始,緊隨其后的是一個或多個音軌塊。 MThd MTrk MTrk … 音軌數(shù)據(jù)格式(MTrk塊類型) MTrk塊類型是存放實際歌曲數(shù)據(jù)的地方。它是MIDI事件(和非MIDI事件)的序列。在MTrk塊的有些數(shù)字是以叫可變長的數(shù)量的形式進行存儲的。 這些數(shù)字首先每個字節(jié)用7位,最高位不是有效位。 除最后一位之外的所有字節(jié),最高位設(shè)為1;最后一個字節(jié)最高位設(shè)為0。 如果數(shù)字在0和127之間,它能正確地表示為一個字節(jié)。 這作為可變長的數(shù)量代表的數(shù)字的有些例子: 數(shù)字(十六進制) 變長表示法(十六進制) 00000000 00 00000040 40 0000007F 7F 00000080 81 00 00002000 C0 00 00003FFF FF 7F 00004000 81 80 00 00 100000C0 80 00 001FFFFF FF FF 7F 00200000 81 80 80 00 08000000 C0 80 80 00 0FFFFFFF FF FF FF 7F 允許的大數(shù)是0FFFFFFF,這是以可變長表示法表示的32位的最大數(shù)字。 理論上,大數(shù)是有可能的,但是實際中不必要。 MTrk塊的句法: = + = < 經(jīng)過的時間> 被作為一個可變長的量存儲。 它代表以下事件之前所要經(jīng)過的時間。 如果在音軌的第一個事件發(fā)生在音軌的開始,或者,如果二個事件同時發(fā)生,使用Δt的零。 Δt總是存在。 Δt的具體時間單位,在文件頭塊上指定。 = <sysex evene>|<元event> | < MIDI event> 是所有MIDI通道消息。 使用連續(xù)狀態(tài)時: 狀態(tài)位也許在第一個事件以后被省去。 在文件的第一個事件必須指定狀態(tài)。 Δt沒有被認為是事件: 它是格式的整體部分。 <元event> 指定非MIDI信息。有用對這個格式,有這樣的句法: FF 所有階事件從FF開始,然后有事件類型(總是少于128),然后有作為一個可變長的數(shù)量被存放的數(shù)據(jù)的長度,然后是數(shù)據(jù)。 如果沒有數(shù)據(jù),長度是0。 < sysex event> 使用指定MIDI系統(tǒng)專屬消息,或者作為" escape" 指定將被傳送的任何任意字節(jié)。 不幸地是,一些合成器制造者指定他們的系統(tǒng)專屬消息將被作為小包傳送。 每個小包作為一則整個語法系統(tǒng)專屬消息的部分,但是他們被傳送的時間是很重要的。這樣的例子是在CZ補丁傳送的字節(jié)或者FB-01&#039; s " 系統(tǒng)獨家新聞" 中,可以傳送部分數(shù)據(jù)。 為了能處理像這樣的情況, 兩個形式的<sysex event> 被提供了: F0 <長度> <數(shù)據(jù)> F7 <長度> <數(shù)據(jù)> 在兩種情況下, 長度被作為一個可變長的數(shù)量存放,等于跟隨它的字節(jié)數(shù),不包括本身或消息類型(F0或F7),但是包括跟著的所有字節(jié),包括所有在意欲被傳送的信息末端的F7。 絕大多數(shù)的系統(tǒng)專屬消息將使用F0格式。 例如,被傳送的消息F0 43 12 00 07 F7在MIDI文件將被存儲為F0 05 43 12 00 07 F7。 如上所述,所有信息要求在末端包含F(xiàn)7,以便MIDI文件的處理程序知道它讀了全部的信息。 對于特別的情況,當(dāng)一則唯一的系統(tǒng)專屬信息被分開成多段,分到不同的時間傳送時, 小包除了最后一個都以F7結(jié)束。 不能在多個小包之間傳遞任何其他的系統(tǒng)專屬信息。 例如: 假設(shè)字節(jié)43 12 00將首先被傳送到F0,緊隨著200個時間單位的延遲,再緊隨著由字節(jié)43 12 00 43 12 00組成的數(shù)據(jù),再緊隨著100各時間單位的延遲,再緊隨著由字節(jié)43 12 00 F7組成的數(shù)據(jù),這在MIDI文件是這樣的: F0 03 43 12 00 81 48 200個單位的Δt 81 48 F7 06 43 12 00 43 12 00 64 100個單位的Δt 64 F7 04 43 12 00 F7 F7事件也許也使用作為" escape" 傳送任何字節(jié),包括實時字節(jié)、歌曲名或者MIDI時間代碼,在這個規(guī)格通常沒有被規(guī)定。 2. 文件頭塊 在文件初的文件頭塊指定在文件中關(guān)于數(shù)據(jù)的一些基本信息。數(shù)據(jù)部分包含三個16位的字段,首先被存放高位字節(jié)(當(dāng)然)。 這里有完整的塊的句法: <塊類型><塊長度><格式><音軌數(shù)><分區(qū)> 如上所述,塊類型是四個ASCII字符&#039; MThd&#039; ; 隨后的長度是一個6 (高位優(yōu)先的32位數(shù)字表示法)。 格式,是指定文件的整體組織。 格式的只有三種值,指定三種格式: 0 文件包含一條唯一的多通道音軌 1 文件包含一個或更多同時的音軌 2 文件包含一個或更多獨立的音軌,相繼進行播放 音軌數(shù),是文件中音軌塊的數(shù)量。 分區(qū),是在文件的Δt之中1代表的是一秒的多少分之一。 格式0 ,多通道的音軌,是最容易轉(zhuǎn)換的數(shù)據(jù)。應(yīng)用格式1 的MIDI文件可以很容易轉(zhuǎn)換成這種格式。聲音是最重要的東西,格式并不重要。這種轉(zhuǎn)換是非常應(yīng)該的,這可以化繁為簡。 MIDI文件有可以表達的節(jié)奏和拍號的信息。對于0的文件格式,節(jié)奏,將分散的存儲;對于格式1,節(jié)奏必須(在0.04版起)一起儲存,作為第一條音軌。這個規(guī)定是合理的。 所有的MIDI文件,應(yīng)指定節(jié)奏和拍號。如果他們不這樣做,拍號假設(shè)為4 / 4 ,節(jié)奏和節(jié)拍120每分鐘。在格式0中 ,這些元事件應(yīng)該在開頭。在格式1 中,這些元事件應(yīng)包含在第一個音軌中。在格式2 中,每一獨立的音軌,應(yīng)至少包含一條拍號和節(jié)奏的信息。 3 。元事件 不是每個程序,都必須支持每一個元事件。元事件最初的定義包括: 序列數(shù) FF 00 02 ssss 這一類事件,必須發(fā)生在音軌的開頭,在任何非零時間后發(fā)生的事件或可傳送的MIDI信息之前,用于指定序列的數(shù)目。序列數(shù)對應(yīng)在這條音軌的序列數(shù)。在一個格式0或1 MIDI文件,其中只包含一個序列,這個數(shù)字應(yīng)包含在第一個音軌。 文字事件 FF 01 長度 文字 任何數(shù)量描述任何事情的文字。在音軌開頭放上這條音軌的相關(guān)的所有信息是很好的,這有助于日后查看。文本事件也可能發(fā)生在其他時間,被用來作為歌詞。在此事件中文本應(yīng)用可打印的ASCII字符進行書寫。 元事件類型01到0F的是預(yù)留給各種類型的文本使用的,但使用的目的各不相同: 版權(quán)公告 FF 02 長度 文本 載有版權(quán)聲明,作為打印ASCII文本。文本中應(yīng)包含字符( c ),版權(quán)所有的時間,版權(quán)所有者。如果幾段音樂是在同一個MIDI文件中,所有的版權(quán)聲明應(yīng)放在一起,把它放在文件的開頭。這個事件應(yīng)該是第一個事件,在時間0放在第一條音軌塊。 序列/音軌的名稱 FF 03長度 文本 樂器名稱 FF 04長度 文本 說明該類型的樂器將用于在這一條音軌中使用。 歌詞 FF 05長度 文本 寫明歌詞。一般來說,每個音節(jié)將是一行單獨的歌詞,應(yīng)該寫清時間 標(biāo)記 FF 06長度 文本 通常在一個格式0的音軌,或在格式1的第一個音軌。 注釋點 FF 07長度 文本 描述一些在這一點上發(fā)生在電影或視頻屏幕或舞臺的動作或事件 音軌終止 FF 2F 00 此事件必須的,以便確定的結(jié)束點。 設(shè)定速度,以毫秒(ms)為單位,是四分音符的時值 FF 51 03 tttttt 這個事件可以精確的寫清楚這條音軌的速度。 用每拍所占的時間而不是單位時間內(nèi)的拍數(shù)表示速度,使得依據(jù)一個基于時間的同步協(xié)議(例如SMPTE時間代碼或MIDI時間代碼)實現(xiàn)時間的絕對同步成為可能。 這種準(zhǔn)確性使四分鐘左右的曲子在每分鐘的120拍下結(jié)束時,時間誤差在500 微秒之內(nèi)。 SMPTE 時間同步 FF 54 05 hr mn se fr ff 這一事件,如果存在的話,將指定某一個特定事件開始的SMPTE時間。它應(yīng)出現(xiàn)在音軌的開頭,在任何非零時間后發(fā)生的事件或可傳送的MIDI信息之前。 拍號標(biāo)記 FF 58 04 nn dd cc bb 拍號表示為四個數(shù)字。nn和dd代表分子和分母。分母指的是2的dd次方,例如,2代表4,3代表8。cc代表一個四分音符應(yīng)該占多少個MIDI時間單位,bb代表一個四分音符的時值等價于多少個32分音符。 因此,完整的 6 / 8拍號應(yīng)該表示為 FF 58 04 06 03 24 08 這是, 6 / 8拍號( 8等于2的三次方,因此,這里是06 03),四分音符是32個MIDI時間間隔(十六進制24即是32),四分音符等于8個三十二分音符。 譜號信息 FF 59 02 sf mf sf指明樂曲曲調(diào)中升號、降號的數(shù)目。例如,A大調(diào)在五線譜上注了三個升號,那么sf=03。又如,F(xiàn)大調(diào),五線譜上寫有一個降號,那么sf=81!∫簿褪钦f,升號數(shù)目寫成0x,降號數(shù)目寫成8x mf指出曲調(diào)是大調(diào)還是小調(diào)。大調(diào)mf=00,小調(diào)mf=01 對于序列器的元數(shù)據(jù) FF 7F長度 數(shù)據(jù) 特殊要求,尤其是時序可能會使用此事件類型:第一個字節(jié)或字節(jié)的數(shù)據(jù)是一個制造商的ID 。 作為一個例子, 把一個MIDI文件摘錄如下所示。 內(nèi)容的MIDI流所代表的這個例子,細分在這里: Δt(十進制) 事件號(十六進制) 其他數(shù)據(jù)(十進制) 說明 0 FF 58 04 04 02 24 08 0 FF 51 03 500000 0 C0 5 通道1, 音色5 0 C1 46 通道2, 音色46 0 C2 70 通道3, 音色70 0 92 48 96 通道3 開始彈奏C2, 用力 0 92 60 96 通道3 開始彈奏C3, 用力 96 91 67 64 通道2 開始彈奏G3, 用力 96 90 76 32 通道1 開始彈奏E4, 鋼琴 192 82 48 64 通道3 停止彈奏C2, 標(biāo)準(zhǔn) 0 82 60 64 通道3 停止彈奏C3, 標(biāo)準(zhǔn) 0 81 67 64 通道2 停止彈奏G3, 標(biāo)準(zhǔn) 0 80 76 64 通道1 停止彈奏E4, 標(biāo)準(zhǔn) 0 FF 2F 00 結(jié)束 整個格式0 的MIDI文件的內(nèi)容,首先,文件頭塊: 4D 54 68 64 MThd 00 00 00 06 塊長度 00 00 格式 0 00 01 一個音軌 00 60 一個MIDI時間間隔等于96分之一秒 接著,音軌塊, 4D 54 72 6B MTrk 00 00 00 3B 音軌長度(59字節(jié)) 時間 事件 00 FF 58 04 04 02 18 08 拍號4/4 00 FF 51 03 07 A1 20 速度 00 C0 05 00 C1 2E 00 C2 46 00 92 30 60 00 3C 60 60 91 43 40 60 90 4C 20 81 40 82 30 40 00 3C 40 00 81 43 40 00 80 4C 40 00 FF 2F 00 終止 類似的,可以把這個文件寫成1格式。 MIDI格式在網(wǎng)絡(luò)傳送中,通常采用7位數(shù)據(jù)傳送方式,這樣可以大大提高傳輸速度。 MIDI格式由于體積很小,非常便于傳送;而且,由于它很有利于創(chuàng)作音樂,是很多作曲家在創(chuàng)作初期的首選。 MIDI格式由于其特殊的記錄方式,受硬件影響較大。 MID格式文件很容易被人誤解,很多人在電腦上直接播放MID后總會說“MID音質(zhì)特別差”。這里再次要強調(diào)一遍,MID文件不是音頻文件,它的作用只相當(dāng)于一個文本文檔,記錄了音樂該如何進行。MIDI回放音色完全取決于聲卡,之所以在windows系統(tǒng)上播放MID不能取得良好效果是因為系統(tǒng)自帶的音色庫比較簡單。如果需要得到很不錯的音色,則另需加裝專業(yè)軟音源插件,一塊專業(yè)聲卡也是必不可少的。
移動通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團隊博客 | 免責(zé)聲明 | 關(guān)于詞典 | 幫助