ID3 的語系設定

客戶又抱怨為啥我們的 ID3 顯示經常是亂碼, 競爭者每次都對, 一定不是運氣的關係… 於是我只好又求助 Google 大神了. 果然, ID3 的規格是這樣寫的, 無論有幾個 frame, 每個 frame 都由 frame ID, frame size 和 flag 共 10 個 bytes 開頭, 後續至少有 1 byte 的 content. 如果 frame ID = TLAN, 就表示 ID3 的語系寫在後面的 3 個 bytes 裡面. [1]

這三個 bytes 採用  ISO 3166-1 alpha-3 的定義 [2], 包括簡體 (CHN), 繁體 (TWN) 都有. 據說本來這個定義是用在護照上面, 機器讀到這個代號, 就知道這是哪個國家. 

那麼, 既有 alpha-3, 也會有 alpha-2 嗎?有! 此時中國是 CN, 台灣就是  TW, 美國就是 US [3]. 1但是兩個字母的組合太少, 辨識上比較困難. 南韓叫做 KR, 北韓叫做 KP, 就是沒人認領 KO (knock out)…

[REF]

1.  http://www.id3.org/id3v2.3.0#ISO-639-2

2. http://en.wikipedia.org/wiki/ISO_3166-1_alpha-3

3.  http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2

Grace Note 小檔案

Gracenote 是一家公司, 他們的營運模式是這樣:

http://www.gracenote.com/company_info/FAQ/FAQs/

The Gracenote Media Recognition Service is an Internet-based service that we license to software and hardware developers for use in their CD players, CD burners, MP3 players and encoders, catalogers, jukeboxes, cell phones, car audio systems, and home media center applications (among others). The service allows these developers to display artist, title, tracklists, and other music-related information automatically and instantly in their applications. For example, when you insert a music CD in your computer, the software player application on your computer uses our service to first identify the CD, and then display the artist, title, tracklist, and other information. Most commercial music CDs do not contain any of this information on the CD itself.


換句話說, 即使放進一片沒有任何歌詞, 演唱者訊息的 CD, 或是播一個這樣光溜溜的 file. Gracenote 都可以幫它生出必要的資料: 歌名, 歌詞, 演唱者…等等. 雖然這些東西本來放在 ID3 裡面就可以了 (如 MP3). 不過原始 CD 都是 LPCM, 是不可能支援 ID3 的.

這套機制牽涉到識別, 然後是資料庫提取. 由於 Gracenote 的資料庫在網路上, 所以使用這個服務就必須連上網路. 此外, 並不是所有的 service, application 都是 Gracenote 提供的, 有些是 freeware 或 shareware.

WinAMP 提供的掃描功能