这里介绍在 Mac OS X 中如何用 mac, shntool 和 lame 来完成 ape – mp3 的工作,只需要一个命令就可以完成。
mac 用我以前贴的那个。
shntool 可以 `sudo port install shntool`,但它的来源网站似乎被 GFW 了,你可以自行下载编译:
$ wget http://www.vi.kernel.org/pub/mirrors/gentoo/source/distfiles/shntool-3.0.2.tar.gz
$ tar zxf shntool-3.0.2.tar.gz
$ cd shntool-3.0.2; ./configure; make; sudo make install
lame 可以用 macports 上的:
`$ sudo port install lame`
然后这样处理 APE:
`$ shntool split -f CDImage.cue -t ‘%p – %t’ -o ‘cust ext=mp3 lame –quiet – %f’ CDImage.ape`
其中 -t ‘%p – %t’ 是指定生成文件的标题,%p 表示 Performer,%t 表示 Title,都是从 cue 中读出的。’cust ext=mp3 lame –quiet – %f’ 表示输出文件用 lame 处理,默认参数,你当然可以在这里调整 lame 的参数。
举例如下:
$ shntool split -f CDImage.cue -t "%p - %t" -o 'cust ext=mp3 lame --quiet - %f' CDImage.ape
shntool [split]: warning: discarding initial zero-valued split point
Splitting [CDImage.ape] (40:14.15) --> [Joe Hisaishi - Summer.mp3] (6:25.32) : 100% OK
Splitting [CDImage.ape] (40:14.15) --> [Joe Hisaishi - Going Out.mp3] (1:17.35) : 100% OK
Splitting [CDImage.ape] (40:14.15) --> [Joe Hisaishi - Mad Summer.mp3] (2:55.13) : 100% OK
Splitting [CDImage.ape] (40:14.15) --> [Joe Hisaishi - Night Mare.mp3] (1:50.52) : 100% OK
Splitting [CDImage.ape] (40:14.15) --> [Joe Hisaishi - Kindness.mp3] (1:58.23) : 100% OK
Splitting [CDImage.ape] (40:14.15) --> [Joe Hisaishi - The Rain.mp3] (5:38.70) : 100% OK
Splitting [CDImage.ape] (40:14.15) --> [Joe Hisaishi - Real Eyes.mp3] (3:16.52) : 100% OK
Splitting [CDImage.ape] (40:14.15) --> [Joe Hisaishi - Angel Bell.mp3] (3:13.20) : 100% OK
Splitting [CDImage.ape] (40:14.15) --> [Joe Hisaishi - Two Hearts.mp3] (2:01.33) : 100% OK
Splitting [CDImage.ape] (40:14.15) --> [Joe Hisaishi - Mother.mp3] (2:13.57) : 100% OK
Splitting [CDImage.ape] (40:14.15) --> [Joe Hisaishi - River Side.mp3] (6:14.40) : 100% OK
Splitting [CDImage.ape] (40:14.15) --> [Joe Hisaishi - Summer Road.mp3] (3:08.38) : 100% OK
-f 参数指定读取切割点的文件,如果不指定则从标准输入读取,所以,如果 cue 文件是 GBK 编码的,我们可以:
`$ iconv -f gbk -t utf-8 CDImage.cue | shntool split -t “%p – %t” -o ‘cust ext=mp3 lame –quiet – %f’ CDImage.ape`
就完成了 GBK 到 UTF-8 的转码。速度还是挺快的,估计它用 pipe 来把 mac 的输出送给 lame,因此这两个进程可以并行跑,CPU 能跑到 120% 的样子。
这个办法的好处是非常简单,不需要另外写程序,唯一的缺点是只能依靠 cue 的信息,也没有自动加上 MP3 的 ID3 Tag,不太方便直接导入 iTunes 中,不过我们可以写个后期处理的程序 (比如利用 cue 给出的一些信息,或者用 shntool 输出的 WAVE 信息,调用 freedb/cddb 的服务,或者根据 mp3 来调用 MusicBrainz 的服务) 给它加上 tag。