web-dev-qa-db-ja.com

Linuxのコマンドラインでmp3またはwavファイルを再生する

私はUbuntu(グラフィカルインタフェースなし)ボックスに裏打ちされた警報システムを作りたいと思っています。これはコマンドラインでさまざまなアナウンスと警報オーディオトラック(.mp3または.wav)を再生します。

例えば:

$ root> audioplay ./hello.wav

オーディオはPCのオーディオジャックから来ているはずです。私はまたそれを別のソケットリスナでラップするかもしれません。 (例:ルビーシナトラ)

どのように私はこれを行うことができますか?

75
c2h2

mpg123はmp3ファイルを再生するコマンドラインユーティリティです。あなたはUbuntuにそれをインストールすることができます:

Sudo apt-get install mpg123
48
pavium

playパッケージのsoxコマンドは、デフォルトのオーディオデバイスを使用してsoxでサポートされているすべてのファイルフォーマットを再生します。

$ play something.mp3
$ play something.wav

すべてのフォーマットをサポートするために追加のパッケージをインストールする必要があるかもしれません。例えば、Ubuntu 11.04では、libsox-fmt-mp3をインストールするまでMP3サポートは利用できません。

68
user89061

LinuxでWAVファイルを再生する最も標準的な方法は、aplayシステムの一部であるALSAコマンドを使用することです。

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

aplay a.wav

リンク: (Wikipedia)(aplayのmanページ)

(FedoraとUbuntu/Mintの両方で、これはalsa-utilsパッケージの一部です)

これはあなたのLinuxインストールにsoxやmplayerあるいはvlcのような追加のパッケージを必要としません。今日のどんなシステムの一部でも基本的なALSAだけです。

57
Maxim

以下を使用してvlcをインストールします。

Sudo apt-get install vlc vlc-plugin-Pulse mozilla-plugin-vlc

すべてのリポジトリが開いていることを確認してください。インストールする前に以下も実行してください。

Sudo apt-get update

VLCにはcvlcによって呼び出されるコマンドライン操作メソッドがあります。次の部分は、コマンドを呼び出す.shを書くことです。 bashスクリプトを書くのは得意ではありません。最終結果は次のようになります。

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

Ubuntu 16.04では、何もインストールする必要はありません。 PulseAudioサウンドサーバーの一部であるpaplay [audio]を使ってサウンドを再生できます。

paplay mysound.mp3
8
mxdsp

mplayerは、ほとんどすべてのオーディオ/ビデオフォーマットをコマンドラインから再生できるもう1つのプレーヤーです。 ubuntuにインストールするには、単にこのコマンドを実行します。

Sudo apt-get install mplayer

その後、この構文を使ってファイルを再生できます。

mplayer [path to file]

がんばろう!

7
Ali Parsai

あなたは単純にあなたのサウンドデータをPCのスピーカーデバイスに送ることができます:

cat rawsound | /dev/pcsp
7
troelskn

canberra-gtk-play

単純なbashスクリプトの場合、mplayerはおそらく出力が多少重すぎて冗長すぎます。組み込みオプションはcanberra-gtk-playで、これはubuntuにプレインストールされています。

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

注:これはアラートボリュームを使用します。パスからファイルを再生するには--file=を渡す必要があります。

/usr/share/soundsの下のメディアファイルの拡張子なしでファイル名を表すidでサウンドを再生することもできます(どうやらこれはサウンドテーマの一部として登録されているサウンドに対してのみ機能します)。

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

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

gst-launch-1.0/gst-launch-0.10

他の選択肢は、 gstreamer コマンドラインツールを使うことです。これらは、最近のほとんどのLinuxマシンにあります。

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

すべての出力を抑制するには、それを/dev/nullにリダイレクトします。

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

gst-launch-1.0gst-launch-0.10の両方がシステムに存在する可能性があります。

0
ccpizza

私は別の方法を見つけたので、ここで合格する人々のための答えを追加する(質問は2011年古い、私の今は2019です):

ffmpegは私のubuntuにインストールされています19.04

そう:

$ 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

楽しい ????

0
Gromish