百科解釋
ID3標(biāo)簽是MP3音樂檔案中的歌曲附加訊息,它能夠在MP3中附加曲子的演出者、作者以及其它類別資訊,方便眾多樂曲的管理。缺少ID3標(biāo)簽并不會(huì)影響 MP3的播放,但若沒有的話,管理音樂文件也會(huì)相當(dāng)?shù)穆闊。如果你在網(wǎng)上download MP3,里面多半已經(jīng)寫有預(yù)設(shè)的ID3訊息。如果你想要將其清除重設(shè),使用WinAMP中的“Alt + 3”熱鍵,就能修改MP3檔案中之的ID3標(biāo)簽。
ID3,一般是位于一個(gè)mp3文件的開頭或末尾的若干字節(jié)內(nèi),附加了關(guān)于該mp3的歌手,標(biāo)題,專輯名稱,年代,風(fēng)格等信息,該信息就被稱為ID3信息,ID3信息分為兩個(gè)版本,v1和v2版。
其中:v1版的ID3在mp3文件的末尾128字節(jié),以TAG三個(gè)字符開頭,后面跟上歌曲信息。
v2版一般位于mp3的開頭,可以存儲(chǔ)歌詞,該專輯的圖片等大容量的信息。
此外,ID3也就是ID3Tags,其中的“Tag”在英文中名詞的一個(gè)意思是“標(biāo)簽”,所以“ID3Tags”也就是“MP3文件曲目標(biāo)簽”的意思。
有些地方以“ID3”這樣的簡稱來代表“ID3Tags”,二者本質(zhì)是一樣的。
如果沒有ID3,那么人們只能根據(jù)文件名判斷一首歌它是什么內(nèi)容了,何況就算聽出了是什么歌,它的演唱者、專輯名稱你也未必背得下來,所以給MP3文件增加內(nèi)置的標(biāo)簽是理所當(dāng)然的事情。有趣的是,MP3的標(biāo)簽并沒有一個(gè)ISO國際標(biāo)準(zhǔn),ID3的各種版本目前只是一個(gè)近乎事實(shí)上的標(biāo)準(zhǔn),并沒有人強(qiáng)迫播放器或者編碼程序必須支持它。
ID3 V1是由Eric Kemp在1996年發(fā)明的。ID3 V1是一組附加在音樂文件后面的數(shù)據(jù),它的長度是固定的128字節(jié)。
其中流派一共定義了79種,流行的播放軟件Winamp則把它擴(kuò)展到了125種,從Blues到Noise到Dance Hall,非常豐富,在許多支持ID3編輯的軟件中都可以看到這個(gè)列表,但是國內(nèi)用戶似乎不太在意這個(gè)標(biāo)記,大多數(shù)人甚至不知道自己的歌曲到底屬于哪一個(gè)分類。
這些內(nèi)容一共只有128個(gè)字節(jié),并不算累贅。由于附加在文件尾部,所以播放器不必考慮它的影響,即使不支持ID3標(biāo)記也不會(huì)影響音樂的還原——某些很老的播放器確實(shí)可能會(huì)在播放到這里的時(shí)候發(fā)出噪音或者報(bào)錯(cuò)。但是標(biāo)記在文件尾部也會(huì)造成一個(gè)問題,那就是如果還沒有讀到文件末尾,我們什么信息也看不到。對硬盤和閃存里面的歌曲這當(dāng)然不是問題,但是如果你通過流媒體方式直接在網(wǎng)絡(luò)上收聽,就會(huì)發(fā)現(xiàn)它的缺陷了。
細(xì)心的人會(huì)注意到ID3V1.0沒有包括曲目序號(hào)的定義,所以Michael Mutschler在1997年進(jìn)行了改進(jìn),引入了版本1.1。通過占用備注字段的最后兩個(gè)字節(jié),用一個(gè)00字節(jié)作標(biāo)記,另一個(gè)字節(jié)改為序號(hào),可以讓ID3支持曲目編號(hào)了。一個(gè)字節(jié)的空間讓ID3 V1.1支持最高到255的曲目序號(hào),考慮到一張唱片超過256個(gè)曲目的可能性極小,這個(gè)改進(jìn)還是相當(dāng)合理的。
ID3v1
ID3V1比較簡單,它是存放在MP3文件的末尾,用16進(jìn)制的編輯器打開一個(gè)MP3文件,查看其末尾的128個(gè)順序存放字節(jié),數(shù)據(jù)結(jié)構(gòu)定義如下:
char Header[3]; /*標(biāo)簽頭必須是"TAG"否則認(rèn)為沒有標(biāo)簽*/
char Title[30]; /*標(biāo)題*/
char Artist[30]; /*作者*/
char Album[30]; /*專集*/
char Year[4]; /*出品年代*/
char Comment[30]; /*備注*/
char Genre; /*類型*/
ID3V1的各項(xiàng)信息都是順序存放,沒有任何標(biāo)識(shí)將其分開,比如標(biāo)題信息不足30個(gè)字節(jié),則使用'