作者jumpdc (CD无限购入)
看板AVEncode
标题[教学] foobar2000 tag乱码、freedb查询资料相关设定
时间Thu Jan 13 02:27:43 2005
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
1F:推 hjdmeury:好复杂的标签系统...总算知道为何标签会错 218.160.39.188 01/13
2F:→ hjdmeury:乱,原来是APEv1&2和ID3v2的互不相容格式 218.160.39.188 01/13
3F:→ hjdmeury:foobar的设定也未免太复杂了点... 218.160.39.188 01/13
※ 编辑: jumpdc 来自: 221.169.12.123 (02/02 14:25)
4F:推 iht:推~我终於成功看到非乱码的歌名了><感谢! 218.171.210.220 02/07