web-dev-qa-db-ja.com

スピーカーのバランスを制御する方法、または1つのスピーカーを無効にする方法

2台のスピーカーを搭載したラップトップを使用しています。1台は吹き飛ばされ、不快な歪んだ音を再生しています。

恒久的に無効にしたり、バランスを使用して制御したりするにはどうすればよいですか?

ターミナルコマンドが推奨されます。

また、Gnomeの基本的なサウンド設定とPulseAudio Managerを使用します。後者はボリュームを最大化するために使用されます。前者は150%を超えることができないためです。しかし、PulseAudio Managerを使用すると、スピーカーのバランスが自動的に50%/ 50%に調整されます。したがって、PulseAudio Managerがバランスを変更できないように、ソリューションは十分に永続的でなければなりません。

ありがとう。

3
user296844

ALSAまたはPulseAudioでコントロールをロックする方法はわかりませんが、この小さなハックは機能するはずです。

stdbuf -oL alsactl monitor | \
while read; do
    amixer -D Pulse sset Master 0,-
done

alsactl monitorを使用してボリュームの変更を監視し(このコマンドを自分で実行し、ボリュームを変更してその動作を確認できます)、変更が行われるたびに、左チャネルのボリュームを0にリセットします。

変更が必要になる場合があります。

  • 別のオーディオデバイスを使用している場合は、Pulseを他のものに変更します。

  • 代わりに適切なチャンネルをミュートにしたい場合は、0,-から-,0に変更します。

  • MasterSpeaker,0のようなものに変更したい場合は、セカンダリコントロール(ヘッドフォンなど)を通常どおり動作させます。

次の方法で、起動時にスクリプトを実行できます。

  1. ファイルに入れる、例えば~/.bin/alsa-fix
  2. 実行するファイル許可を与える:chmod +x ~/.bin/alsa-fix
  3. ~/.bin/alsa-fix &~/.profileに追加します。

スクリプトは実質的にCPUまたはRAMを使用しませんが、さらに効率的にしたい場合は、ファイルの先頭に#!/bin/dash行を追加することで、おそらくdashで実行できます。

2
Zaz

レベルを設定するためのミキサーの通常のコマンドには、すべてのチャネルに1つの値が使用されますが、2つの異なる値を使用できます

たとえば、ハードウェアのモノラルマイクのキャプチャでラインを設定します。

amixer set -c 0 Line 42,0

amixerコマンドまたはalsamixerを使用して、-cオプションのデバイスID番号を見つけます
および「Line」を置き換えるALSAミキサー要素の名前

パーセンテージまたはdB値も使用できます
この場合、「42」ではなく「46%」または「0dB」の値でも同じ結果が得られます

それでもPulseaudioがALSAレベルの変化を引き起こす場合
Pulseaudio Volume Controlを使用pavucontrol
[出力デバイス]タブに移動
南京錠をクリックしてチャンネルのロックを解除し、チャンネルレベルを設定します

0
nik gnomic

サウンドのGUIインターフェースには、左右のバランスコントロールがあります。あなたの質問は、あなたが端末コマンドを好むことを示しているようです。その場合、私はあなたを助けることができません。ただし、スピーカーの1つをミュートするだけの場合は、サウンド設定でそれを構成できる必要があります。画面上部のスピーカーアイコンを1回クリックして、サウンド設定をクリックします。

0
gyropyge