odtwarzać plik mp3 lub wav za pomocą wiersza poleceń systemu Linux

77

Chciałbym stworzyć system alarmowy wspierany przez system Ubuntu (bez interfejsu graficznego), który odtwarza różne ścieżki dźwiękowe ogłoszeń i alarmów (.mp3 lub .wav) za pomocą wiersza poleceń.

Na przykład:

$ root> audioplay ./hello.wav

Dźwięk powinien pochodzić z gniazda audio komputera. Mogę też owinąć go innym nasłuchiwaniem gniazd. (np. Ruby Sinatra)

Jakieś pomysły, jak to zrobić?

c2h2
źródło
1
Na wypadek, gdybyś szukał np. Plików: /usr/share/soundsjest dobrym miejscem do ich szukania.
Martin Thoma,

Odpowiedzi:

48

mpg123 to narzędzie wiersza polecenia, które odtwarza pliki mp3. Możesz zainstalować go w Ubuntu za pomocą:

sudo apt-get install mpg123
pavium
źródło
7
To nie odtwarza plików WAV.
Cerin
70

playKomenda z soxpakietu zagra dowolnego formatu pliku obsługiwanego przez soxużyciu domyślnego urządzenia audio, np

$ play something.mp3
$ play something.wav

Konieczne może być zainstalowanie dodatkowych pakietów, aby uzyskać wsparcie dla wszystkich formatów, na przykład w Ubuntu 11.04 obsługa MP3 nie jest dostępna do momentu instalacji libsox-fmt-mp3.


źródło
1
obsługuje również pliki ogg (i prawdopodobnie inne).
lepe
1
W Ubuntu Xenial jest libsox-fmt-allpakiet do zainstalowania wszystkich formatów.
Eugene Gr. Philippov,
59

Najbardziej standardowym sposobem odtwarzania pliku WAV w systemie Linux jest użycie aplaypolecenia, które jest częścią ALSAsystemu.

aplay [flags] [filename [filename]] ...

aplay a.wav

Linki: (Wikipedia) (strona podręcznika użytkownika aplay)

(Zarówno w Fedorze, jak i Ubuntu / Mint jest częścią alsa-utilspakietu)

Nie wymaga to żadnych dodatkowych pakietów do instalacji Linuksa, takich jak sox, mplayer lub vlc, tylko podstawowy ALSA, który jest obecnie częścią dowolnego systemu.

Maksyma
źródło
5
Dzięki za wskazówkę! Dodałem ten alias do mojej konfiguracji powłoki: alias beep = "aplay --quiet /usr/share/sounds/pop.wav". W ten sposób mogę otrzymać powiadomienie, gdy zakończą się długo działające polecenia. Na przykład: skompiluj i uruchom i wyślij
Jesse Hallett,
1
Tak, Jesse! Robię dokładnie to samo z kompilacją (konwersje długich plików itp.). Używam dźwięków stąd: „Dźwięki Opilki” (są na licencji Creatve Commons) wybacz mi tę drobną reklamę, nie jestem w żaden sposób związany z projektem :)
Maxim
Bardzo łatwe i już wszędzie zainstalowane. +1
Pitto
4
Pamiętaj, że nie można odtwarzać plików MP3 aplay. Po prostu dostaniesz się statyczny.
starbeamrainbowlabs,
@starbeamrainbowlabs, pisałem tylko o plikach WAV!
Maxim
22

Zainstaluj vlcza pomocą:

sudo apt-get install vlc vlc-plugin-pulse mozilla-plugin-vlc

Upewnij się, że wszystkie repozytoria są otwarte. Przed instalacją uruchom także następujące czynności:

sudo apt-get update

VLC ma wywołaną przez linię operacyjną metodę operacji cvlc. Następną częścią byłoby napisanie .shkomendy, która wywoła polecenie. Nie jestem dobry w pisaniu skryptów bash. Rezultatem końcowym byłoby coś takiego:

cvlc xyz.mp3
cvlc --play-and-exit done.mp3 
prometheuspk
źródło
1
CVCC jest zbyt wolny, aby uruchomić? i potrzebujesz uruchomić użytkownika innego niż root?
c2h2
1
cvlc --play-and-exit done.mp3jeśli nie chcesz ctrl-c to.
Michael Cole,
cvlc --play-and-exit --no-loop done.mp3. Potrzebuję dodatkowej opcji --no-loop, aby plik dźwiękowy nie był powtarzany w kółko. (vlc 2.2.2, Xubuntu 16.04.4)
loved.by.Jesus 18.04.18
8

W systemie Ubuntu 16.04 nie trzeba niczego instalować. Możesz odtwarzać dźwięk za paplay [audio]pomocą za pomocą jest częścią serwera dźwięku PulseAudio:

paplay mysound.mp3
mxdsp
źródło
7

Możesz po prostu przesłać dane dźwiękowe do komputera z głośnikiem:

cat rawsound | /dev/pcsp
troelskn
źródło
1
Bardzo wątpię, czy zadziała z plikami MP3.
2
Oczywiście nie będzie działać z dźwiękiem zakodowanym w formacie mp3, ale będzie działać z surowymi danymi wav
troelskn
3
Nie mam urządzenia / dev / pcsp. Co jeszcze mogę spróbować?
trusktr
Dostaję „cat: rawsound: Datei oder Verzeichnis nicht gefunden”
Timo,
7

mplayer to kolejny odtwarzacz, który może odtwarzać praktycznie dowolny format audio / wideo z wiersza poleceń. aby zainstalować go w Ubuntu, po prostu wykonaj następujące polecenie:

sudo apt-get install mplayer

możesz następnie odtworzyć plik przy użyciu tej składni:

mplayer [path to file]

powodzenia!

Ali Parsai
źródło
0

canberra-gtk-play

W przypadku prostych skryptów bash mplayer jest prawdopodobnie nieco zbyt ciężki i zbyt szczegółowy pod względem wydajności. Wbudowana opcja jest canberra-gtk-playpreinstalowana na Ubuntu:

canberra-gtk-play --file=/usr/share/sounds/gnome/default/alerts/drip.ogg

Uwaga: używa głośności alertów i musisz przejść --file=, aby odtworzyć plik ze ścieżki.

Może także odtwarzać dźwięk według identyfikatora, który reprezentuje nazwę pliku bez rozszerzenia plików multimedialnych /usr/share/sounds(najwyraźniej działa to tylko w przypadku dźwięków zarejestrowanych jako część motywu dźwiękowego):

canberra-gtk-play --id="desktop-login"

canberra-gtk-play --id="message"

gst-launch-1.0 / gst-launch-0.10

Inną opcją jest użycie narzędzi wiersza poleceń gstreamer , które są obecne w większości nowoczesnych Linuksów:

gst-launch-1.0 playbin uri=file:///usr/share/sounds/ubuntu/stereo/message.ogg

Aby wyłączyć wszystkie dane wyjściowe, przekieruj je do /dev/null:

gst-launch-1.0 playbin uri=file:///usr/share/sounds/ubuntu/stereo/message.ogg > /dev/null 2>&1

Zarówno gst-launch-1.0i gst-launch-0.10może być obecny w systemie.

ccpizza
źródło
0

dodając odpowiedź dla osób, które tu przejdą (pytanie ma rok 2011, teraz mam 2019), ponieważ znalazłem inny sposób:

ffmpeg jest zainstalowany na moim Ubuntu 19.04

Więc:

$ ffplay music.mp3 

-nodisp
hide spectrum analyzer

-nostats
hide cursor/file informations

-hide_banner
hide build informations


hide all (no output):
$ ffplay music.mp3 -nodisp -nostats -hide_banner

ciesz się 🤙

Gromish
źródło