经常从verycd.com上下载音乐,不少是高质量的ape和flac格式的(恩,verycd真是个好东西~),但是linux下貌似还没有播放器支持cue索引的ape/flac镜像(?),更严重的是我的COWON D2虽然支持ape/flac,但是同样不支持cue文件。在网上搜索了一通,解决办法总结如下。
需要的工具有flac,shntool ,ubuntu下安装:
$sudo apt-get install flac shntool
要对ape分轨的话需要linux版的mac编解码器,编译安装
对cue索引的flac分轨:
$ shntool split -f Whitney.Houston.cue -t ‘%n.%t’ -o flac Whitney.Houston.flac
-d 指定分轨后的falc文件的输出目录,不指定的话在当前目录生成
-t 指定输出文件的文件名格式,%n是音轨号,%p是演奏者/艺术家, %t标题
对ape分轨也类似,
ape 到 flac
shntool split -f 依然 范特西.cue -t ‘%n.%t’ -o flac 依然范特西.ape
另外,通过shntool,还可以把ape/flac镜像转换成其他音频格式,例如,要转换成mp3的话,
$ sudo apt-get install lame
$ shntool split -t “%n.%p-%t” -f example.cue -o ‘cust ext=mp3 lame –r3mix -b 320 –quiet - %f’ example.flac -d output
PS,
• 目前发现ape分轨成多个ape似乎会出现错误无法处理,但是将ape分轨然后转码成其他格式(flac,mp3…)是没有问题的,flac和其他格式之间没有问题;
• cue文件的字符集最好与系统当前使用的字符集相同,否则最好用iconv 转码后进行,否则最后生成的文件名可能乱码;
• 给shntool指定-t参数虽然可以按照cue文件内容格式化输出的文件名,但是似乎还没有办法给文件tagging,还没找到解决的办法,只能手工来了