web-dev-qa-db-ja.com

Ubuntuがボリュームミキサーレベルを調整する方法を変更するにはどうすればよいですか?

しばらくの間、サウンドにやや面倒な問題がありましたが、ついに何かをする時が来たと判断しました。

ツールバーのメインボリュームスライダーを調整するたびに、またはラップトップでボリュームホットキーを使用するたびに、Ubuntuは奇妙な方法でミキサーレベルを調整します。 GNOME ALSA Mixerを開くと、SigmaTel STAC9200にはマスター、PCM、LFEの3つの出力スライダーがあります。マスターとLFEの両方にミュートチェックボックスがあります。

ボリュームを上げるホットキーを1回押すと、マスターとLFEのミュートが解除され、PCMとLFEのスライダーが半分ほど跳ね上がります。マスタースライダーはゼロのままです。別のプレスを使用すると、PCMとLFEが最大約4/5になり、マスターは下部に移動しません。

Ubuntuは、PCMとLFEが最大になるまでマスターを移動しません。これは、メイン出力ミキサーで約15%〜20%の間に発生します。

これの効果は、約15%から20%まではまったく音が出ないことです(マスターがゼロになっているため)。そのしきい値を超えると、すぐに大きな低音が聞こえます(明らかにLFEから) 。ヘッドフォンを使用する場合、そのしきい値まで音は聞こえませんが、少なくとも音が聞こえても音がしません。

PulseAudioの構成など、出力ミキサーの動作を変更する可能性のある場所はありますか?

13
DLH

オーディオスタックには、この症状を引き起こす可能性のある多くのレイヤーがあります。最も直接的なのは、PulseAudioのデフォルトの動作です。これについては http://pulseaudio.org/wiki/PulseAudioStoleMyVolumes で確認できます。 https://wiki.ubuntu.com/DebuggingSoundProblems/KarmicCaveats#Volume%20range%20anomalies :で提供した指示を使用して、いくつかのインスタンスを回避できます。

ボリューム範囲の異常

PulseAudioの最新バージョンは、ミキサーコントロールを使用してサウンドカードの音量を制御しようとします。通常、これは正常に機能しますが、場合によっては適切に機能しません。 (これがPulseAudioのせいかALSAのせいかは、このWikiページの範囲外です。詳細な背景情報は ここ です。)

診断

次のいずれかが発生します。

  • 20%未満がすべてミュートされ、21%が非常に大きい場合など、音量がジャンプします。
  • ボリュームが特定の(低)レベルを超えて設定されている場合、オーバードライブ(音の歪み)
  • 範囲の一部で音量が変化しない。たとえば、20%が70%と同じくらい大きい場合。

修正/回避策

PulseAudioが音量を制御する方法を制御するいくつかの変数があります。 /etc/Pulse/default.paを編集して(それを行うにはrootになる必要があります)すべてのユーザーの動作を変更するか、そのファイルを~/.Pulse/default.paにコピーしてからそのファイルを編集し、現在のユーザ【専用・のみ。

上記のファイルを開きます。 load-module module-udev-detectという行を見つけて、次のように変更します。

load-module module-udev-detect ignore_dB=1

変更を試みるには、次のコマンドでPulseAudioを再起動します。

killall pulseaudio

その後、PulseAudioは自動生成されます(自動的に再起動します)。

上記の回避策では不十分な場合があります。この場合、PCM(alsamixerを参照)など、1つのミキサーコントロールのみを制御するようにPulseAudioを構成できます。 #load-module module-alsa-sinkという行を見つけて、次のように変更します。

load-module module-alsa-sink control=PCM

(行の先頭にある#を削除することを忘れないでください!)オプションで、PCMをPulseAudioで制御したいミキサーコントロールに置き換えます。

次に、上記のkillall pulseaudioを実行して、デーモンが自動生成されるようにする必要があります。

最後に、この異常が実際にバグであるかどうかは、ubuntu-bug alsa-baseを使用する必要があります。

22
Daniel T Chen