Jak dodać program obsługi mp3 do sox?

92

Chcę odtwarzać muzykę w terminalu 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

~ $ 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

Rozmiar music.wavjest +10 razy większy niż music.mp3.
Nie chcę konwertować wszystkich *.mp3na *.wav.
Czy można dodać obsługę plików mp3 do sox?

kev
źródło
na jakiej dystrybucji Linuksa jesteś ... i na jakiej wersji dystrybucji i sox używasz ... także uruchamiasz sox -hkodeki raportów obsługiwane przez program ... sprawdź, czy mp3 jest tam obsługiwane ...
user1055604
1
zamiast obecnie przyjętej odpowiedzi (lame / pipe), poprawną / najprostszą odpowiedzią jest instalacja libsox-fmt-all superuser.com/a/421168/73961
michael

Odpowiedzi:

5

Rura?

lame --decode music.mp3 - | play -

Nie pozostawi żadnych śladów.

eepp
źródło
9
Pytanie dotyczyło obsługi SOX. To zdecydowanie nie jest sox :)
Elektordi
możesz także potokować do sox
Scott
223

Zainstaluj libsox-fmt-mp3:

sudo apt-get install libsox-fmt-mp3
kev
źródło
Przekonałem się, że muszę też później zaktualizować sox; więc dodanie „sox” do powyższego polecenia nie zaszkodzi.
jcomeau_ictx
To mi nie działa. Nawet po tym, aptitude reinstall soxjak wciąż dostaję, SoX was compiled without MP3 encoding supportkiedy próbuję biegać soxpóźniej. (Chociaż wprawdzie nadal używam Lucid, to może działać lepiej na nowocześniejszym Ubuntu.)
zrajm
10
@kev, powinieneś wybrać to jako zaakceptowaną odpowiedź. Ponadto istnieje libsox-fmt-allpakiet, który instaluje format mp3, a także wszystkie inne dostępne formaty.
naught101
7
+1, to powinna być zaakceptowana odpowiedź, ponieważ pozwala również na inne rzeczy poza graniem, na przykład konwersję (np. sox input.wav output.mp3Nie będzie działać bez tego pakietu)
pascalhein
3
po zainstalowaniu libsox-fmt-mp3 i uruchomieniu go otrzymuję: sox WARN mp3-util: MAD stracił synchronizację
kroe