Je souhaite créer un système d’alarme adossé à une boîte Ubuntu (sans interface graphique), qui lit diverses pistes audio d’annonce et d’alarme (.mp3 ou .wav) via la ligne de commande.
Par exemple:
$ root> audioplay ./hello.wav
Le son doit provenir de la prise audio du PC. Je pourrais aussi l'envelopper avec un autre écouteur de socket. (par exemple, Ruby Sinatra)
Des idées comment je peux faire ceci?
/usr/share/sounds
c’est un bon endroit pour les chercher.Réponses:
mpg123 est un utilitaire de ligne de commande qui lit les fichiers mp3. Vous pouvez l'installer dans Ubuntu avec:
la source
La
play
commande dusox
package lit tout format de fichier pris en chargesox
à l'aide du périphérique audio par défaut, par exempleVous devrez peut-être installer des paquets supplémentaires pour pouvoir prendre en charge tous les formats. Par exemple, sur Ubuntu 11.04, la prise en charge MP3 n'est pas disponible avant l'installation
libsox-fmt-mp3
.la source
libsox-fmt-all
paquet pour installer tous les formats.Le moyen le plus standard de lire un fichier WAV sous Linux consiste à utiliser la
aplay
commande, qui fait partie duALSA
système.Liens: (Wikipedia) (page de manuel aplay)
(À la fois dans Fedora et dans Ubuntu / Mint, cela fait partie du
alsa-utils
paquet)Cela ne nécessite aucun paquet supplémentaire pour votre installation Linux, comme sox, mplayer ou vlc, mais simplement l'ALSA de base qui fait partie de tout système de nos jours.
la source
aplay
. Vous aurez juste statique.Installez
vlc
en utilisant:Assurez-vous que tous les référentiels sont ouverts. Exécutez également les éléments suivants avant d’installer:
VLC a une méthode d'opération de ligne de commande appelée par
cvlc
. La prochaine partie serait d'écrire un.sh
qui appellera la commande. Je ne suis pas bon pour écrire des scripts bash. Le résultat final serait quelque chose comme:la source
cvlc --play-and-exit done.mp3
si vous ne voulez pas le ctrl-c.cvlc --play-and-exit --no-loop done.mp3
. J'ai besoin de l'option supplémentaire--no-loop
, pour que le fichier son ne soit pas répété encore et encore. (vlc 2.2.2, xubuntu 16.04.4)Vous pouvez simplement diriger vos données audio vers le haut-parleur du PC:
la source
Sur Ubuntu 16.04, il n’est pas nécessaire d’installer quoi que ce soit. Vous pouvez jouer un son en utilisant
paplay [audio]
with fait partie du serveur de son PulseAudio:la source
mplayer est un autre lecteur pouvant lire à peu près tous les formats audio / vidéo à partir de la ligne de commande. pour l'installer dans Ubuntu, exécutez cette commande:
vous pouvez alors lire le fichier en utilisant cette syntaxe:
bonne chance!
la source
canberra-gtk-play
Pour les scripts bash simples, mplayer est probablement un peu trop lourd et trop détaillé en termes de sortie. Une option intégrée est
canberra-gtk-play
préinstallée sur Ubuntu:Remarque: il utilise le volume des alertes et vous devez le transmettre
--file=
pour pouvoir lire un fichier à partir d’un chemin.Il peut également jouer un son par id qui représente le nom du fichier sans l'extension des fichiers multimédias
/usr/share/sounds
(apparemment, cela ne fonctionne que pour les sons enregistrés dans le cadre d'un thème sonore):gst-launch-1.0 / gst-launch-0.10
Une autre option consiste à utiliser les outils de ligne de commande gstreamer présents sur les boîtes de dialogue Linux les plus modernes:
Pour supprimer toute sortie, redirigez-le vers
/dev/null
:Les deux
gst-launch-1.0
etgst-launch-0.10
peuvent être présents sur votre système.la source
ajout d'une réponse pour les personnes qui passeront ici (la question date de 2011, ma date est maintenant de 2019), car j'ai trouvé un autre moyen:
ffmpeg est installé sur mon Ubuntu 19.04
Alors:
profiter
la source