為什麼這篇Foobar2000 中文 亂碼鄉民發文收入到精華區:因為在Foobar2000 中文 亂碼這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者jumpdc (CD無限購入)看板AVEncode標題[教學] foobar2000 tag亂碼...
tag(標籤)大致上分成ID3跟Ape還有Mp4之類的,記錄著曲子的資訊
如歌名、演唱者、專輯名稱。每種音樂格式都有比較常用的標籤資訊
這個日本wiki的連結有比較詳細的資料
http://foobar.s53.xrea.com/fbwiki/index.php?foobar2000%A4%C8%A5%BF%A5%B0%A4%CB
%A4%C4%A4%A4%A4%C6
這是縮短後的連結http://0rz.net/f407n
最上面是foobar程式中讀入的標籤、再來是寫入、最後是其他程式中常用的標籤
打個比方APE這種格式可以讀的標籤有ApeTagv1 / ApeTagv2 / ID3v1
寫入時則會把ApeTagv1跟ID3v1全改成ApeTagv2,大概說的就是這些,看一下就可以了
而每一種Tag有什麼差別可以看一下這網頁http://www.audio100.com/4/98.htm
但這些都不是本篇的重點
現在大家最常用的音樂格式是mp3,mp3的標籤比較常被大家所使用的就是ID3v1和ID3v2
但在foobar這個撥放程式中,從安裝就要開始注意,不然可能會遇到讀不到tag
tag為亂碼,等等問題,這篇文章就是告訴你該怎麼解決這問題。
下載的時候請下載Normal或Special,其中才支援ID3v2的讀取
安裝的時候記得勾選ID3v2 tag support(在Optional components→General底下)
先說在foobar中讀取tag的問題(就是還沒做任何更動,一撥放時就有亂碼)
這可能有兩種情況
1.是前陣子foo_id3v2.dll這檔案的問題:
這裡指的是在其他撥放程式下都正常,檔案可能從屁屁音樂網之類的空間下載
用軟體查看過後tag的編碼都是Big5碼,那可能就是這檔案發生問題
可以到foobar2000安裝的資料夾底下,進components看這檔案是不是九月九日的
並且去官方網站下載舊的檔案http://www.foobar2000.org/foo_id3v2.zip
壓縮檔中的foo_id3v2.dll日期應該是七月二十二,將檔案放到剛說的資料夾下
覆蓋原始的檔案。再點選歌曲撥放,應該就沒有問題了。
如果還是亂碼,可以試試在檔案上按右鍵,選Database→Reload info from file(s)
「另一種作法比較簡單,進Preferences→ID3v2 tag suppot,將裡面第三個選項
(Decode and write ISO...)勾起來,應該就可以了,如果沒有改變,
一樣照著Database那個步驟來做。可以的話,我還是希望大家用下載檔案覆蓋的方式
這個作法僅供參考,還不行的話請看第二步」
2.可能是檔案編碼的問題,就像連到大陸的網站,要更改網頁的編碼一樣
tag也需設定成適當的編碼,這裡有兩種做法,任選其一即可。
Ⅰ.用ConvertZ這軟體來調整tag的編碼:
http://alf-li.tripod.com/c_index.html 下載後開啟ConvettZ的主程式
對著右下角的縮圖按右鍵,選MP3的ID3標籤轉換
此時會跳出個視窗,左邊的地方可以讓你選取檔案,右邊則分上下兩個部分
上面是ID3v1,下面是ID3v2,還分成變換前跟變換後的預覽結果
基本上如果來源編碼跟輸出編碼選Big5都沒有問題的話,那這mp3檔案就沒有必要
改變編碼,一般來說如果你的音樂來源是用P2P軟體及連到大陸網站或日本網站下載
才有可能是編碼的問題,大陸用GB碼,日本用Shift-JIS,將來源設成適當的編碼
並輸出為Big5碼,預覽過後沒有問題的話就可按下轉換的按鍵。還可以把ID3v2.3存成
Unicode-Le的型式(*這點在之後會提到),預覽結果旁會出現(ULE)
就能將Tag就存成Unicode的了。
Ⅱ.想在foobar中轉換編碼的話,可以利用Special file info box這個plugin
在Special版中安裝時可從Optional components→General底下可以找到
或是從這裡下載http://pelit.koillismaa.fi/plugins/general.php#8
(內建於Special版的plugin版本會比較舊,不過應該沒什麼差別)
把foo_infobox.dll放到foobar2000\components資料夾下
執行foobar2000後,要先更改設定。進Preferences→Components→
Special file info,將Override codepage跟下面的Display "Override codepage"
都勾選,接下來對有亂碼的歌曲按右鍵,選Show file info(Special)
跳出的視窗中,下面就有可以選編碼的,還可以及時看到文字的改變
那麼多個編碼,一定有一個是正確的,一但確定了,就按Update
他會把你的編碼轉成正確的後,存成Unicode(*待會會解釋)。
也有其他的plugin有轉換編碼的功能,像Codepage Conversion
它是一個附屬在masstagger的指令,masstagger可以大量的更改檔案的標籤
例如把這幾首的演唱者都改成一樣的之類,而加上了這功能,masstagger就可以
大量轉換tag的編碼,但是無法預覽,我覺得不太方便(怕轉錯還要先備份),
且之前提到的ConvertZ也有全選所有檔案的功能,所以我不需要,
有興趣的人自己下載用用看http://pelit.koillismaa.fi/plugins/tagging.php#60
到這裡為止,亂碼的問題已經告一段落,大部分的問題應該可以解決了
還不行的話,那就再發文詢問吧。
接下來談談在foobar2000中有關一些寫入Tag的設定,還有粗略解釋一下Unicode的Tag
(包括剛才有用到Special file info box來更改編碼,也算寫入Tag的一種)
1.Foobar2000→Preferences,展開Compenents後,選ID3v2 tag support這項,
右邊則有四個可勾選的欄位。正常來說只有第二項是選取的
但什麼時候需要勾選第一項及第三項(Always writes ISO..及Decode and write ISO..)
在一般情況下,在foobar中更動Tag的資訊,例如曲目名稱錯了,來改一下
這時候存入的Tag的資訊(包括原有的)就會全置換UTF-16,也就是Unicode,萬國碼
代表說今天你轉換系統編碼到日文底下去做事,開foobar來聽歌時不會發現
歌名怎麼都變亂碼,且傳中文歌給日本人,他們也能正常顯示曲名、歌手等資料
反之如果不是Unicode,就會產生許多麻煩,這就是為什麼我們之前要用ConvertZ
和plugin來修正Tag編碼的原因,所以說存成Unicode其實是好的,
但某些時候,我們並不要它存成Unicode。好比某些很早期的撥放程式不支援時,
或者市面上有些mp3 player不支援,你就不能讀到歌曲的資訊,
此時,試試勾選第一和第三項,再對檔案按右鍵選Properties
或之前提到的Show file info(Special)
只要按一下Update,foobar就會依據你現在的系統,自己置換Tag成適當的編碼
(如繁體中文就存成Big5碼)而用ConvertZ這軟體來觀看mp3 Tag的話
Tag是Unicode的情況下,ID3v2「檢視標籤」這字的旁邊就會顯示(ULE)
這也是一個分辨的方法。如果沒什麼問題的話,其實是不用變動這選項的。
2.接下來用foobar寫入標籤時候,還有一個要注意的地方
Preferences→Playback→Input→Standard inputs的最上方
記得文章一開頭的時候有說過,foobar會根據你的音樂檔類型,
來決定該寫入什麼型式的Tag,只有Mp3可以手動設定,就在這裡。
沒在這裡設定的Tag,在foobar中 選Update後,就會被自動刪去
如果你設定Apev2及ID3v1的話,只要有在foobar中更改資訊,就會刪去ID3v2的資料。
雖然在foobar中感覺好像沒有改變,但用其他撥放程式撥的話,
因為不支援Apev2所以只能讀取ID3v1,而ID3v1的限制在於可存的字數過少,
假使曲名很長,有可能無法顯示全部的名稱。
而且ID3v1不像ID3v2一樣支援Unicode,所以如果你轉換系統到日文底下
用其他撥放程式撥放歌曲的時候可能出現亂碼
(如果用foobar2000撥,因為Apev2支援Unicode,且讀取順序高於ID3v1
所以不會有這種情況。)
要用什麼tag其實是個人選擇的問題,也不必想太多。而Apev2也不是不好
只是目前還比較少人使用,所以我選ID3v1和ID3v2,
其他軟體中,可改更改ID3的程式也很多,可改Apev2的軟體蠻少的
這也是我考慮的一個重點。
最後是freedb masstagger的設定
freedb是連上伺服器搜尋歌曲資料的一種方式,如果擁有整張專輯
那麼用這方式來寫入Tag,簡單又快速。
在Special版安裝程式中,是位於Optional components→General底下
或連到這裡http://pelit.koillismaa.fi/plugins/tagging.php#14
下載Plug DLL,同樣是放到foobar2000\components中
再來比較特別的是去同樣的網頁,還要下載Mutilanguage support dll
將iconv.dll這檔案放到foobar2000資料夾下就好,跟其他的有點不同
這個檔案的用途是可以在freedb masstagger中,調整想要的資料編碼
全弄好了之後,對著整張需要下載Tag的專輯按右鍵(曲目順序要對)
選freedb→Get tags,如果有資料的話就會跳出一個freedb masstagger的視窗
上方的欄位可以讓你選取不同的結果,可能是不同人上傳的資訊吧
中間有一格寫著iso-latin-1的按鈕,如果剛才iconv.dll這檔案有放對
這裡就可以點選不同的編碼。
下面就是讓你預覽曲目的資訊。
有時候連到伺服器後,會有兩種情況,一種是資料全為????,一種是亂碼
iconv.dll是用途就是用來解決亂碼,中文的專輯就選Big5,英文的基本上不會有問題
其他語言就自己按按看。
而全是???的情況下是伺服器的問題,試著連到其他伺服器
切換伺服器可在任一檔案上按右鍵,選freedb→Configure
freedb server的地方按右邊的箭頭自由切換即可。比較有問題的會是日文
可以用這個server http://freedbtest.dyndns.org:80/~cddb/cddb.cgi
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 221.169.12.123