コマンドラインを使用して音量を変更する方法は?


72

プログラミングスクリプトを使用してボリュームを制御しようとしています。Fedora 15、Ubuntu Linuxで次のことを行うにはどうすればよいですか?

  1. ミュート/ミュート解除
  2. ボリュームアップとボリュームダウン

注:Web USBマイク/スピーカーとアナログマイク/スピーカーを使用していることに注意してください。確実にすべてに適用したいです。


1
誰もが、彼らのボリュームコントロールボタンを修正するlubuntuからここに来て入れている場合<command>amixer -D pulse sset Master 3%+ unmute</command>の関連するキーバインドに~/.config/openbox/lubuntu-rc.xmlして、稼働openbox --reconfigure私のためにそれを固定
rhombidodecahedron

回答:


80

amixerを使用できます。それは中だalsa-utilsUbuntuとDebianのパッケージに。

amixerパラメータなしで実行すると、デフォルトデバイスのコントロールに関する概要が表示されます。

alsamixerパラメーターなしで(同じパッケージから)使用して、より視覚的な概要を取得することもできます。F6を使用して、デバイスを表示および切り替えます。一般的に、PulseAudioとハードウェアサウンドカードから選択できます。

次にamixersetコマンドで使用してボリュームを設定します。たとえば、マスターチャネルを50%に設定するには:

amixer set Master 50%

Master はコントロール名であり、パラメータなしで実行したときに表示されるものと一致する必要があります。

%記号に注意してください。記号がないと、値は0〜65536レベルとして扱われます。

PulseAudioがデフォルトのデバイスではない場合、-Dスイッチを使用できます。

amixer -D pulse set Master 50%

コメントで指摘された他の便利なコマンド:

+/-数値の後に使用するボリュームを増減するには、次を使用します

amixer set Master 10%+
amixer set Master 10%-

ミュート、ミュート解除、またはミュート/ミュート解除状態を切り替えるには、次を使用します

amixer set Master mute
amixer set Master unmute
amixer set Master toggle

また、デフォルトのraw スケールと、デシベル基づくより自然なスケールの2つの異なるパーセンテージスケールが存在する可能性があることに注意してくださいalsamixer-M後者を使用するために使用します。

最後に、PulseAudioのみに興味がある場合は、チェックアウトすることをお勧めしますpactl(他の回答のいずれかを参照してください)。


4
ありがとう!これを行うには2つの方法があります。1.優れた例:ミキサーセットマスターミュート ミキサーセットマスターミュート解除; 2. yum -y install xdotool; xdotoolキーXF86AudioRaiseVolume; xdotoolキーXF86AudioLowerVolume;
YumYumYum

15
そしてさらにとして、あなたは増やすことができるかによって、音量を下げamixer set Master 10%+amixer set Master 10%-
ユーザー

2
これはUbuntuでは機能しません。
セリン

2
@Cerinに同意しません。これは現在、Ubuntu LTS 12で動作します。ことに留意されたいMマスタでは大文字と小文字を区別(大文字でなければなりません)。
ashes999 14

5
セリンは正しい。これは動作しません。動作は次のamixer -D pulse sset Master 50%
とおりです。-シヴァム

30

ミュートするには:

amixer -D pulse sset Master mute

ミュートを解除するには:

amixer -D pulse sset Master unmute

ボリュームを5%上げるには:

amixer -D pulse sset Master 5%+

音量を5%下げるには:

amixer -D pulse sset Master 5%-


1
また、あなたは(便宜上)音量を変更すると、自動的にミュートを解除するために、後者のコマンドにミュート解除を追加することができますamixer -D pulse sset Master unmute 5%+
ローマGolyshev

16

pactl / pacmdamixer)とは異なり、ボリュームを100%以上増やすことができます:-)。

pactl set-sink-mute 0 toggle  # toggle mute
pactl set-sink-volume 0 0     # mute (force)
pactl set-sink-volume 0 100%  # max
pactl set-sink-volume 0 +5%   # +5% (up)
pactl set-sink-volume 0 -5%   # -5% (down)

では、100%を超える手動設定が可能ですpavucontrol(とは異なりますalsamixer)。

注:異なるホストで異なるコマンドを同じシンクと共有する場合は@DEFAULT_SINK@、番号の代わりにシンクとして使用できます0

pactl set-sink-volume @DEFAULT_SINK@ +5%

でデフォルトのシンクを設定しますpactl set-default-sink my-sink-name(名前をリストしますpactl list short sinks)。

更新:追加toggle mute(Don Joeに感謝)。

ソース:askubuntu.comwiki.archlinux.org


5

より高い音量:

amixer set Master 3%+

音量を下げる:

amixer set Master 3%-

ミュート切り替え:

amixer set Master toggle

i3/のキーバインドの例swayは、コマンドの後にありますexec

bindsym XF86AudioRaiseVolume exec amixer set Master 3%+
bindsym XF86AudioLowerVolume exec amixer set Master 3%-
bindsym XF86AudioMute exec amixer set Master toggle
bindsym Ctrl+$alt+Up  exec amixer set Master 3%+
bindsym Ctrl+$alt+Down exec amixer set Master 3%-

4

ユーザーがデバイスをミュートしている場合は、「ミュート解除」する必要があります。それ以外の場合、パーセンテージを設定しても機能しますが、音はまだオフです

amixer set 'Master' 100% unmute
/usr/bin/amixer set 'PCM' 100% unmute

3

pevikの答えは、PulseAudioについてはほぼ正しいです。

  • マイナスのボリューム変更コマンドは、そのマイナス部分が別の(認識されない)オプションとして解釈されるため、エラーを生成します。負の数の前のどこかで二重マイナスを使用したオプション解析をオフにする必要があります(例: "--5%")

  • 真のミュート状態は、同じキーで切り替えることができるはずです。ボリュームを固定値0に設定するだけでは機能しません。そのための正しいコマンドは次のとおりです。

pactl set-sink-mute @DEFAULT_SINK@ toggle

LE:最初のヒントが適用可能かどうかは、実行しているPulseAudioのバージョンまたはディストリビューションの他の何かによって異なります。Ubuntu16では「-」なしで機能し、「-」を追加すると失敗します負の割合の前。


私たちはより良いゲームFPSのための場でのウィンドウマネージャをたくさん変更したときに、それは完璧になり、非常に良いTHX、ので、私は使用xbindkeys-configして私もX :)(笑笑顔が...何のしゃれ意図はない笑)再起動する必要がいけない
アクエリアスパワー

2

ミキサーは私のために働いたが、キーボードのボリュームアップボタンを押したときに得られる素晴らしいアニメーションが得られなかった。

xteコマンドラインから直接そのキーを押すために使用することにしました:

ボリュームアップ: xte 'key 0x1008ff13'

ボリュームダウン: xte 'key 0x1008ff11'

ミュート: xte 'key 0x1008ff12'

を使用してkeysym(その16進数)を見つけましたxev

sudo apt-get install xbindkeys xautomation
xev

次に、キーボードの音量アップボタンを押してキーシムを取得します。キーsymはシステムによって異なる場合があるため、xevから見つけるのが最も信頼できる方法です。

結果は私にとって次のようになります。

KeyReleaseイベント、シリアル37、合成NO、ウィンドウ0x2c00001、ルート0xef、subw 0x0、時間6660080、(566,573)、ルート:(664,651)、状態0x0、キーコード123(keysym 0x1008ff13、XF86AudioRaiseVolume)、same_screen YES、XLookupStringは0バイトを与えます:XFilterEventは以下を返します:False

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.