[打屁]ID3 Tagv2與各家播放器處理的討論(1)
※ [本文轉錄自 EZsoft 看板]
作者: WandererM (WM) 看板: EZsoft
標題: [打屁]ID3 Tagv2與各家播放器處理的討論(1)
時間: Wed Aug 13 17:13:05 2008
本文同步發表在AudioPlayer板,歡迎大家一起討論。
以下只討論Windows平台上的現況,歡迎其他平台使用者也來寫個一篇XD
文章內含大量連結,請多包涵Orz
首先,先從ID3 TAG到底是什麼標準講起:
先看看這篇文章→http://forum.slime.com.tw/post877754-1.html
再看看這篇:http://liuawei.wordpress.com/2008/05/27/id3tag-ubuntu/
大致上ID3 TAG演進的過程就是這樣,
上面那篇文章告訴我們目前建議以ID3v2.3來編輯TAG,比較保險,
因為有些MP3 Player還不支援使用強制使用UTF-8的v2.4,
而Windows Explorer跟Windows Media Player又不認得UTF-8的TAG,
也許你想問那Vista這方面有沒有改進啊?
很高興的是,沒有!有圖為證:http://echopic.com/wes
(2-09 昨天是ID3v2.3,可以正確抓到縮圖跟TAG資訊,2-07 只能抱著你就真的爆了)
所以我們又少了一股升級到Vista的好誘因XDDD
前幾天我心血來潮,想知道官方ID3v2的規格有沒有關於Multi Artists的寫入支援,
因為整理TAG的時候看到很多合唱曲,中間的分隔符號都沒有統一(對,我很龜毛Orz)
想說找找看官方標準對這方面是怎麼定義的:http://www.id3.org/id3v2.3.0
「TPE1
The 'Lead artist(s)/Lead performer(s)/Soloist(s)/Performing group' is
used for the main artist(s). They are seperated with the "/" character. 」
也就是說ID3v2.3是用/符號來分隔每個演出者,不過其實這個符號挑的不是很好,
因為有個澳洲天團叫做『AC/DC』啊XDDD http://en.wikipedia.org/wiki/AC/DC
MediaMonkey特地為了這個團體寫了個例外處理。
http://www.mediamonkey.com/forum/viewtopic.php?f=3&t=27975
Windows Media Player也有類似的處理,不過foobar2000沒有就是,會變成AC, DC。
那新的v2.4對這個有沒有更好的辦法呢?http://www.id3.org/id3v2.4.0-frames
「All text information frames supports multiple strings, stored as a null
separated list, where null is reperesented by the termination code
for the charater encoding.」
改用NULL來作分隔字元,不過這個也造成了不少的問題就是。
分隔字元的討論已經吵很久了:
http://www.hydrogenaudio.org/forums/index.php?showtopic=61317
那麼底下就來發表一下我測試的ID3v2.3跟ID3v2.4分隔字元的相容性測試:
1. Windows Media Player:
v2.3,圖:http://echopic.com/weu,在參與演出者那邊用分號取代/做隔開,
表示它認得這是兩個演出者,不過在媒體櫃裡面的演出者只新增一個梁靜茹,
而沒有新增一個光良,WLM的Now Playing也只接收到梁靜茹而沒有光良。
v2.4,如前所述,完全認不得UTF-8的TAG。
2. Foobar2000:
v2.3,可以識別,會以A, B的方式顯示,編輯時則是A;B,用;表示分隔。
但是沒對AC/DC作例外處理。
v2.4,可以識別,一樣以A, B的方式顯示,編輯時則是A;B,用;表示分隔。
用foo_msnalt送上WLM的Now Playing也是顯示「A, B」,非常棒!
3. iTunes:
v2.3,不理會分隔直接顯示/。
v2.4,會將NULL字元以空白字元顯示。變成「梁靜茹 光良」,
送到WLM的Now Playing一樣只顯示梁靜茹。
但是直接新增v2.4的檔案iTunes無法加入。
不過將已經加入資料庫後的檔案修改成v2.4後可以存取,但是用簡介開啟
來看雖然看得到v2.4的識別,但是演出者欄位也只顯示梁靜茹。
4. Songbird:
v2.3,跟iTunes一樣直接不理會分隔。
v2.4,也跟iTunes一樣會以空白字元顯示,但是透過LiveTweeter送到
WLM的顯示有連光良一起亮相。
雖然Songbird預設編輯的就是v2.4,但開發者告訴我目前只是會把遇到的
第一個Null略過顯示空白字元,因為資料庫結構還不允許Multi artists,
所以再多來一個Null就會爆炸。
5. MediaMonkey:
v2.3,可以識別,且有對AC/DC作例外處理。
v2.4,可以識別。可說是這個測試的優等生,請看圖:http://echopic.com/wf0
右邊框起來的部份表示這是兩個不同的檔案分別是2.3跟2.4版本。
左邊框起來的則是它自動產生了兩個演出者的節點,表示它認得這是兩個人。
雖然WMP的管理概念跟它類似,但這款軟體自動產生節點的能力真的是強!
foobar2000的Library也能做到,希望Songbird也很快有這個功能。
6. AIMP:
v2.3,似乎也是不理會的樣子。
v2.4,可以直接加入,也可以播放,不過清單介面上只顯示梁靜茹,
File Info裡面會顯示「梁靜茹 光良」,但是編輯ID3 v2介面裡面只看得到梁靜茹。
7. 千千靜聽:
v2.3,這個也是沒有理會分隔。
v2.4,可以直接加入,也可以播放,不過清單介面上只顯示梁靜茹,
編輯ID3 v2介面裡面也只看得到梁靜茹。
結論:
大多數音樂管理軟體,都直接把2.3的分隔字元當作沒有這回事,
只有MediaMonkey跟Foobar2000實做出來(WMP這樣算不完整),
而2.4的NULL字元就更麻煩了,沒特別處理的話NULL後面的文字還會被鬼隱XDD
另外值得一提的是iTunes轉出的MP3預設似乎是用已廢棄的ID3 v2.2,
(不知道新版有沒有改用2.3了,我很久沒把唱片轉MP3了)
然後還會在Comment欄位裡面寫入一堆資料庫資訊,內含NULL字元,
會造成不少軟體無法正常播放檔案,所以這次測試都有把Comment欄位整個清空。
如果你也有遇到少數檔案播放異常,記得檢查看看是不是iTunes的Comment作怪。
那麼就先到這裡打住,剩下的等吃完晚餐再寫一篇,謝謝你看完這麼長的廢話Orz
--
▄▄A WM Should Not Know Anger, ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▄▄▄▄▄▄▄▄▄ Nor Hatred,▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▄▄▄▄▄▄▄▄▄▄▄Nor Love. ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▄ My home: ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▄ http://kidwm.net/ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
批踢踢兔個板:WM
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.1.178
→
08/13 17:19, , 1F
08/13 17:19, 1F
※ 編輯: WandererM 來自: 220.133.1.178 (08/13 17:24)
推
08/13 18:00, , 2F
08/13 18:00, 2F
→
08/13 18:03, , 3F
08/13 18:03, 3F
推
08/13 19:17, , 4F
08/13 19:17, 4F
→
08/13 22:09, , 5F
08/13 22:09, 5F
推
08/13 23:48, , 6F
08/13 23:48, 6F
推
08/14 00:23, , 7F
08/14 00:23, 7F
推
08/14 08:03, , 8F
08/14 08:03, 8F
→
08/14 08:04, , 9F
08/14 08:04, 9F
→
08/14 08:06, , 10F
08/14 08:06, 10F
推
08/14 12:09, , 11F
08/14 12:09, 11F
AudioPlayer 近期熱門文章
PTT數位生活區 即時熱門文章