Tag Archive for 'lossless'

ubuntu linux下使用.cue对flac/ape分轨及转码

经常从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 -t "%n.%p-%t" -f example.cue -o flac example.flac -d output
-d 指定分轨后的falc文件的输出目录,不指定的话在当前目录生成
-t 指定输出文件的文件名格式,%n是音轨号,%p是演奏者/艺术家, %t标题

对ape分轨也类似,
$ shntool split -t "%n.%p-%t" -f example.cue -o ape example.ape -d output
另外,通过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,还没找到解决的办法,只能手工来了

Update: 对于分轨的tagging,可以使用Exfalso这个工具(最近发现EasyTAG也能实现),它有一项功能“tags from path”可以实现,这个工具是quod libet播放器的一部分