2008年8月10日

正常顯示mp3tag、cue的歌曲資訊

之前使用UAO的遺毒(最後段有提一下我對這東西的想法),就是這些資料大爆炸,最近在修補這樣orz

ACG FANS應該會有不少日文歌吧,不管是cue+ape,tta、還是MP3,最大的問題就是日文標籤無法正常顯示。我最近斷斷續續花了一兩週研究終於搞懂一切到底怎麼回事orz

編碼的技術方面我不熟,講了大概也只會散佈錯誤訊息所以省略。關於MP3標籤上PTT>EZSoft版,搜尋「[打屁]ID3 Tagv2與各家播放器處理的討論」可以找到一些正確的知識(web版好像還沒有這串),我這邊只打使用的結論XD

因為UAO是過時的東西了,所以我不想用。因此本文要說的是要使用哪種版本的ID3&編碼才能在最多的播放器顯示歌曲資訊

先講比較麻煩,但比較多人用的ID3,cue放後面,反正一句話就可以解決他了XD...


內文很長,縮一下節省版面


先從結論說起吧,我試過Foobar、千千靜聽、iTunes、Songbird。winamp實在懶得碰了

Foobar2000(我一直是用最新版):
Foobar其實幾乎不管什麼ID3版本、編碼都可以吃,我存過unicode的ID3v2.4、unicode的ID3v2.3、ID3v1不知名編碼(入手後沒轉過編碼,用convertZ試大五、GBK、S-JIS都找不到能正常看到,估計是EUC日文),在foobar一直都能正常顯示,包括那些在檔案總管中會看到亂碼的MP3tag。
所以你如果用的是foobar的話,只要注意別用UAO把tag搞成大五日文,以免移除UAO後變空白就好了。


千千靜聽:
然而千千似乎不能看到那些在檔案總管中是亂碼的歌,在檔屬性編輯選項中也沒看到儲存為ID3v2.4的選項,而我用Mp3tag這個軟體看過ID3版本,某些ID3v2.4的資訊好像也不能正常顯示,估計只支援到ID3v2.3。

用千千的好處是,如果非ID3v2.3、unicode編碼的MP3tag在千千中能正常顯示的話,只要打開檔屬性,隨便編輯些什麼東西(加個空格再砍掉之類,我是把寫入填充資料勾掉再勾回去)後存檔,就能把MP3tag版本變成大部份軟體能看懂的ID3v2.3,有幾首歌我是這樣調整的XD...


iTunes:

這東西我覺得真是他媽的有夠難用 囧,為了測試還是裝回來了。不過我不知道怎麼重新讀取標籤,所以只手動測試了幾首。

不知名編碼的ID3v1確定不能用,unicode的ID3v2.3確定可以。另外沒有找ID3v2.4的歌來測試。


Songbird:
好像沒啥人用這東西(資源吃超多大概很惹人厭吧XD...),我之前衝著摩機啦裝了所以也是測試一下。

因為操作也是很不習慣,也只測了幾首,結果是跟iT一樣。ID3v2.4也是沒測試。

好,軟體支援度的結論如上述。用腐爸的人可以離開本段,直接跳下面cue檔的部份了XD



---接下來說的是怎樣把ID3轉成可用的版本與編碼---

我用的軟體有:
Mp3tag
大量編輯MP3tag
另外我將不知名編碼的ID3v1修改後,自動儲存為unicode編碼的ID3v2.3,估計這是他的預設儲存格式。

ConvertZ
轉換ID3編碼與版本

Renamer
自訂規則,批次更改等名


我是這樣使用的:
剛入手還沒動過標籤的MP3,先用ConvertZ轉換MP3tag為 ID3v2.3,unicode-LE編碼。但這個軟體有個很爛的地方,就是介面部份沒做好。

那「輸出編碼」是給ID3v1用的,所以預覽時要直接把「ID3v2儲存為下列格式」的ansi改成unicode-LE,版本則選擇v2.3。

接著改變來源編碼與輸出編碼的配對(通常輸出不要選大五就都OK了),只要底下ID3v2那一欄正確就可以轉了,上面不要理他-_-


如果怎麼轉都轉不對
(例如已經被UAO弄壞掉的狀況XD...),或是遇到不知名編碼(非大五、GBK、S-JIS)時,就只能出動Renamer跟Mp3tag了orz

Mp3tag有個功能可以將檔名直接作為MP3標籤,所以我們可以利用這功能把歌名全都改成正常的(XP檔案總管的編碼是unicode)。

但是有些XX版的MP3前面會加上編號,像是「01.我是歌名」之類,前面那個「01.」如果用手改會抓狂,像這種情況就用Renamer,批次砍除前三個字元,也就是「**.」這三個字元。其他序號的方式也可以用其他規則來砍除,不過大部分應該只要砍除前幾個字元就OK了。

砍完以後,用Mp3tag把要修改的歌全選起來,右鍵選擇「轉換>檔名→標籤」即可。

專輯或歌手等,反正全部的歌都一樣,就手動打一打吧XD..

如果連檔名都被UAO搞空白了,那恭喜你,全部自己用手打吧,被UAO搞壞掉的東西是沒得救的...囧rz



---接下來是一句話結束他的cue檔XD---
必要軟體:
瀏覽器*1,我都是用火狐,IE7應該也可以,6我就不確定了XD
記事本*1
  • 首先把cue檔拉到瀏覽器去
  • 調整語言編碼,能夠正常看見所有資訊後,全選、複製(檔案關不關閉沒差,不過關起來咖保險)
  • 把cue檔用記事本開啟,殺光原本內容,將正常顯示的資訊貼進去,另存新檔選擇UTF-8(我都是選這個,unicode能不能用不知道),結束ˋ(゚∀゚)ノ
你說不只一句話?因為這樣看比較清楚,所以我拆開啦XD...

這方法做出來的結果,我確定foobar最新版能夠正常顯示、播放
AIMP2無法正確讀取這樣的cue檔
,我試用10分鐘發現這點就砍了XD...
winamp我沒裝不知道,iTunes、Songbird不能播無損格式。

當然,如果一樣被UAO搞爛掉的cue檔也是沒救XD......
不過CUE應該算是純文字檔,也許可以試試UAO禁書目錄
這東西沒官網,我直接拿這咕狗搜尋到的網頁來用吧,或是你也可以去PTT的EZSoft版搜尋「處理 UAO 檔名&純文字檔的工具」(那串關於UAO的文有興趣也可以看一看)。不過我沒拿這東西轉過CUE檔,轉出來會變啥樣我不知道,請各位勇者試試吧XD...


順便附上一個關於介面亂碼的小方案,應該有人會發現某些軟體安裝時(使用Windows Install者),會整片亂碼,甚至安裝完後的捷徑等等名稱也會有亂碼,這東西原因出在applocale。
解法是在「C:\WINDOWS\AppPatch」中,把Apploc.tmp給砍掉,然後新增一個空白txt檔,把檔名改成Apploc.tmp,之後設成唯讀防止再生即可。

話說我記得我打過一篇關於這個的啊,為什麼找不到那篇文章 囧



---這邊開始廢話&抱怨軟體,如果解決問題了話,你現在可以離開了XD---

我一定要幹一下這iT啊,蘋果這東西全都是包在一起的,Safari、QT、iT裝任一個之後,「更新」時都會幫你更出其他東西,而且裝起來一定綁那什麼bonjour鬼印表機軟體+手機服務。他媽的拎北印表機是用EPSON、手機用SE啊,你給我這兩個是要幹嘛,有夠煩的XD......這種作法不是跟MS的W live綁全套一樣嗎...╯゚Д゚)╯╨─╨

而然後爽鳥RAM隨便都70起跳,有夠夭壽,還是foobar跟千千比較穩

我現在是以最強的foobar為主,如果要唱歌的話就開千千出來看歌詞XD


另外關於UAO,這東西之前幫過我很大的忙,我也不想像一堆大溼一樣罵他啦,只是真的有幾個概念提一下。
首先,UAO全名是Unicode-at-on,中文叫Unicode補完計畫。但這東西其實不是Unicode,也沒有「裝Unicode」這回事,XP系統的編碼就是Unicode了,所以什麼亂七八糟的鬼檔名,如果有注意的話,會發現用XP內建的程式來開都沒問題XD...

常會有人說什麼「網頁有字看不到」、「某某檔名看不到」之類的問題,會有人回他「因為你沒裝Unicode」。這個說法是錯的,因為Unicode不用裝也不能裝,但是如果改成「因為你沒裝UAO」的話我覺得應該至少有對八成吧,那些看不到的字就是裝了UAO的人打出來,導致沒裝的人看不到

使用UAO的問題就出在這裡,有裝的人可能會弄出讓沒裝的人看看不到的字,對我而言什麼搞爛系統殺小的理由(雖然其實也不會搞爛啦,只可能搞到字都看不到囧)都比不上這點,大家作人不要這麼自私啊,別想說什麼自己看得到就好了,全世界用網路的人有幾十億不能只給區區一個台灣(需要UAO的只有台灣)這樣搞屁的。

UAO我理解的原理是這樣的:
在Unicode還沒普及前,日文漢字是日文漢字,編碼可能是S-JIS,而我們台灣用的是Big-5,也就是我上面一直打的大五碼。

大五只包含常用的漢字(有沒有簡體字我忘了 囧),所以日文漢字跟日文字都看不到。而對岸的GBK字很夠,甚至有包含日文漢字跟假名(用ConvertZ轉碼會發現有些日文是GBK就是這原因)。

而UAO就是把那些沒有的假名啊日文漢字啊啥鬼的,塞進大五裡面,讓我們能夠看得到也讓一些不支援unicode的程式讀的到。這樣講應該就很清楚理解沒裝的人只能看到空白或是亂碼。所以為了整個數位世界的好(?),各位脫離UAO吧!

詳細資料可以參考
Unicode - 維基百科,自由的百科全書
Unicode補完計畫 - 維基百科,自由的百科全書

想脫離UAO進入美好的unicode世界的人,可以參考
Unicode軟體推齊計畫: MS Windows下支援Unicode的軟體清單

尤其大家都在用不肯註冊寧願看警告、用閹割版或是乾脆找破解,而且不支援unicode的WinRAR、NERO、ACD統統拋棄吧,換成7-ZIP、ImgBurn、Hamana(純看圖,管理可用picasa)吧XD