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

riprodurre file mp3 o wav tramite la riga di comando di Linux

Vorrei realizzare un sistema di allarme supportato da un box Ubuntu (senza interfaccia grafica), che riproduce varie tracce audio di annunci e allarmi (.mp3 o .wav) tramite la riga di comando.

Per esempio:

$ root> audioplay ./hello.wav

L'audio dovrebbe provenire dalla presa audio del PC. Potrei anche avvolgerlo con un altro ascoltatore di presa. (ad es. Ruby Sinatra)

Qualche idea su come posso farlo?

Risposte (8)

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

Il modo più standard per riprodurre un file WAV in Linux è l'uso del comando aplay, che fa parte del sistema ALSA.

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

aplay a.wav
``` &001 


Link: [ (Wikipedia) ](http://en.wikipedia.org/wiki/Aplay "Wikipedia") [ (aplay man page) ](http://linux.die.net/man/1/aplay "man page") 


(Sia in Fedora che in Ubuntu/Mint fa parte del pacchetto `alsa-utils`) 


Questo non richiede alcun pacchetto aggiuntivo alla vostra installazione Linux come sox o mplayer o vlc, solo l'ALSA di base che fa parte di qualsiasi sistema al giorno d'oggi.
48
48
48
2011-04-27 13:14:11 +0000

mpg123 è un'utilità a riga di comando che riproduce file mp3. Si può installare in Ubuntu con:

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

Installare vlc utilizzando:

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

Assicuratevi di avere tutti i repository aperti. Eseguire anche le seguenti operazioni prima di installare:

cvlc xyz.mp3
cvlc --play-and-exit done.mp3

VLC ha un metodo di funzionamento a riga di comando invocato da cvlc. La parte successiva sarebbe quella di scrivere un .sh che chiamerà il comando. Non sono bravo a scrivere script bash. Il risultato finale sarebbe qualcosa come:

&001

8
8
8
2011-04-27 13:03:10 +0000

Potete semplicemente inviare i vostri dati audio al dispositivo di altoparlanti del pc:

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

mplayer è un altro lettore che può riprodurre praticamente qualsiasi formato audio/video da riga di comando. per installarlo in ubuntu basta eseguire questo comando:

sudo apt-get install mplayer
``` ```
mplayer [path to file]

è poi possibile riprodurre il file utilizzando questa sintassi:

&001 &001

buona fortuna!

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

Su Ubuntu 16.04, non c'è bisogno di installare nulla. È possibile riprodurre un suono utilizzando paplay [audio] con fa parte del server audio PulseAudio :

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

aggiungendo una risposta per le persone che passeranno di qui (la domanda è vecchia di 2011, il mio ora è 2019), perché ho trovato un altro modo:

ffmpeg è installato sul mio ubuntu 19.04

Quindi:

$ 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

enjoy

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

canberra-gtk-play

Per semplici script bash mplayer è probabilmente un po’ troppo pesante e troppo verboso in termini di output. Un'opzione integrata è canberra-gtk-play che viene preinstallata su ubuntu:

canberra-gtk-play --file=/usr/share/sounds/gnome/default/alerts/drip.ogg
``` ```
canberra-gtk-play --id="desktop-login"

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

Nota: utilizza il volume degli avvisi, e si deve passare --file= per poter riprodurre un file da un percorso.

Può anche riprodurre un suono per id che rappresenta il nome del file senza estensione dei file multimediali sotto /usr/share/sounds (apparentemente questo funziona solo per i suoni che sono registrati come parte di un tema sonoro):

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

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

Un'altra opzione è quella di usare gli strumenti a riga di comando gstreamer presenti sulla maggior parte dei moderni linux box:

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


Per sopprimere tutte le uscite reindirizzarle a `/dev/null`: 


&001 



potrebbero essere presenti sul vostro sistema sia `gst-launch-1.0` che `gst-launch-0.10`.