如何使用sox将wav文件转换为mp3格式?

时间:2009-06-25 11:17:48

标签: mp3 centos wav sox

当我直接从命令行运行sox时为;

sox -r 8000 -c 1 <wavfilename> <mp3filename>

我收到以下错误消息:

  

sox:未知的输出文件格式   '747a.mp3':文件类型'mp3'不是   已知

我的机器正在运行CentOS操作系统。

4 个答案:

答案 0 :(得分:10)

您需要安装合适的MP3编码器,例如LAME,或者使用liblame支持重新编译Sox。

这与您的Perl编程无关:)

答案 1 :(得分:10)

作为替代方案(如果您只需要将Wave文件编码为MP3),您只需使用LAME即可获得相同的结果,例如:

lame -b 32 --resample 8 -a <wavefilename> <mp3filename>

LAME可以使用yum无痛地安装在CentOS上。您首先需要RPMForge存储库:

rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

然后:

yum install lame

答案 2 :(得分:4)

对于CentOS,你需要重新编译SOX(基础仓库有sox srpm),安装了libmad和lame-devel库(rpmforge有那些。)一旦完成,sox -h将列出支持的格式。安装mp3库时

sox -t wav -r 8000 -c 1 <wavfilename> -t mp3 <mp3filename>

答案 3 :(得分:0)

此处有更多信息 -

http://techblog.netwater.com/?p=4