Wordpress themes are available for download at wordpress-related website.

Uncategorized mmpower on 14 Apr 2008 01:35 pm

[民工日记]自己写个简单MP3 ID3 tag转码工具

MP3 ID3 tag自动转码工具

老版本ID3 tag的标准本来只支持ISO-8859-1,也就是只能用西方拉丁字母。新的ID3 tag还支持Utf-16, 所以中文啊越南文之类的都能支持了。

问题是许多网上的mp3歌曲id3 tag编码很不规范。。。拿我来说吧,我有7000多首中文mp3。。。而这些中文歌曲的Id3编码是五花八门:

Gb2312/big5/big5hkjcs 甚至utf-8都有,还有很多根本没有tag而是把作者和歌名都放在文件名上。 这样听歌的时候就比较头痛了--在播放器里不知道现在听的是什么歌, 哪个歌手、专辑等。浏览、搜索歌曲也很不方便。在windows还好点,因为许多windows上的jukebox支持GBK编码能看不少繁体字,但到了苹果的OSX上就无法忍受了:OSX只支持unicode, itunes严格只支持ISO-8859-1和UTF-16.

查了一下网上,有些工具但没法满足我的要求:或者只能一次转几个文件--我几千个文件在几百个目录里怎么搞啊,或者一次只支持一种编码的转换--这有个问题:比如用gb2312来转,会把用big5/utf-8码的文件tag弄坏了。

所以只好自己动手写个小utility了。。。

这是个简单python script, 基于一位在英国的澳洲华人写的开源pytagger library (http://www.liquidx.net/pytagger/) , 以及他的tagencoder程序。

pytagger被我稍微改动了一下增强robustness.

下载: 点击下载

用法:

–下载后把文件后缀改为 .tar.gz (或.tgz)

--系统需求:需要在机器上有python. unix/linux一般都有,windows自己去python.org下载安装就行了。

在命令行敲:
python ConvertMp3.py < 目录名>

-- 自动 将该目录下以及所有子目录下所有.mp3 和.mp2文件的ID3 tag转换成 UTF-16.

– 如果id3 tag的"title"/"artist"空白, 自动根据文件名和路径填上。

可能的enhancement: 自动根据网上的音乐识别服务鉴别mp3的信息并填写tags. 注意不是指CDDB一类识别CD tracks的,而是根据声学曲线识别音乐(acoustics recognition)的musicBrainz一类服务。但是目前musicBrainz里中文歌曲信息太少所以效果估计不好。

11 Responses to “[民工日记]自己写个简单MP3 ID3 tag转码工具”

  1. on 14 Apr 2008 at 1:46 pm 1.安普若 said …

    标题:你早写啊,我去年手工改的,改了一个星期。才把2000首中文歌曲改完。——不过,我要替以后的人谢谢你。

    这个东西确实有用。好!

  2. on 14 Apr 2008 at 3:50 pm 2.Link said …

    标题:nice code! 收藏了!

  3. on 14 Apr 2008 at 6:48 pm 3.错误 said …

    标题:补充和建议

    针对windows用户:如果没有python要装python,默认装到 C:\\Python25 泡泡的那一堆文件也要解压缩到 C:\\Python25 目录(否则需要设置PATH)

    运行的时候: Start -> Run -> cmd -> OK
    > c:
    > cd c:\\Python25
    > python.exe ConvertMp3.py \"C:\\Audio Folder\\dir2\"

    注:如果文件夹名字里面有空格,则需要用双引号(上例)。

    另外,针对不能正确显示UTF8的软件,需要设置:

    Control Panel -> Regional and Language Options -> Advanced -> \"Select a language to match the language version of the non-Unicode programs you want to use\" -> 选择 Chinese(PRC)

    ———————-分割线 ——————–

    建议:大家晒晒自己的歌单怎么样?下面几个简单的命令(windows下)

    假设所有音乐都放到这个文件夹下了: c:\\Music\\

    Start -> Run -> cmd -> OK
    输入命令: tree \\F \"c:\\Music\" > musiclist.txt

    然后把 musiclist.txt 里面的内容贴上来:)

  4. on 14 Apr 2008 at 11:30 pm 4.goldenboy said …

    标题:自动显示、保存iTune歌词- Sing that iTune

    link http://www.apple.com/downloads/dashboard/music/singthatitune.html,

    可惜只有Mac OS X版。

  5. on 15 Apr 2008 at 1:15 am 5.mmpower said …

    标题:你一说还真觉得对iPhone / iPod 用户没准有点用 :)

  6. on 15 Apr 2008 at 1:18 am 6.mmpower said …

    标题:谢谢错误!晒歌单民工不敢的说。。。

  7. on 15 Apr 2008 at 1:22 am 7.mmpower said …

    标题:谢谢金童!

  8. on 15 Apr 2008 at 1:38 pm 8.costco said …

    标题:好东西,早就想有一个了。

  9. on 16 Apr 2008 at 6:42 am 9.江志 said …

    标题:泡兄, 我的black berry的中文歌怎么显示?

    我下载了中文OS可以看中文的邮件了,但是歌名还是乱码.

  10. on 16 Apr 2008 at 10:41 am 10.mmpower said …

    标题:你可以试试转码

    试试我的script把文件转了后再拷到blackberry上, 如果你是指在播放器里的歌名的话。

    否则把文件名转一下试试。

    我没有blackberry, 因此无法体验并提供准确建议。。。

    转之前一定先做好备份以防万一

  11. on 17 Apr 2008 at 3:46 am 11.海音音 said …

    标题:POWER M 能人A。这么地大拿,很钻A。

Trackback This Post | Subscribe to the comments through RSS Feed

Leave a Reply

校验码:  

Buy movie . Why buy movies at the store while you can download complete movies at our home? You can pay with your credit card. Lowest prices over the Internet.

21 queries in 0.197 seconds.© 2004-2008.   海归博客. RSS Comments RSS