訪客留言簿

星期六, 11月 08, 2008

[教學] 播音樂的 CUE 檔如何修改成中文下沒亂碼

前言

剛在討論串中胡扯一番後,突然想到應該直接寫篇文整理起來比較好。

另外 CUE 檔通常是跟音樂映像檔一起放的。(常見的格式是 TTA, TAK, FLAC, WAV 等的,但映像檔的特色是一個很大的檔裡包了所有的音樂,就像光碟 ISO 檔一樣,所以映像檔是什麼音樂格式其實不重要啦。)

(2015.11.18 微更新,如果你的是 cue+bin,請先用 CloneDriveWinCDEmu 等虛擬光碟程式掛載起來,自行轉成適當的音樂格式,不然 bin 或 iso 這些映像檔,並不是可以給音樂播放程式直接吃的檔案格式。另外 .tak 格式要用 fb2k 播放的話,記得先去 fb2k 官網抓 tak 解碼器。記住一點,音樂映像檔要能直接播,這樣 cue 檔才有用處。)

(2008.11.12 標題好長,修短一下。文末也加了些相關文章。)

原因

首先,CUE 檔會有亂碼,是因為建立這 CUE 檔的人,跟你作業系統用的語言環境不同的關係。(那些東西是拉來的人就別出聲露自己的馬腳了)

但是為什麼 CUE 檔會因為語言環境不同而跑出亂碼呢?這是因為 CUE 檔是文字檔,文字檔就有字元編碼的問題,而製作 CUE 檔的人,很有可能都是用 EAC (Exact Audio Copy) 來弄的,但是這軟體輸出的 CUE 檔卻是不能在多國語言環境下正常顯示的 ANSI 類編碼。

所以,只要把 CUE 這文字檔的字元編碼改成適當的就好了!

修正流程

首先去下載可以調整檢視中文件編碼的純文字編輯器(如 MadEditNOTEPAD++),解壓縮執行這編輯程式,然後(想辦法)用純文字編輯器打開 CUE 檔案。(記得先備份 CUE 檔免得改錯要恢復很麻煩)

接著以 MadEdit 為例,在選單工具列,有個「檢視」的,第一項的「編碼」先調整好,直到你覺得你的 CUE 檔內容顯示的字是正確的(這點只能靠人眼判斷,文件沒宣告編碼的話,機器判的不準。),然後建議你先把全部的文件內容複製下來(按 Ctrl-a 全選後再按 Ctrl-c 存進系統剪貼簿),接著在「工具」中的「轉換檔案編碼」,選擇「UTF-8,這時文件的編碼就轉換完成了,請先檢查一下是不是有亂碼或缺字問題啥的,有問題的話,就全選後,把系統剪貼簿中複製好的東西貼上去(Ctrl-p)。

再來,因為部分播放器(如 foobar2000)吃的音樂標籤(tag)除了要是 UTF-8 外,還得要有 BOM 才能在各種語言環境下,正常顯示歌曲資訊。

所以再到「工具」下的「沒有 Unicode BOM」這個下拉選單中,選擇裡面的「插入/刪除 BOM」,然後再開「工具」看一下,有變成「有 Unicode BOM」就行。

最後只要按 Ctrl-s 存檔,再用你的播放器打開來試試就好。

不想額外下載編輯器的

裝好 Windows ,不想再下載別的軟體的人,請準備好 Windows 筆記本(內建的純文字編輯器)跟 IE 瀏覽器就好。

首先,把 CUE 檔複製一份到別處,然後把這複製好的 CUE 檔,副檔名的「cue」改成「txt」,再用 IE 打開來,應該就會看見 CUE 檔的文字內容了。

接著想辦法在 IE 的「檢視 → 編碼」裡,調成看起來是正確內容的字元編碼,然後把這些正確內容全選複製起來,再開啟筆記本,把複製的內容貼上,另存新檔時:檔名尾巴記得打「.cue」,存檔類型記得改「所有檔案」,編碼記得選「UTF-8」。這樣子存好的 CUE 檔就可以在各種語言環境下使用了。

含 Big5 日文的

這種的用原本的 Big5 編碼,日文字部分只會是個大空格而已,但是直接轉成 UTF-8 會損毀裡面的資訊,所以比較好的辦法,還是用 Firefox 3 開啟 CUE 檔,選擇用 Big5 編碼檢視,然後自己全選複製,貼上純文字編輯器裡,重新建立個 Unicode (with BOM) 編碼的 CUE 檔比較好。

直接叫出 freedb 重新下載

用 foobar2000 的,可以連上 freedb 碰碰運氣,也許可以讀到正確的音樂資訊。

先打開 foobar2000 ,在工具選單的「File」找到「Preference」(按 Ctrl-p 也行),左邊的欄位裡找到「Tools」,打開子選單看底下的「Tagging」,再進子選單的「freedb Tagger」。

接著要使用的是專放日文歌等雙位元字的 freedb Server,網址是「 http://freedbtest.dyndns.org/~cddb/cddb.cgi 」,按 Add 後依序填入「freedbtest.dyndns.org」、「80」、「/~cddb/cddb.cgi」,最後一欄是顯示在剛的 freedb Tagger 中的名稱而已,隨便填就好。

但是 freedb 不一定會有人上傳你正在聽的音樂的 tag,所以選錯了還是會出槌的。

把 tag 寫進映像檔裡的

比如說 TAK 或 WavPack,都可以不靠 CUE 檔,直接把音樂的標籤資訊寫進音樂映像檔裡頭。

不過我沒機會處理這種檔案,所以並不清楚如何修改這種的標籤資訊。(可以想見的是,流出的人不弄成 Unicode 系的編碼就會很麻煩。)

其它注意事項

我想很多人拉來的壓縮檔,都是不支援 Unicode 檔名的,所以解開來一定多少會破壞掉原始檔名,這種的請自己把音樂映像檔的檔名,改成跟 CUE 文件中要求的檔名一樣的就好。

然後 CUE 檔內的歌曲檔案(含副檔名)有問題的,請自己想辦法在 CUE 內改成一致的。

其它還有什麼問題的人,請把 CUE 檔內容丟上來看看。(這裡不接受額外下載 CUE 檔的方式)

(補充:有些人不轉成 Unicode 而一定要保持 ANSI,可能是因為某些程式不吃 Unicode 的問題才不轉的,但是碰上些「很特殊」的符號時,有些安裝 UAO 的人,硬是保持在 Big5 的話,很有可能會出問題……總之自行衡量這樣。)

隨手咕來的相關文章

1 comments:

黑白鯨 提到...

很受用的一篇,剛好遇到cue這方面的問題,我並不是用EAC是類似的cdex,但產生出來的我如果用中文命名一些程式會有問題,有的只吃英文,有的吃Big5,有的吃unicode,照這的建議試,但本有notepad+似乎很難轉轉半天都亂碼,用轉碼器也是快氣死,後來用MADEdit一轉馬上好,用IE轉編碼也是可以只是比較弱,很怪windows的notepad有unicode又有utf-8不知差在那,反正後來我用mad存utf-8就比較改善了。

 

本站著作(不包含圖片、影音以及回應留言)係採用 Creative Commons 姓名標示-非商業性-相同方式分享 2.5 台灣 (中華民國) 授權條款授權