mid格式 - 音頻文件格式
MID文件并不是一段錄制好的聲音,而是記錄聲音的信息,然后在告訴聲卡如何再現(xiàn)音樂(lè)的一組指令。
經(jīng)常玩音樂(lè)的人應(yīng)該常聽(tīng)到MIDI(Musical InstrumentDigitalInterface音樂(lè)設(shè)備數(shù)字接口)這個(gè)詞,MIDI允許數(shù)字合成器和其他設(shè)備交換數(shù)據(jù)。
今天,MID文件主要用于原始樂(lè)器作品,流行歌曲的業(yè)余表演,游戲音軌以及電子賀卡等。*.mid文件可以用作曲軟件寫(xiě)出,也可以通過(guò)聲卡的MIDI口把外接音序器演奏的樂(lè)曲輸入電腦里,制成*.mid文件。標(biāo)準(zhǔn)midi文件格式就像一頭奇怪的猛獸。
基本簡(jiǎn)介
經(jīng)常玩音樂(lè)的人應(yīng)該常聽(tīng)到MIDI(Musical InstrumentDigitalInterface音樂(lè)設(shè)備數(shù)字接口)這個(gè)詞,MIDI允許數(shù)字合成器和其他設(shè)備交換數(shù)據(jù)。MID文件格式由MIDI繼承而來(lái)。MID文件并不是一段錄制好的聲音,而是記錄聲音的信息,然后在告訴聲卡如何再現(xiàn)音樂(lè)的一組指令。
這樣一個(gè)MIDI文件每存1分鐘的音樂(lè)只用大約5~10KB。今天,MID文件主要用于原始樂(lè)器作品,流行歌曲的業(yè)余表演,游戲音軌以及電子賀卡等。*.mid文件重放的效果完全依賴(lài)聲卡的檔次。*.mid格式的最大用處是在電腦作曲領(lǐng)域。*.mid文件可以用作曲軟件寫(xiě)出,也可以通過(guò)聲卡的MIDI口把外接音序器演奏的樂(lè)曲輸入電腦里,制成*.mid文件。
mp3轉(zhuǎn)mid格式轉(zhuǎn)換器使用說(shuō)明能夠?qū)AV/MP3/CD格式的音樂(lè)轉(zhuǎn)換為MIDI格式。
標(biāo)準(zhǔn)midi文件格式
Dustin Caldwell
標(biāo)準(zhǔn)midi文件格式就像一頭奇怪的猛獸。整體看來(lái),它很有威力。當(dāng)然,不管你怎么看待這個(gè)問(wèn)題,足夠詳細(xì)地描述一個(gè)音樂(lè)使其可以再現(xiàn),的確不是一項(xiàng)小工作。盡管復(fù)雜,當(dāng)你了解midi的文件結(jié)構(gòu)時(shí),這個(gè)格式是很直觀的。
在這里我必須說(shuō)我不是一個(gè)midi文件專(zhuān)家。最近我為我的電腦弄來(lái)一部Gravis超頻率音響,聽(tīng)了一些mid文件后我想,“嘿,我想能做自己的mid音樂(lè)多好?!编?,頭疼的幾小時(shí)之后,我發(fā)現(xiàn)這不是件小事情。但是我也不會(huì)讓一個(gè)乏味的文件格式難住我。(besides,i once told my wife that computers aren't really that hard to use, and i'd hate to be a hypocrite)所以如果你在這段介紹中發(fā)現(xiàn)錯(cuò)誤,請(qǐng)通知我,我會(huì)做出改正。同樣,這段介紹的應(yīng)用范圍也不包括所有midi命令和設(shè)置。
基本介紹
1、總觀
一個(gè)mid文件主要包括兩部分,標(biāo)頭數(shù)據(jù)和音軌數(shù)據(jù)。簡(jiǎn)介的第二部分介紹標(biāo)頭數(shù)據(jù),第三部分介紹音軌數(shù)據(jù)。mid文件包含僅一個(gè)標(biāo)頭數(shù)據(jù)來(lái)描述文件格式等,和任意數(shù)量的音軌數(shù)據(jù)。一個(gè)音軌可以被理解為多聲道磁帶的磁軌你可以指定一個(gè)音軌為一個(gè)聲音,一段填充空白,一個(gè)樂(lè)器或你希望的什么東西。
2、標(biāo)頭數(shù)據(jù)
標(biāo)頭數(shù)據(jù)出現(xiàn)在文件的開(kāi)頭,描述文件的三個(gè)部分。標(biāo)頭數(shù)據(jù)總向這樣:
4D54686400000006ffffnnnndddd
前4比特等價(jià)于ASCII字符“MThd”。在這4比特頭標(biāo)簽之后,總是00000006,因?yàn)轭^信息總是六比特。(譯者按:這六比特頭信息是4D5468640000,最后兩比特用0填充。之后是的0006而不是06,是因?yàn)檎妥兞恳純蓚€(gè)字節(jié)。這就是數(shù)字6前面多出來(lái)一個(gè)字節(jié)的原因。下同。)
ffff是文件類(lèi)型,一共有3種類(lèi)型:
0-單音軌
1-多音軌,同步音軌
2-多音軌,異步音軌
單音軌,顧名思義,只有一條音軌。
同步多音軌是說(shuō)所有的音軌并行播放,通俗地說(shuō),同時(shí)開(kāi)始播放,這樣可以在音樂(lè)中代表不同的聲部。
異步多音軌不一定在音樂(lè)開(kāi)始時(shí)播放。它們可以完全異步。
nnnn是mid文件的音軌數(shù)量。
dddd是每個(gè)四分音占用的時(shí)間片(這個(gè)以后再詳細(xì)說(shuō)明)。(譯者按:這兩個(gè)比特越大,音樂(lè)節(jié)奏越快。)
3、音軌數(shù)據(jù)
標(biāo)頭數(shù)據(jù)之后,文件剩下的部分是音軌數(shù)據(jù)。每個(gè)音軌都有一個(gè)標(biāo)頭,和你需要的數(shù)個(gè)命令。就像文件的標(biāo)頭數(shù)據(jù),音軌標(biāo)頭是這樣的:
4d54726bxxxxxxxx
這里的前4比特等價(jià)于ASCII字符的“MTrk”。之后的4個(gè)字節(jié)說(shuō)明了這個(gè)音軌長(zhǎng)度,音軌字節(jié)數(shù)(不包括音軌標(biāo)頭)。
標(biāo)頭之后的是midi事件。這些事件實(shí)際上是送向midi合成器接口的數(shù)據(jù)和一個(gè)附加數(shù)據(jù):時(shí)間片。時(shí)間片表示經(jīng)過(guò)多少tick之后事件開(kāi)始被運(yùn)行。每四分音之后的時(shí)間片被預(yù)先定義在標(biāo)頭數(shù)據(jù)里。
這里的時(shí)間片是可變長(zhǎng)度的編碼數(shù)據(jù)。這種格式盡管有些混亂,卻可以使大數(shù)字使用隨意的字節(jié)數(shù),不用浪費(fèi)被填成0的字節(jié)。這些數(shù)被轉(zhuǎn)換為7比特的字節(jié),每個(gè)字節(jié)最特殊的最高有效位(MSB),除了數(shù)字的末字節(jié)是0外,其他字節(jié)是1。
這樣,讀取數(shù)字每次讀一字節(jié),當(dāng)你看到最高有效位是0時(shí),你就會(huì)知道這是數(shù)字的最后一個(gè)字節(jié)。根據(jù)mid規(guī)格,整個(gè)時(shí)間片最多占4字節(jié)。時(shí)間片之后是mid事件,每個(gè)mid事件(除了運(yùn)行事件)有一個(gè)最高位是1的命令字節(jié)(字節(jié)數(shù)值>=128)附錄列表A是大部分命令。
每個(gè)命令有不同的參數(shù)和長(zhǎng)度,但命令后的數(shù)據(jù)必須是最高位為0的字節(jié)(字節(jié)數(shù)值)。以上規(guī)則有一個(gè)例外,是meta事件,它可以包含最高位是1的數(shù)據(jù)字節(jié)。然而,meta事件要求有一個(gè)長(zhǎng)度參數(shù),這樣能減輕你的困惑。
一個(gè)可能帶來(lái)混亂的細(xì)節(jié)(subtlety)是運(yùn)行模式。實(shí)際上這里是mid命令被疏忽,最近的mid命令發(fā)行物被假設(shè)的地方。這意味著mid事件可以由時(shí)間片和和參數(shù)構(gòu)成,這參數(shù)會(huì)轉(zhuǎn)到可能存在的命令。
4、總結(jié)
如果這些解釋只能增加本文的混亂,那么附錄的例子可能使本文清晰一些。
歷史淵源
八十年代初,電腦音樂(lè)迎來(lái)了第一個(gè)真正的繁榮時(shí)期,同時(shí)也迎來(lái)了一個(gè)難以解決的問(wèn)題,那就是各種電子樂(lè)器之間的通訊問(wèn)題:各生產(chǎn)廠家都按照自己的規(guī)格生產(chǎn)電子樂(lè)器,當(dāng)您單獨(dú)使用某一廠家的產(chǎn)品時(shí),您還不會(huì)遇到什么問(wèn)題,可是當(dāng)您同時(shí)使用幾家公司的設(shè)備構(gòu)成一個(gè)電腦音樂(lè)系統(tǒng)的時(shí)候,麻煩就來(lái)了,您怎么能使一臺(tái)美國(guó)E-MU的音源發(fā)出您在日本ROLAND鍵盤(pán)上彈奏的一個(gè)標(biāo)準(zhǔn)A呢?
為了解決電子樂(lè)器的通訊問(wèn)題,1982年,國(guó)際樂(lè)器制造者協(xié)會(huì)的十幾家廠商(其中主要是美國(guó)和日本的廠商)會(huì)聚一堂,各抒己見(jiàn)。會(huì)議通過(guò)了美國(guó)Sequential Circuits公司的大衛(wèi).史密斯提出的“通用合成器接口”的方案,并改名為“音樂(lè)設(shè)備數(shù)字接口”,即“Musical Instrument Digital Interface”縮寫(xiě)為“MIDI”,公布于世。
1983年,MIDI協(xié)議1.0版正式制定出來(lái)。此后,所有的商業(yè)用電子樂(lè)器的背后都出現(xiàn)了幾個(gè)五孔的MIDI插座,樂(lè)器之間不再存在“語(yǔ)言障礙”,它們同裝上MIDI接口的電腦一起,構(gòu)成了一個(gè)更加繁榮昌盛的電腦音樂(lè)大家庭。
實(shí)際上,MIDI本身只是Musical Instrument Digital Interface的縮寫(xiě),意思是音樂(lè)設(shè)備數(shù)字接口。這種接口技術(shù)的作用就是使電子樂(lè)器與電子樂(lè)器,電子樂(lè)器與電腦之間通過(guò)一種通用的通訊協(xié)議進(jìn)行通訊,這種協(xié)議自然就是MIDI協(xié)議了。
對(duì)于搞計(jì)算機(jī)的人來(lái)說(shuō),不妨把MIDI理解成一種局域網(wǎng),網(wǎng)絡(luò)的各個(gè)部分通過(guò)專(zhuān)用的串行電纜 - MIDI線連接,并以31.25KBPS的速度傳送著數(shù)字音樂(lè)信息。
MIDI標(biāo)準(zhǔn)制定以后,開(kāi)始只是在專(zhuān)業(yè)的電腦音樂(lè)圈兒里受到重視,但是隨著電子技術(shù)的不斷發(fā)展,尤其是近幾年多媒體技術(shù)的突飛猛進(jìn),MIDI作為多媒的一個(gè)重要組成部分,被炒得沸沸揚(yáng)揚(yáng),幾乎達(dá)到了婦孺皆知的地步。而大家也已經(jīng)把這種接口技術(shù)當(dāng)作了電腦音樂(lè)的代名詞,常有“做MIDI”,“玩兒MIDI”的說(shuō)法,使一些正統(tǒng)的“電腦音樂(lè)人”覺(jué)得莫名其妙,啼笑皆非。
因此,我們倒不妨將MIDI劃分為“狹義MIDI”和“廣義MIDI”兩種概念,狹義MIDI就是上面所說(shuō)的音樂(lè)設(shè)備數(shù)字接口,而廣義MIDI則是大家已經(jīng)約定俗成的整個(gè)電腦音樂(lè)的統(tǒng)稱(chēng),這樣即不會(huì)造成概念上的進(jìn)一步混亂,也不會(huì)使得MIDI一詞失去其本質(zhì)的含義。
1985年11月,國(guó)際樂(lè)器制造者協(xié)會(huì)公布了《MIDI1.0版的細(xì)節(jié)規(guī)定》(2.0版至今仍在制定中),重新定義了一些控制器號(hào)碼。此外,為保證MIDI的健康發(fā)展,還專(zhuān)門(mén)成立了“MIDI廠商協(xié)會(huì)”和“日本MIDI標(biāo)準(zhǔn)委員會(huì)”等組織,MIDI標(biāo)準(zhǔn)從成長(zhǎng)階段步入了成熟階段。
MIDI標(biāo)準(zhǔn)的成熟使各電子樂(lè)器生產(chǎn)廠商更加信心百倍,它們絞盡腦汁、挖空心思,以空前的熱情生產(chǎn)出各種電子樂(lè)器,有鍵盤(pán)式的(合成器、主控鍵盤(pán))、弦控式的(MIDI吉他)、敲擊式的(鼓機(jī))甚至還有吹奏式的(呼吸控制器),除此之外,還有五花八門(mén)的各種音源模塊(就是把沒(méi)有鍵盤(pán)的電子合成器)供人選購(gòu)。
如果說(shuō)生產(chǎn)廠商在此間得到的是利潤(rùn),那么廣大音樂(lè)工作者得到的則是實(shí)惠。道理很簡(jiǎn)單:東西一多,就會(huì)便宜。各廠商之間的競(jìng)爭(zhēng)也迫使它們不得不盡快推出更好更便宜的電子樂(lè)器。如此一來(lái),使得電腦音樂(lè)工作者人數(shù)激增,一些業(yè)余愛(ài)好者也趁機(jī)“混跡”于音樂(lè)工作者隊(duì)伍之中,并制作出相當(dāng)一批驚人之作。電腦音樂(lè)的第二個(gè)繁榮時(shí)期一直持續(xù)至今。
