ID3

ID3是一種metadata容器，多應用於MP3格式的音訊檔案中。它可以將相關的曲名、演唱者、專輯、音軌數等資訊儲存在MP3檔案中，又稱作「ID3Tags」。ID3也被蘋果公司指定為HTTP Live Streaming中的時間後設資料，在主要的傳輸流或單獨的音訊傳輸流中作為乘載。ID3一般位於一個mp3檔案的開頭或末尾的若干位元組內，附加了關於該mp3的歌手，標題，專輯名稱，年代，風格等資訊，該資訊就被稱為ID3資訊。ID3資訊分為兩個版本，v1和v2版。其中： v1版的ID3在mp3檔案的末尾128位元組，以TAG三個字元開頭，後面跟上歌曲資訊。v1.1版將「評論」欄位縮短，增設「曲目」欄位。v2版則和v1版截然不同，其通常將一系列可擴充套件的資料框架儲存在檔案開頭，而每一塊資料框架都有當作辨識標籤的、大小約3到4個位元組的字串，以及其所儲存的資料。在最新的ID3v2.4版本中，總共宣告有83種資料框架，而使用者也可以自訂屬於自己的資料框架。目前總共有三種版本的ID3v2，其中每一版都有對資料框架的定義進行擴充套件。ID3是mp3檔案後設資料自然而然發展出來的事實標準；其成品並沒有包含任何的實質規範，也沒有任何組織給予其正式的批准或認證。其與APE tag在音樂檔案的後設資料標籤領域互相角逐。ID3v1.MP3並未預設儲存檔案後設資料的方式。在1996年，埃裡克·肯普宣佈了格式。因為所有已開發的控制檯ROM都沒有任何的辨識資訊，所以他們創造了一個標籤系統來讓其更容易查詢。埃裡克和合作夥伴們將其帶進MP3檔案中。這種格式被應用在許多當時格式不明的檔案當中。ID3v1標籤總共佔據128個位元組，接在檔案的末尾以維持檔案在舊版的媒體播放器中的相容性。有些播放器會在讀取到這些標籤時誤認為音訊檔而產生一些雜音，不過大部分的播放器和幾乎全部的現代播放器都會正確地跳過標籤。標籤有30位元組用來儲存標題、演唱者、專輯以及「評論」，4個位元組儲存年分，以及一個位元組儲存歌曲的藝術型別。預設有80種藝術型別，Winamp後來將其擴充套件到總共148種。在1997年，邁克爾·邁克塞勒對ID3v1做了一些改進。因為評論欄位實在是小到不可能寫出一些有用的東西，所以他乾脆拿掉兩個位元組來儲存「曲目」。這種標籤被稱作ID3v1.1。格式.字串由空格或零填充。未設定的選項會填入空字串。ID3v1總長為128個位元組。ID3v1預設了一系列的藝術型別，以數字作為索引。Winamp在自家的音樂播放器加入更多選項到該清單中，後來其他播放器也隨之跟進；有一部份的值沒有標準規範。不過，並非全世界都支援Winamp的擴充套件清單。有時候，有些播放器只支援到125種藝術型別。擴充套件標籤.擴充套件標籤以及MP3檔案的起始與結束時間。如果以上的區域都沒有被使用，那麼這個資料區塊就會自動被省略。有些支援ID3v1的程式也可以讀到擴充套件標籤，不過寫入時可能會在擴充套件區塊中留下過舊的值。擴充套件區塊並非官方標準，而且只有少數程式支援，不包含XMMS或Winamp。擴充套件標籤有時也被稱作「補強標籤」。擴充套件標籤總長227個位元組，並且位於ID3v1標籤之前。ID3v2.1998年，一個由許多貢獻者創造、被稱作ID3v2的新規範問世。雖然繼承了ID3的名字，但其結構與ID3v1大相逕庭。ID3v2標籤有各種不同的大小，而且經常位於檔案開頭，以運用於串流媒體中。舉例來說，"TIT2"資料框架包含標題，而"WOAR"資料框架則包含該藝術家的網站URL連結。資料框架最大可達16MB，不過標籤總大小上限為256MB。標籤也不再侷限於西歐編碼，而支援Unicode，解決了國際化的問題。文字框架會由一個編碼位元組標記，以得知其是由哪種編碼存入的。不過，在使用地區編碼而非萬國碼的時候，還是很容易出現亂碼。特別是有些使用Shift JIS編碼的日文編輯者經常造成一些災難性的後果：因為並非標準支援，所以不管地區設定為何，都無法運用於任何符合標準的軟體；因為日本以外的地區幾乎不支援Shift JIS，所以也無法在日本以外的地區使用；甚至連日本境內也並非通用，因為其取決於軟體與設定。在最新版ID3v2.4，總共宣告了83種資料框架，而使用者也可以自訂屬於自己的資料框架。標準的資料框架有量測音樂速度、版權、歌詞、任意文字和URL資料等等。ID3v2總共有三種版本：v2.2是ID3v2的第一個公開版本。他使用3個字元作為資料框架識別碼，而非4個。v2.3和v2.4中大多數的資料框架都在v2.2中有著相似的框架。這個標準已經被認為過時。v2.3將資料框架識別碼擴充套件到4個字元，並且加入了一些新的資料框架。一個框架可以包含複數值，由空字元分隔。這是目前最廣泛使用的ID3v2標籤。v2.4出版於2000年11月1日，至今仍是最新的版本。其允許文字資料以UTF-8寫入。另外一項新功能是可以選擇是否在檔案末端、其他標籤前面加入標籤，就像ID3v1那樣。沒有任何版本的Windows檔案總管和Windows Media Player──甚至是最新的Windows 10和 12──都無法正確的解讀ID3v2.4標籤，不過依然能解讀v2.3或是更早的版本。評分標籤的爭議.對於歌曲的評分，有一個寬鬆的事實標準。大多數應用程式會替所有歌曲展示0到5顆星的評分，而星數會以何種形式展示則各有不同。舉例來說，當你在iTunes替歌曲評分的時候，評分並不會嵌入那個音樂檔案的標籤裡，而是會儲存在iTunes自己的後設資料資料庫中。其他的媒體播放器可以嵌入標籤，但方法不一定相同，所以在一個媒體播放器評分的音樂不一定會在其他的播放器以相同的形式展示。不過，在新版的ID3v2中有一個「Popularimeter」資料框架用來解決這個問題。這個資料框架的識別碼是POPM，而Windows檔案總管、WMP、Winamp、foobar2000、MediaMonkey以及其他軟體都將0-255這範圍內的值大致相同地分為0-5星展示。以Windows檔案總管讀寫POPM資料框架的標準為例：語法則為：Windows Media Player 9 Series | 255 | 0其中0是POPM的計數器部分，不要與PCNT資料框架的播放次數混淆。不過如果有應用程式支援粒度，一顆星的話會寫入1，而2到31則會是一顆星之下的粒度點。值得一提的是，Windows所使用的ID字串並非規範所要求的電子郵件地址。而且，直到Windows 7和WMP 12的Windows檔案總管和WMP都有一個漏洞是：如果你使用以上軟體替音樂評分的話，任何有關回放增益的標籤都會損壞。WMP也以上述方式讀寫相同的值，除了4到5星之間有著些微莫名的不同。WMP使用221和222來區隔4、5星，理由不明。ID3v2章節.ID3v2章節補遺出版於2005年12月，不過至今尚未被廣泛支援。它讓使用者們可以簡單地跳到音訊檔案中特定的地點或樂章，並且可以在播放期間提供同步的圖片與文字的投影片;zh-cn:幻燈片;zh-tw:投影片。典型的應用程式包括補強播客，而且其可用於v2.3或v2.4標籤中。ID3v2嵌入圖片.後設資料可以包含以下型別的圖片：ID3v2資料框架規範.注意：Version 2.4 of the specification prescribes that all text fields (the fields that start with a "T", except for TXXX) can contain multiple values separated by a null character. The null character varies by character encoding.