当我尝试处理 mp3 文件时,sox 返回错误

当我尝试处理 mp3 文件时,sox 返回错误

你好,这是交易,我用过:

$ yum install sox 

在CentOS 6中安装它。之后我做了一个快速测试:

$ sox test.mp3 test.amr

这就是它返回的内容:

$ sox formats: no handler for file extension `mp3'

我需要使用soxnot来完成此lame操作,因为我需要使用它来混合和使用lame.

答案1

CentOS 上的普通版本sox不支持该mp3编解码器。这是它所支持的内容的列表。

$ sox
...
AUDIO FILE FORMATS: 8svx aif aifc aiff aiffc al amb au avr caf cdda cdr cvs cvsd
cvu dat dvms f32 f4 f64 f8 fap flac fssd gsm gsrt hcom htk ima ircam la lpc 
lpc10 lu mat mat4 mat5 maud nist ogg paf prc pvf raw s1 s16 s2 s24 s3 s32 s4 s8 
sb sd2 sds sf sl smp snd sndfile sndr sndt sou sox sph sw txw u1 u16 u2 u24 u3 
u32 u4 u8 ub ul uw vms voc vorbis vox w64 wav wavpcm wv wve xa xi
PLAYLIST FORMATS: m3u pls
AUDIO DEVICE DRIVERS: alsa ao oss ossdsp pulseaudio

您可以下载 的源 RPMsox并重新编译libmadlame-devel安装库以添加对此功能的支持。

本教程应该会有所帮助,标题为:在 CentOS 5.X 上安装支持 MP3 的 SOX,尽管它适用于 CentOS 5.x,但它仍然适用。该帖子的评论中还提供了在 CentOS 6.x 上支持sox编译的步骤。mp3

脚步

从评论来看。

CentOS 6.4无mad或libid3tag的一站式解决方案(YMMV):

### as root

$ yum install -y sox lame    
$ mkdir /usr/local/src/SoX
$ cd /usr/local/src/SoX
$ wget http://downloads.sourceforge.net/project/sox/sox/14.4.1/sox-14.4.1.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fsox%2Ffiles%2Fsox%2F14.4.1%2F&ts=1366019279&use_mirror=freefr
$ tar -xvzf sox-14.4.1.tar.gz
$ cd sox-14.4.1/
$ ./configure
$ make -s
$ make install
$ echo “include /usr/local/lib” >> /etc/ld.so.conf
$ /sbin/ldconfig

回购#1 - RPM Fusion

为了能够安装,lame您需要在您的组合中添加一个额外的 YUM Repo。包含的存储库lame称为转速融合。在我撰写本文时,将安装 RPM Fusion 存储库的最新版本的 RPM 位于:rpmfusion-nonfree-release-6-1.noarch。要安装它:

$ sudo rpm -ivh http://download1.rpmfusion.org/nonfree/el/updates/6/x86_64/rpmfusion-nonfree-release-6-1.noarch.rpm

笔记:您可能需要一个RPM 签名密钥, 具体来说这个是EL6用的

回购#2 - EPEL

安装 RPM Fusion 存储库需要另一个名为的 YUM 存储库EPEL - 企业 Linux 的额外软件包。在安装 RPM Fusion 的 RPM 之前,您还需要安装此 RPM。

$ sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

笔记:此存储库上的版本号会不时发生变化,因此最好检查最新的版本号。目前,在撰写本文时,最新版本是 6.8。您可以在上面的软件包名称“epel-release-6-8.noarch.rpm”中看到这些数字。

参考

答案2

可以轻松解决

yum install sox soxr sox-plugins-freeworld -y

sox-plugins-freeworld 包括 mp3 支持。

答案3

您需要添加对mp3编解码器的支持,在 Ubuntu 中,这是由软件包提供的:libsox-fmt-mp3

sudo apt show libsox-fmt-mp3

Package: libsox-fmt-mp3
Version: 14.4.2+git20190427-2+deb11u2ubuntu0.20.04.1
Priority: optional
Section: universe/sound
Source: sox
Origin: Ubuntu
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Debian Multimedia Maintainers <[email protected]>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 80,9 kB
Depends: libc6 (>= 2.14), libid3tag0 (>= 0.15.1b), libmad0 (>= 0.15.1b-3), libmp3lame0 (>= 3.100), libsox3 (>= 14.4.2~), libtwolame0 (>= 0.3.10)
Homepage: https://sox.sourceforge.io/
Download-Size: 16,0 kB
APT-Manual-Installed: yes
APT-Sources: http://uy.archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages
Description: SoX MP2 and MP3 format library
 SoX is the swiss army knife of sound processing.
 .
 This package contains the SoX MP2 and MP3 format library.
 Read support by libmad. MP2 and MP3 write support by libtwolame and
 libmp3lame respectively.
 .
 libmad: https://www.underbit.com/products/mad/
 lame: https://lame.sourceforge.io

要安装它:sudo apt install libsox-fmt-mp3

相关内容