2011-04-27 12:58:56 +0000 2011-04-27 12:58:56 +0000
81
81

mp3 of wav bestand afspelen via Linux command line

Ik wil graag een alarmsysteem maken dat ondersteund wordt door een Ubuntu (geen grafische interface) box, die via de command line verschillende aankondigings- en alarmtracks (.mp3 of .wav) afspeelt.

Bijvoorbeeld:

$ root> audioplay ./hello.wav

De audio moet afkomstig zijn van de PC audio jack. Ik kan het ook inpakken met een andere socket listener. (b.v. Ruby Sinatra)

Enig idee hoe ik dit kan doen?

Antwoorden (8)

61
61
61
2012-11-28 06:20:06 +0000

De meest standaard manier om een WAV-bestand in Linux af te spelen is met het aplay commando, dat deel uitmaakt van het ALSA systeem.

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

aplay a.wav

Links: (Wikipedia) (aplay man page)

(zowel in Fedora als in Ubuntu/Mint is het onderdeel van het alsa-utils pakket)

Dit vereist geen extra pakketten voor je Linux installatie zoals sox of mplayer of vlc, alleen de basis ALSA die tegenwoordig deel uitmaakt van elk systeem.

48
48
48
2011-04-27 13:14:11 +0000

mpg123 is een commandoregelprogramma dat mp3-bestanden afspeelt. Je kunt het in Ubuntu installeren met:

sudo apt-get install mpg123
23
23
23
2011-04-28 04:48:27 +0000

Installeer vlc met behulp van:

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

Zorg ervoor dat u alle opslagplaatsen open heeft. Voer ook het volgende uit voordat u installeert:

sudo apt-get update

VLC heeft een door cvlc aangeroepen commandline-bedieningsmethode. Het volgende deel zou zijn om een .sh te schrijven die het commando aanroept. Ik ben niet goed in het schrijven van bash scripts. Het eindresultaat zou iets zijn als:

cvlc xyz.mp3
cvlc --play-and-exit done.mp3
8
8
8
2011-04-27 13:03:10 +0000

U kunt eenvoudigweg uw geluidsgegevens doorsturen naar de pc-luidspreker:

cat rawsound | /dev/pcsp
7
7
7
2013-08-20 13:35:34 +0000

mplayer is een andere speler die vrijwel elk audio/video formaat kan afspelen vanaf de commandoregel. Om het in ubuntu te installeren voer je gewoon dit commando uit:

sudo apt-get install mplayer

dan kun je het bestand afspelen met deze syntaxis:

mplayer [path to file]

veel geluk!

7
7
7
2017-03-08 11:16:46 +0000

Op Ubuntu 16.04 is het niet nodig om iets te installeren. U kunt een geluid afspelen met behulp van paplay [audio] met is onderdeel van de PulseAudio geluidsserver :

paplay mysound.mp3
1
1
1
2019-05-07 16:37:44 +0000

een antwoord toevoegen voor mensen die hier langskomen (vraag is 2011 oud, mijn nu is 2019), want ik heb een andere manier gevonden:

ffmpeg is geïnstalleerd op mijn ubuntu 19.04

dus:

$ 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

genieten

0
0
0
2016-11-16 08:05:47 +0000

canberra-gtk-play

Voor eenvoudige bash scripts is mplayer waarschijnlijk iets te zwaar en te verboosd in termen van output. Een ingebouwde optie is canberra-gtk-play die voorgeïnstalleerd is op ubuntu:

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

Opmerking: het gebruikt het waarschuwingsvolume, en je moet --file= passeren om een bestand van een pad af te spelen.

Het kan ook een geluid op id afspelen dat de bestandsnaam zonder extensie van mediabestanden onder /usr/share/sounds weergeeft (blijkbaar werkt dit alleen voor geluiden die geregistreerd zijn als onderdeel van een geluidsthema):

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

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

gst-launch-1. 0/gst-launch-0.10

Een andere optie is het gebruik van de gstreamer command line tools die op de meeste moderne linuxboxen aanwezig zijn:

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

Om alle uitvoer te onderdrukken wordt deze omgeleid naar /dev/null:

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

Zowel gst-launch-1.0 als gst-launch-0.10 kunnen op uw systeem aanwezig zijn.