百科解釋
目錄·MIDI技術的基本概念·MIDI系統(tǒng)是如何工作的·MIDI概述·MIDI的產(chǎn)生與發(fā)展·MIDI格式信息·MIDI文件格式 MIDI技術的基本概念 樂器數(shù)字接口(Musical Instrument Digital Interface,MIDI) 是20 世紀80 年代初為解決電聲樂器之間的通信問題而提出的。MIDI 傳輸?shù)牟皇锹曇粜盘? 而是音符、控制參數(shù)等指令, 它指示MIDI 設備要做什么,怎么做, 如演奏哪個音符、多大音量等。它們被統(tǒng)一表示成MIDI 消息(MIDI Message) 。傳輸時采用異步串行通信, 標準通信波特率為31.25×( 1±0.01) KBaud。 MIDI僅僅是一個通信標準,它是由電子樂器制造商們建立起來的,用以確定電腦音樂程序、合成器和其他電子音響的設備互相交換信息與控制信號的方法。 MIDI系統(tǒng)實際就是一個作曲、配器、電子模擬的演奏系統(tǒng)。從一個MIDI設備轉送到另一個MIDI設備上去的數(shù)據(jù)就是MIDI信息。MIDI數(shù)據(jù)不是數(shù)字的音頻波形,而是音樂代碼或稱電子樂譜。 電視晚會的音樂編導可以用MIDI功能輔助音樂創(chuàng)作,或按MI-DI標準生成音樂數(shù)據(jù)傳播媒介,或直接進行樂曲演奏。 如果在計算機上裝備了高級的MIDI軟件庫,可將音樂的創(chuàng)作、樂譜的打印、節(jié)目編排、音樂的調整、音響的幅度、節(jié)奏的速度、各聲部之間的協(xié)調、混響由MIDI來控制完成。 利用MIDI技術將電子合成器、電子節(jié)奏機(電子鼓機)和其他電子音源與序列器連接在一起即可演奏模擬出氣勢雄偉、音色變化萬千的音響效果,又可將演奏中的多種按鍵數(shù)據(jù)存儲起來,極大的改善了音樂演奏的能力和條件。 用于連接各種MIDI設備所用的電纜為5芯電纜,通常人們也把它稱為MIDI電纜。 MIDI是一種電子樂器之間以及電子樂器與電腦之間的統(tǒng)一交流協(xié)議。很多流行的游戲、娛樂軟件中都有不少以MID、RMI為擴展名的MIDI格式音樂文件。 MIDI文件是一種描述性的“音樂語言”,它將所要演奏的樂曲信息用字節(jié)進行描述。譬如在某一時刻,使用什么樂器,以什么音符開始,以什么音調結束,加以什么伴奏等等,也就是說MIDI文件本身并不包含波形數(shù)據(jù),所以MIDI文件非常小巧。 MIDI要形成電腦音樂必須通過合成。早期的ISA聲卡普遍使用的是FM合成,即“頻率調變”。它運用聲音振蕩的原理對MIDI進行合成處理,由于技術本身的局限,效果很難令人滿意。而現(xiàn)在的聲卡大都采用的是波表合成了,它首先將各種真實樂器所能發(fā)出的所有聲音(包括各個音域、聲調)進行取樣,存儲為一個波表文件。 在播放時,根據(jù)MIDI文件記錄的樂曲信息向波表發(fā)出指令,從“表格”中逐一找出對應的聲音信息,經(jīng)過合成、加工后回放出來。由于它采用的是真實樂器的采樣,所以效果自然要好于FM。一般波表的樂器聲音信息都以44.1KHz、16Bit的精度錄制,以達到最真實的回放效果。理論上,波表容量越大合成效果越好。根據(jù)取樣文件放置位置和由專用微處理器或CPU來處理的不同,波表合成又常被分為軟波表和硬波表。MIDI系統(tǒng)是如何工作的 MIDI作曲和核配器系統(tǒng)核心部分是一個被稱為序列器的軟件。這個軟件即可以裝到個人電腦里,也可做在一個專門的硬件里。序列器實際上是一個音樂詞處理器(word porcessor),應用它可以記錄、播放和編輯各種不同MIDI樂器演奏出的樂曲。序列器并不真正的記錄聲音,它只記錄和播放MIDI信息,這些信息從MIDI樂器來的電腦信息,就像印在紙上的樂譜一樣,它本身不能直接產(chǎn)生音樂,MIDI本身也不能產(chǎn)生音樂,但是它包含有如何產(chǎn)生音樂所需的所有指令,例如用什么樂器、奏什么音符、奏得多快,奏得力度多強等。 序列器可以是硬件,也可以是軟件,它們作用過程完全與專業(yè)錄音棚里多軌錄音機一樣,可以把許多獨立的聲音記錄在序列器里,其區(qū)別僅僅是序列器只記錄演奏時的MIDI數(shù)據(jù),而不記錄聲音;它可以一軌一軌地進行錄制,也可以一軌軌地進行修改,當你彈鍵盤音樂時,序列器記錄下從鍵盤來的MIDI數(shù)據(jù)。一旦把所需要的數(shù)據(jù)存儲下來以后,可以播放你剛作好的曲子。如果你覺得這一聲部的曲子不錯,可以把別的聲部加上去,新加上去的聲部播放時完全與第一道同步。 作為單獨設備的序列器,音軌數(shù)相對少一些,大概8~16軌,而作為電腦軟件的序列器幾乎多達50000個音符,64~200軌以上。 序列器與磁帶不同,它只受到硬件有效的RAM(Random Access Memory隨機存儲器)和存儲容量的限制,所以作曲、配器根本用不著擔心“磁帶”不夠用。MIDI技術的一大優(yōu)點就是它送到和存儲在電腦里的數(shù)據(jù)量相當小,一個包含有一分鐘立體聲的數(shù)字音頻文件需要約10兆字節(jié)(相當于7張軟盤的容量)的存儲空間。然而,一分鐘的MIDI音樂文件只有2KB。這也意味著,在樂器與電腦之間的傳輸數(shù)據(jù)是很低的,也就是說即是最低檔的電腦也能運行和記錄MIDI文件。 通過使用MIDI序列器可以大大地降低作曲和配器成本,根本用不著龐大的樂隊來演奏。音樂編導在家里就可把曲子創(chuàng)作好,配上器,再也用不著大樂隊在錄音棚里一個聲部一個聲部的錄制了。只需要用錄音棚里的電腦或鍵盤,把存儲在鍵盤里的MIDI序列器的各個聲部的全部信息輸入到錄音機上即可。 MIDI程序的設計目標就是要將所要演奏的音樂或音樂曲目,按其進行的節(jié)奏、速度、技術措施等要求,轉換成MIDI控制語言,以便在這些MIDI指令的控制之下,各種音源在適當?shù)臅r間點上,以指定的音色、時值、強度等、演奏出需要的音響。在錄音系統(tǒng)中,還要控制記錄下這些音響。MIDI所適應的范圍只是電聲樂曲或模擬其他樂器的樂曲。 MIDI技術的產(chǎn)生與應用,大大降低了樂曲的創(chuàng)作成本,節(jié)省了大量樂隊演奏員的各項開支,縮短了在錄音棚的工作時間,提高了工作效率。一整臺電視文藝晚會的作曲、配器、錄音,只需要一位音樂編導、一位錄音師即可將器樂作(編)曲、配器、演奏,錄音工作全部完成。MIDI概述 MIDI是Musical Instrument Digital Interface的縮寫,直接翻譯過來的意思就是樂器數(shù)字化接口,可以把MIDI理解成是一種協(xié)議、一種標準、或是一種技術,但不要把它看作是某個硬件設備。 MIDI這種播放指令序列文件是樂器數(shù)字化接口的簡寫,是由日本和美國幾家著名電子樂器廠商于1983年共同制定的數(shù)字音樂/電子合成器的統(tǒng)一國際標準,它的出現(xiàn)解決了各個不同廠商之間的數(shù)字音樂樂器的兼容問題!日本羅蘭公司于1984年提出了GS標準,大大增強了音樂的表現(xiàn)力。為了更有利于音樂家廣泛地使用不同的合成器設備和促進MIDI文件的交流,國際MIDI生產(chǎn)者協(xié)會(MMA)在1991年制定了通用MIDI標準——GM,該標準是以日本Roland公司的通用合成器GS標準為基礎而制訂的。 GM標準的提出得到了Windows操作系統(tǒng)的支持,使得數(shù)字音樂設備之間的信息交流得到了簡化,受到全世界數(shù)字音樂愛好者的一致好評。隨后,YAMAHA公司在GM標準上于1994年推出了自己的XG的MIDI格式,增加了更多數(shù)量的樂器組,擴大了MIDI標準定義范圍,在專業(yè)音樂范圍內得到廣泛的應用!MIDI的產(chǎn)生與發(fā)展 MIDI不是首先出現(xiàn)在計算機里面的,它是由電子樂器生產(chǎn)廠家為了不同型號的電子樂器的“交流”而產(chǎn)生的,由于它采用的是數(shù)字化技術,當然自然而然的很容易的與計算機掛上了關系。所以我們要講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樂器或設備,可以說是若干個樂器連接的接口?梢赃@樣說,MIDI所描述的是將MIDI樂器彈奏出的音變成01010一樣的數(shù)據(jù)輸出,也可以將計算機中的軟件將要表示的音變成01010的二進制數(shù)據(jù)通過聲卡輸出,或者接收一些01010的數(shù)據(jù)進行處理。 通常一個標準的MIDI有16個通道,GM標準里的第10通道是專為打擊樂設定的。 早期的MIDI設備除了都能接受MIDI信號之外沒有統(tǒng)一的標準,尤其是在音色排列的方式上更是“隨心所欲”的。也就是說您在這臺琴上制作完成的音樂拿到另一臺不同型號的琴上播放時會變得面目全非,小提琴可能會變成小號,長笛可能會變成吉他,鋼琴可能會變成大鼓……這對于專業(yè)音樂人士的工作并不會產(chǎn)生太大的影響,畢竟他們制作一次灌成唱片也就完事兒了,但是對于音樂愛好者之間的交流,尤其是多媒體的發(fā)展卻極為不利。 于是著名的日本ROLAND公司于1990年制定出它稱之為GS的標準。GS標準是在ROLAND的早期產(chǎn)品MT-32和CM-32/64的基礎之上,規(guī)定了MIDI設備的最大同時發(fā)音數(shù)不得少于24個、鼓镲等打擊樂器作為一組單獨排列、128種樂器音色有統(tǒng)一的排列方式等。在這幾項規(guī)定中,最重要的就是這128種音色的統(tǒng)一排列方式。有了這種排列方式,只要是在支持GS標準的設備上制作的音樂,拿到任何一臺支持同樣標準的設備上都能正常播放。 GS標準的制定本來是一件天大的好事,它使得全世界的電子樂器有了一個“全方位接觸”的機會。可是,也許是由于這個標準真的是過于復雜,更可能是由于眾多的MIDI設備制造商不愿意形成ROLAND的獨霸世界標準的局面,總之最后世界各國的MIDI設備制造商并沒有全盤接受這個標準,而是將之稍作改變,泡制出了一個GM標準。 GM標準的全稱應該是“通用MIDI標準系統(tǒng)第一級”(General MIDI system Level1),這個標準制定于1991年,在GS標準基礎上,主要規(guī)定了音色排列、同時發(fā)音數(shù)和鼓組的鍵位,而把GS標準中重要的音色編輯和音色選擇部分去掉了。GM的音色排列方式基本上沿襲了GS標準,只是在名稱上進行了無關痛癢的修改,如把GS的Piano 1改名為Acoustic Grand Piano等。 雖然GM標準不如GS那樣功能強大,但是它畢竟是世界第一種通用的MIDI樂器排列 的標準,而且正因為它將ROLAND GS標準作了簡化,也使得更多的MIDI設備廠商可以制造符合此標準的MIDI設備。所以GM標準剛一制定,就得到了MIDI廠商,尤其是多媒體設備廠商的熱烈響應。此后,各大MIDI廠商的設備紛紛被敲上GM的標制,MIDI設備之間實現(xiàn)了比以往更深層次的交流,為多媒體時代的真正到來作好了準備。對于現(xiàn)在的MIDI設備,GM標準是最基本的了。 另一個MIDI巨頭YAMAHA也不甘示弱,他當然不甘于這樣一個要求很低的標準,所以YAMAHA于1994年9月提出了自己的音源標準--XG。XG同樣在兼容GM的基礎上做了大幅度的擴展,如加入了“音色編輯”的功能,使得作曲家可以在MIDI樂曲中實時地改變樂器的音色;還加入了“音色選擇”功能,在每一個XG音色上可以疊加若干種音色。 所以我們目前常見的MIDI標準由GM、GS、XG,它們之間競爭還會繼續(xù),當然這指的是GS與XG。 八十年代初,電腦音樂迎來了第一個真正的繁榮時期,同時也迎來了一個難以解決的問題,那就是各種電子樂器之間的通訊問題:各生產(chǎn)廠家都按照自己的規(guī)格生產(chǎn)電子樂器,當您單獨使用某一廠家的產(chǎn)品時,您還不會遇到什么問題,可是當您同時使用幾家公司的設備構成一個電腦音樂系統(tǒng)的時候,麻煩就來了,您怎么能使一臺美國E-MU的音源發(fā)出您在日本ROLAND鍵盤上彈奏的一個標準A呢? 為了解決電子樂器的通訊問題,1982年,國際樂器制造者協(xié)會的十幾家廠商(其中主要是美國和日本的廠商)會聚一堂,各抒己見。會議通過了美國Sequential Circuits公 司的大衛(wèi).史密斯提出的“通用合成器接口”的方案,并改名為“音樂設備數(shù)字接口”,即“Musical Instrument Digital Interface”縮寫為“MIDI”,公布于世。1983年,MIDI協(xié)議 1.0版正式制定出來。此后,所有的商業(yè)用電子樂器的背后都出現(xiàn)了幾個五孔的MIDI插座,樂器之間不再存在“語言障礙”,它們同裝上MIDI接口的電腦一起,構成了一個更加繁榮昌盛的電腦音樂大家庭。 實際上, MIDI 本身只是Musical Instrument Digital Interface 的縮寫,意思是音樂設備數(shù)字接口。 這種接口技術的作用就是使電子樂器與電子樂器,電子樂器與電腦之間通過一種通用的通訊協(xié)議進行通訊, 這種協(xié)議自然就是MIDI協(xié)議了。 對于搞計算機的人來說, 不妨把MIDI理解成一種局域網(wǎng),網(wǎng)絡的各個部分通過專用的串行電纜(MIDI線)連接, 并以 31.25 KBPS 的速度傳送著數(shù)字音樂信息。 MIDI 標準制定以后,開始只是在專業(yè)的電腦音樂圈兒里受到重視,但是隨著電子技術的不斷發(fā)展,尤其是近幾年多媒體技術的突飛猛進,MIDI 作為多媒的一個重要組成部分,被炒得沸沸揚揚,幾乎達到了婦孺皆知的地步。而大家也已經(jīng)把這種接口技術當作了電腦音樂的代名詞,常有“做MIDI”,“玩兒MIDI”的說法,使一些正統(tǒng)的“電腦音樂人” 覺得莫名其妙,啼笑皆非。 因此, 我們倒不妨將MIDI劃分為“狹義MIDI”和“廣義MIDI”兩種概念,狹義MIDI就是上面所說的音樂設備數(shù)字接口,而廣義MIDI則是大家已經(jīng)約定俗成的整個電腦音樂的統(tǒng)稱 , 這樣即不會造成概念上的進一步混亂,也不會使得MIDI一詞失去其本質的含義。 1985年11月,國際樂器制造者協(xié)會公布了《MIDI 1.0版的細節(jié)規(guī)定》(2.0版至今仍在制定中),重新定義了一些控制器號碼。此外,為保證MIDI的健康發(fā)展,還專門 成立了“MIDI廠商協(xié)會”和“日本MIDI標準委員會”等組織,MIDI標準從成長階段步入了成熟階段。 MIDI標準的成熟使各電子樂器生產(chǎn)廠商更加信心百倍,它們絞盡腦汁、挖空心思,以空前的熱情生產(chǎn)出各種電子樂器,有鍵盤式的(合成器、主控鍵盤)、弦控式的(MIDI吉他)、敲擊式的(鼓機)甚至還有吹奏式的(呼吸控制器),除此之外,還有五花八門的各種音源模塊(就是把沒有鍵盤的電子合成器)供人選購。MIDI格式信息 MIDI文件有很多信息構成的指令。一些信息,只由1字節(jié)構成,有些有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設備(包括計算機軟件)顯示的通道編號,是1至16。因此,狀態(tài)字節(jié)發(fā)出的MIDI通道0被認為是通道1。這之間的差異是因為大部分人計數(shù),是從一開始,而不是從零。 狀態(tài)字節(jié)的0xf0和0xff是不屬于任何特定通道的。這些狀態(tài)字節(jié)是用于給特定設備發(fā)送信息,如同步重放設備,以同步時間。 這些狀態(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設備任何時候收到這樣的信息,它應忽略這一消息。 以下描述每個信息類型。 停止發(fā)聲 類別:聲音 目的 指出要應該停止的音。 0x80到0x8f而低位是MIDI通道。 數(shù)據(jù) 后續(xù)兩個數(shù)據(jù)字節(jié)。 第一個數(shù)據(jù)是音符號碼。有128個音符,對MIDI設備,編號為0至127(其中,中央C是60號)。 第二個數(shù)據(jù)字節(jié)是速度,一個從0到127的值。這表明,應該多么迅速地停止發(fā)聲(其中127是最快的)。 開始發(fā)聲 類別:聲音 目的 指出要發(fā)出的聲音。 狀態(tài)字節(jié) 0x90到0x9f而低位是MIDI通道。 數(shù)據(jù) 后續(xù)兩個數(shù)據(jù)字節(jié) 第一個數(shù)據(jù)是音符代號。有128個音,對MIDI設備,編號為0至127個(其中中央C音符代號是60)。 第二個數(shù)據(jù)字節(jié)是速度,從0到127的一個值。這表明,用多少力量彈奏。 一個速度為零的開始發(fā)聲信息被認為,事實上的一個停止發(fā)聲的信息 注意 在理論上,每個音符最終應由各自的停止發(fā)聲信息終了。 輪指 類別:聲音 目的 對已經(jīng)發(fā)出的聲音連續(xù)再彈。 狀態(tài)字節(jié) 0xa0到0xaf而低位是MIDI通道。 數(shù)據(jù) 后續(xù)兩個數(shù)據(jù)字節(jié)。 第一個數(shù)據(jù)是音符代號。有128可能的音符,對MIDI設備,編號為0至127個(其中中央C音符代號是60)。 第二個數(shù)據(jù)字節(jié)是音量的值,從0到127(其中127是強音) 。 注意 控制器改變 類別:聲音 目的 設定了一個特定控制器的值。狀態(tài)字節(jié) 0xb0 ,到0xbf而低位是MIDI通道。 數(shù)據(jù) 后續(xù)兩個數(shù)據(jù)字節(jié)。 第一個數(shù)據(jù)是控制器的號碼( 0到127)。 第二個數(shù)據(jù)字節(jié)的值是控制器應設置的值,從0到127 。 改變音色 類別:聲音 狀態(tài)字節(jié) 0xc0,到0xcf而低位是MIDI通道。 數(shù)據(jù) 一個數(shù)據(jù)字節(jié)。這是樂器編號,從0到127 。 注意 對MIDI音色 ,定義了一套標準,以便更加兼容。這個規(guī)范是所謂的通用MIDI標準。 就像與MIDI通道0到15之間被顯示成1至16,許多MIDI設備從1開始顯示代號。在另一方面,這種做法是從來沒有規(guī)范,一些設備使用截然不同的標準。通用MIDI標準如下: General MIDI標準 PIANO 鋼琴 1 Acoustic Grand Piano 大鋼琴 2 Bright Acoustic Piano 亮音大鋼琴 3 Electric Grand Piano 電鋼琴 4 Honky-Tonk Piano 酒吧鋼琴 5 Rhodes Piano 練習音鋼琴 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 風琴 17 Hammond Organ 擊桿風琴 18 Percussive Organ 打擊型風琴 19 Rock Organ 搖滾風琴 20 Church Organ 管風琴 21 Reed Organ 簧風琴 22 Accordion 手風琴 23 Harmonica 口琴 24 Tango Accordian 探戈手風琴 GUITAR 吉他 25 Acoustic Guitar (nylon) 尼龍弦吉他 26 Acoustic Guitar(steel) 鋼弦吉他 27 Electric Guitar (jazz) 爵士樂電吉他 28 Electric Guitar (clean) 清音電吉他 29 Electric Guitar (muted) 弱音電吉他 30 Overdriven Guitar 驅動音效吉他 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(復合成) 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 風笛 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 镲波形反轉 SOUND EFFECTS 聲音特效 121 Guitar Fret Noise 磨弦聲 122 Breath Noise 呼吸聲 123 Seashore 海浪聲 124 Bird Tweet 鳥鳴聲 125 Telephone Ring 電話鈴聲 126 Helicopter 直升機聲 127 Applause 鼓掌聲 128 Gunshot 槍聲 實際代號應為列表中的代號減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é)應結合在一起,形成一個14位值。 系統(tǒng)專用信息 類別:系統(tǒng)公用 目的 用來傳送一些數(shù)據(jù),這是具體到一個MIDI設備。此外, sysex可能被用來傳遞信息,就是特定的裝置。 狀態(tài)字節(jié) 開始于0xf0 。結束于0xf7。 數(shù)據(jù) 可以有任何數(shù)量的數(shù)據(jù)字節(jié)。MIDI文件格式 標準MIDI文件 MIDI文件包含一個或更多MIDI塊與每個事件的時間信息。它支持歌曲、序列和音軌結構,拍子和拍號信息。 音軌名字和其他描述信息也可以與MIDI信息一同存儲。 這個格式支持多條音軌、多個序列。這種格式可以允許用戶從一個音軌移向另一個音軌。 用于MIDI文件的8位二進制的數(shù)據(jù)塊可以在一個高效率的傳輸?shù)腗IDI二進制文件中,分解可以存儲為7位數(shù)據(jù),或被轉換成其他的ASCII或者被翻譯為一個文本文件。 1. MIDI序列文件由塊組成。 每個塊4個字節(jié),有32位長度。 在蘋果機上,數(shù)據(jù)通過在文件的數(shù)據(jù)叉,或者在剪貼板上進行傳輸。 (在Macintosh這個格式的文件類型是" Midi") 塊結構允許被忽略跳過。 這里定義了塊的二種類型: 文件頭塊和音軌塊。 文件頭塊提供關于整個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é),最高位設為1;最后一個字節(jié)最高位設為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文件的處理程序知道它讀了全部的信息。 對于特別的情況,當一則唯一的系統(tǒng)專屬信息被分開成多段,分到不同的時間傳送時, 小包除了最后一個都以F7結束。 不能在多個小包之間傳遞任何其他的系統(tǒng)專屬信息。 例如: 假設字節(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. 文件頭塊 在文件初的文件頭塊指定在文件中關于數(shù)據(jù)的一些基本信息。數(shù)據(jù)部分包含三個16位的字段,首先被存放高位字節(jié)(當然)。 這里有完整的塊的句法: <塊類型><塊長度><格式><音軌數(shù)><分區(qū)> 如上所述,塊類型是四個ASCII字符&#039; MThd&#039; ; 隨后的長度是一個6 (高位優(yōu)先的32位數(shù)字表示法)。 格式,是指定文件的整體組織。 格式的只有三種值,指定三種格式: 0 文件包含一條唯一的多通道音軌 1 文件包含一個或更多同時的音軌 2 文件包含一個或更多獨立的音軌,相繼進行播放 音軌數(shù),是文件中音軌塊的數(shù)量。 分區(qū),是在文件的Δt之中1代表的是一秒的多少分之一。 格式0 ,多通道的音軌,是最容易轉換的數(shù)據(jù)。應用格式1 的MIDI文件可以很容易轉換成這種格式。聲音是最重要的東西,格式并不重要。這種轉換是非常應該的,這可以化繁為簡。 MIDI文件有可以表達的節(jié)奏和拍號的信息。對于0的文件格式,節(jié)奏,將分散的存儲;對于格式1,節(jié)奏必須(在0.04版起)一起儲存,作為第一條音軌。這個規(guī)定是合理的。 所有的MIDI文件,應指定節(jié)奏和拍號。如果他們不這樣做,拍號假設為4 / 4 ,節(jié)奏和節(jié)拍120每分鐘。在格式0中 ,這些元事件應該在開頭。在格式1 中,這些元事件應包含在第一個音軌中。在格式2 中,每一獨立的音軌,應至少包含一條拍號和節(jié)奏的信息。 3 。元事件 不是每個程序,都必須支持每一個元事件。元事件最初的定義包括: 序列數(shù) FF 00 02 ssss 這一類事件,必須發(fā)生在音軌的開頭,在任何非零時間后發(fā)生的事件或可傳送的MIDI信息之前,用于指定序列的數(shù)目。序列數(shù)對應在這條音軌的序列數(shù)。在一個格式0或1 MIDI文件,其中只包含一個序列,這個數(shù)字應包含在第一個音軌。 文字事件 FF 01 長度 文字 任何數(shù)量描述任何事情的文字。在音軌開頭放上這條音軌的相關的所有信息是很好的,這有助于日后查看。文本事件也可能發(fā)生在其他時間,被用來作為歌詞。在此事件中文本應用可打印的ASCII字符進行書寫。 元事件類型01到0F的是預留給各種類型的文本使用的,但使用的目的各不相同: 版權公告 FF 02 長度 文本 載有版權聲明,作為打印ASCII文本。文本中應包含字符( c ),版權所有的時間,版權所有者。如果幾段音樂是在同一個MIDI文件中,所有的版權聲明應放在一起,把它放在文件的開頭。這個事件應該是第一個事件,在時間0放在第一條音軌塊。 序列/音軌的名稱 FF 03長度 文本 樂器名稱 FF 04長度 文本 說明該類型的樂器將用于在這一條音軌中使用。 歌詞 FF 05長度 文本 寫明歌詞。一般來說,每個音節(jié)將是一行單獨的歌詞,應該寫清時間 標記 FF 06長度 文本 通常在一個格式0的音軌,或在格式1的第一個音軌。 注釋點 FF 07長度 文本 描述一些在這一點上發(fā)生在電影或視頻屏幕或舞臺的動作或事件 音軌終止 FF 2F 00 此事件必須的,以便確定的結束點。 設定速度,以毫秒(ms)為單位,是四分音符的時值 FF 51 03 tttttt 這個事件可以精確的寫清楚這條音軌的速度。 用每拍所占的時間而不是單位時間內的拍數(shù)表示速度,使得依據(jù)一個基于時間的同步協(xié)議(例如SMPTE時間代碼或MIDI時間代碼)實現(xiàn)時間的絕對同步成為可能。 這種準確性使四分鐘左右的曲子在每分鐘的120拍下結束時,時間誤差在500 微秒之內。 SMPTE 時間同步 FF 54 05 hr mn se fr ff 這一事件,如果存在的話,將指定某一個特定事件開始的SMPTE時間。它應出現(xiàn)在音軌的開頭,在任何非零時間后發(fā)生的事件或可傳送的MIDI信息之前。 拍號標記 FF 58 04 nn dd cc bb 拍號表示為四個數(shù)字。nn和dd代表分子和分母。分母指的是2的dd次方,例如,2代表4,3代表8。cc代表一個四分音符應該占多少個MIDI時間單位,bb代表一個四分音符的時值等價于多少個32分音符。 因此,完整的 6 / 8拍號應該表示為 FF 58 04 06 03 24 08 這是, 6 / 8拍號( 8等于2的三次方,因此,這里是06 03),四分音符是32個MIDI時間間隔(十六進制24即是32),四分音符等于8個三十二分音符。 譜號信息 FF 59 02 sf mf sf指明樂曲曲調中升號、降號的數(shù)目。例如,A大調在五線譜上注了三個升號,那么sf=03。又如,F(xiàn)大調,五線譜上寫有一個降號,那么sf=81。 也就是說,升號數(shù)目寫成0x,降號數(shù)目寫成8x mf指出曲調是大調還是小調。大調mf=00,小調mf=01 對于序列器的元數(shù)據(jù) FF 7F長度 數(shù)據(jù) 特殊要求,尤其是時序可能會使用此事件類型:第一個字節(jié)或字節(jié)的數(shù)據(jù)是一個制造商的ID 。 作為一個例子, 把一個MIDI文件摘錄如下所示。 內容的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, 標準 0 82 60 64 通道3 停止彈奏C3, 標準 0 81 67 64 通道2 停止彈奏G3, 標準 0 80 76 64 通道1 停止彈奏E4, 標準 0 FF 2F 00 結束 整個格式0 的MIDI文件的內容,首先,文件頭塊: 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)絡傳送中,通常采用7位數(shù)據(jù)傳送方式,這樣可以大大提高傳輸速度。 MIDI格式由于體積很小,非常便于傳送;而且,由于它很有利于創(chuàng)作音樂,是很多作曲家在創(chuàng)作初期的首選。 MIDI格式由于其特殊的記錄方式,受硬件影響較大。 MID格式文件很容易被人誤解,很多人在電腦上直接播放MID后總會說“MID音質特別差”。這里再次要強調一遍,MID文件不是音頻文件,它的作用只相當于一個文本文檔,記錄了音樂該如何進行。MIDI回放音色完全取決于聲卡,之所以在windows系統(tǒng)上播放MID不能取得良好效果是因為系統(tǒng)自帶的音色庫比較簡單。如果需要得到很不錯的音色,則另需加裝專業(yè)軟音源插件,一塊專業(yè)聲卡也是必不可少的。
移動通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團隊博客 | 免責聲明 | 關于詞典 | 幫助