Ubuntu下用cue文件对ape和wav文件自动分轨
很多音乐CD的镜像文件都带cue格式的分轨文件,在Ubuntu Linux下可以通过一些工具来实现自动分轨。
一、Ubuntu下需要安装的工具有flac,shntool,libav-tools
$ sudo apt-get install flac shntool libav-tools
要对ape直接分轨的话需要linux版的mac编解码器,编译安装;或者,先将ape文件转换为wav或falc格式。
二、对cue索引的flac分轨:
$ shntool split -t "%n.%p-%t" -f example.cue -o flac music.flac -d outputdir
-d 指定分轨后的falc文件的输出目录,不指定的话在当前目录生成
-t 指定输出文件的文件名格式,%n是音轨号,%p是演奏者/艺术家, %t标题
对ape分轨也类似
$ shntool split -t "%n.%p-%t" -f example.cue -o ape example.ape -d outputdir
目前发现ape分轨成多个ape似乎会出现错误无法处理,但是将ape分轨然后转码成其他格式(flac,mp3…)是没有问题的,flac和其他格式之间没有问题。
cue文件的字符集最好与系统当前使用的字符集相同,否则最好用iconv 转码后进行,否则最后生成的文件名可能乱码。
$ iconv -f gb18030 -t utf8 CDImage.cue -o CDImage-linux.cue
$ dos2unix CDImage-linux.cue
三、将ape转换为wav或flac格式
$ avconv -i CDImage.ape CDImage.flac //ape----->flac, 以前用ffmpeg,现在用avconv
$ avconv -i CDImage.wav CDImage.flac //wav----->flac
$ avconv -i CDImage.ape CDImage.wav //ape---->wav
四、其它格式转换
$ flac CDImage.wav CDImage.flac //wav---->flac
$ shnconv -i ape -o flac CDImage.ape //ape----->flac
$ shnconv -i flac -o ape CDImage.flac //flac----->ape
五、附脚本 audio-cue-split.sh
#/bin/bash
if [ $# -ne 2 ]
then
echo "example: audio-cue-split.sh CDImage.wav wav"
echo "Note: The cue file must has the same name with the audio file."
echo -e "Note: DECODE_MODULE: wav, flac, etc"
exit
fi
AUDIO_FILE=$1
DECODE_MODULE=$2
FILE_PREFIX=`echo $AUDIO_FILE | sed "s/.$DECODE_MODULE$//"`
if [ "$DECODE_MODULE" = "ape" ]
then
FLAC_FILE=$FILE_PREFIX.flac
#ffmpeg -i "$AUDIO_FILE" "$FLAC_FILE"
avconv -i "$AUDIO_FILE" "$FLAC_FILE"
AUDIO_FILE=$FLAC_FILE
DECODE_MODULE='flac'
CONVERT="true"
fi
CUE_FILE=$FILE_PREFIX.cue
CUE_FILE_LINUX=$FILE_PREFIX-linux.cue
#echo AUDIO_FILE=$AUDIO_FILE
#echo DECODE_MODULE=$DECODE_MODULE
#echo FILE_PREFIX=$FILE_PREFIX
#echo CUE_FILE=$CUE_FILE
iconv -f gb18030 -t utf8 "$CUE_FILE" -o "$CUE_FILE_LINUX"
dos2unix "$CUE_FILE_LINUX"
shntool split -t "%n-%t" -f "$CUE_FILE_LINUX" -o $DECODE_MODULE "$AUDIO_FILE"
if [ "$CONVERT" = "true" -a "$FLAC_FILE" != "" ]
then
rm -f "$FLAC_FILE"
fi
注:以上脚本在Ubuntu Kylin 14.04下测试通过。
Ubuntu下用cue文件对ape和wav文件自动分轨的更多相关文章
- ubuntu下整合eclipse和javah生成jni头文件开发android的native程序
0:前言: 这两天一直在研究用android的jni调用第三方库,上网搜方法,但是都是泛泛而谈,没有demo,经过我几番折磨,写了n多的helloword工程,总是不成功,工程名字也就由helloow ...
- ubuntu下整合eclipse和javah生成jni头文件开发android的native程序(转)
本文介绍两种利用javah命令生成jni头文件的方法,第一种为大众所知的javah命令,第二种为整合javah到eclipse里面.推荐第二种方式,方便快捷,随时修改随时生成 0:前提和条件: 1:u ...
- Linux之Ubuntu下如何查看已安装的软件/库文件【摘抄】
本文属于实用性质,且属于摘抄别处,出自:[Ubuntu 下如何查看已安装的软件](http://blog.csdn.net/m1205979825/article/details/40855583) ...
- Ubuntu下 QT添加外部链接库(.so文件)示例
参考:https://blog.csdn.net/KKALL1314/article/details/81915354 https://forum.qt.io/topic/80301/file-not ...
- [转]ubuntu下整合eclipse和javah生成jni头文件开发android的native程序
转载自:http://blog.csdn.net/jiuyueguang/article/details/9404237 本文介绍两种利用javah命令生成jni头文件的方法,第一种为大众所知的jav ...
- Ubuntu 下用命令行快速打开html,mp3等文件
想用命令行打开网页文件,实现方法如下: 1.Ctrl+Alt+T可以打开shell,F11可以全屏显示,输入以下命令即可打开js17.html,并且指定浏览器,比如指定chrome, google-c ...
- ubuntu下以16进制形式查看class文件、反编译class文件
参考:https://blog.csdn.net/xyh930929/article/details/83860464 1.vim HelloWorld.class 2.输入英文状态下的冒号:,然后输 ...
- ubuntu下minicom和USB转串口(转)
ubuntu下minicom和USB转串口(转) minicom是linux下串口通信的软件,它的使用完全依靠键盘的操作,虽然没有“超级终端”那么易用,但是使用习惯之后读者将会体会到它的高效与便利 ...
- 2010-01-20 12:09 ubuntu下minicom的安装及使用
转http://hi.baidu.com/npugtawqdnbgqrq/item/106f805409b42813db163527 ubuntu下minicom的安装及使用 安装: sudo apt ...
随机推荐
- jQuery修炼心得-DOM节点的插入
1. 内部插入append()与appendTo() append:这个操作与对指定的元素执行原生的appendChild方法,将它们添加到文档中的情况类似. appendTo:实际上,使用这个方法是 ...
- MySQL存储过程_创建-调用
阅读目录:MySQL存储过程_创建-调用-参数 存储过程:SQL中的"脚本" 创建存储过程 调用存储过程 存储过程体 语句块标签 存储过程的参数 in:向过程里传参 out:过程向 ...
- 关于dom脚本编程的一些优秀理念总结
1.平稳退化(优雅降级) 目的:当浏览器不支持js或者js被用户禁用时,做到即使不运行js,网页的可读性亦不会受到太大的影响. 理念:使用最新的技术面向高级浏览器构建最强的功能及用户体验,然后针对低级 ...
- TreeSet对非自然顺序元素的排序
/* 1. 往TreeSet添加元素的时候,如果元素本身具备了自然顺序的特性,那么就按照元素自然顺序的特性进行排序存储. 2. 往TreeSet添加元素的时候,如果元素本身不具备自然顺序的特性,那么该 ...
- 多源最短路Floyd 算法————matlab实现
弗洛伊德(Floyd)算法是一种用于寻找给定的加权图中顶点间最短路径的算法.该算法名称以创始人之一.1978年图灵奖获得者.斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名. 基本思想 通过Floyd计 ...
- 1013 Realtime Status
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission( ...
- (转载)提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
- JDK安装以及安装过程中出现的问题(日志二)
上一篇:初识hadoop-历史及其家族(日志一) 我安装的这个版本的Ubuntu,已经在java包中存在了,所以当使用java -version的时候,会出现下载包的提示,使用apt-get命令之后, ...
- jQuery选择器的优点
jQuery选择器的优点 相信小伙伴们对选择器并不陌生,从css1到css3的选择器有很多,但是JQuery都能完美的支持,而且API操作起来也特别方便好用,在很大程度上精简了代码,节约了很多性能.那 ...
- c#接口使用详解
c#接口使用详解 c#中接口隐式与显示实现 c#中接口可以隐式实现.显示实现,隐式实现更常使用.显示实现较少使用 其区别在于 显示实现避免接口函数签名冲突 显示实现只可以以接口形式调用 显示实现其子类 ...