[zz]将所有其他格式的音频文件转化成mp3格式的方法

sh/bash/dash/ksh/zsh等Shell脚本
回复
daniel.supremacy
帖子: 133
注册时间: 2008-12-12 15:35
送出感谢: 0
接收感谢: 0

[zz]将所有其他格式的音频文件转化成mp3格式的方法

#1

帖子 daniel.supremacy » 2008-12-12 16:53

想放相声到mp3里听,但是下到的rm格式mp3播放器不能识别,所以只好转化成mp3,找了好久,
终于在国外网上找到了这一篇:
http://ubuntuforums.org/showthread.php?t=218246
另外这边的论坛没有人贴,所以将他的原码重新贴一遍(加上鄙人的注释,以及将格式改de好看le一点:-P ):

代码: 全选

#!/bin/bash

#下面这行我认为用不到,除非用到了一些参量,不过后面也应该加cd $1之类的行
current_directory=$( pwd )

#remove spaces
for i in *.ram; do
   mv "$i" `echo $i | tr ' ' '_'`;
done
#这里是查找.ram,所以上面网址的楼主在后面的解释里说.wma的应该是搞错了。
#所以要是要修改rm文件的话,首先要把这里包括下面的.ram改成.rm,我就是这么做di...

#remove uppercase
for i in *.ram; do
   mv "$i" `echo $i | tr '[A-Z]' '[a-z]'`;
done
#上面的两段for可以适当修改,因为很多时候,我们的文件是中文名的,我想他改这些的目的是为了文件能正确的被识别
#比如我这边要转化的文件中有[],但没有小写的a,b,...<当然有rm>,所以我就将\[改成a,\]改成b,到末尾,我再将a跟b改回了\[, \]
#这里的大小写似乎可以不用改的,不知道改了什么用...谁测试了告诉我^_^
#(反正这两段都不是主题要做的事情,下面的才是:)

#Rip with Mplayer / encode with LAME
for i in *.ram ; do
   mplayer -vo null -vc dummy -af resample=44100 -ao pcm:waveheader $i && lame -m s audiodump.wav -o $i;
done

#convert file names
for i in *.ram; do
   mv "$i" "`basename "$i" .ram`.mp3";
done

rm audiodump.wav
#上面的是删除临时文件


其他的都OK,除了那几行
我没有深究,反正拿来就可以用了,哈哈
插件什么的,大伙自个儿查查吧,mplayer肯定是要的,我还安装了lame以及mencoder,不知道mencoder有没有用到
看lame中的解释应该算是mp3要用的
apt-get或者新立得安装都OK
回复

回到 “Shell脚本”