如何向 sox 添加 mp3 处理程序?

kev*_*kev 118 mp3 bash sox ubuntu

我想在终端中播放音乐sox

# install sox/lame
sudo apt-get install sox
sudo apt-get install lame

# play music
play music.mp3
# play FAIL formats: no handler for file extension `mp3'

# mp3 -> wav
lame --decode music.mp3 music.wav

# play music
play music.wav
Run Code Online (Sandbox Code Playgroud)
~ $ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04 LTS"

~ $ sox --version
sox: SoX v14.3.2
Run Code Online (Sandbox Code Playgroud)

的大小music.wav是 的+10 倍music.mp3
我不想全部转换*.mp3*.wav.
是否可以将 mp3-handler 添加到 sox?

kev*_*kev 281

安装 libsox-fmt-mp3:

sudo apt-get install libsox-fmt-mp3
Run Code Online (Sandbox Code Playgroud)

  • @kev,您应该选择此作为已接受的答案。此外,还有一个 `libsox-fmt-all` 包可以安装 mp3 格式以及所有其他可用格式。 (16认同)
  • +1,这应该是公认的答案,因为它也允许播放以外的其他事情,例如转换(例如,如果没有这个包,`sox input.wav output.mp3` 将无法工作) (8认同)
  • 安装 libsox-fmt-mp3 并运行后,我得到一个:sox WARN mp3-util: MAD lost sync (3认同)
  • 我发现之后我还需要升级 sox;所以在上面的命令中添加“sox”并没有什么坏处。 (2认同)

eep*_*epp 7

管道?

lame --decode music.mp3 - | play -
Run Code Online (Sandbox Code Playgroud)

不会留下任何痕迹。

  • 问题是关于袜子处理程序的。这绝对不是袜子:) (19认同)
  • @Elektordi `play` 命令是 SoX。它基本上是`sox -d`。就像 `ffmpeg` 和 `ffplay`。 (2认同)