Ubuntu 16.04 で自作 PC を組んだところフロントパネルの音声出力端子に接続したデバイスから音が出ない問題が発生した。本事象が発生した環境は下記の通り。
OS: Ubuntu 16.04.2 LTS
M/B: ASUS ROG STRIX Z270F GAMING
CPU: Intel Core i7-7700K CPU @ 4.20GHz
GPU: ASUS ROG STRIX-GTX1060-O6G-GAMING
CASSIS: IN WIN 805
解決方法
alsamixer
コマンドを実行し Auto-Mute Mode
を無効化(Disabled)する。
発生した問題
自作 PC のケース(IN WIN 805)前面にある音声出力端子に接続したヘッドホンから音が聞こえない。
背面のマザーボード基板上にある音声出力端子に接続したスピーカーからは音が聞こえている。前面の音声出力端子にプラグを差し込むと、背面に接続したスピーカーからは音が出なくなり、デスクトップ画面にも新しいサウンドデバイスを認識したような表示が現れるものの、実際には前面から音は聞こえていない。
解決に至るまでの経緯
最初にマザーボードの AAFP (Analog Audio Front Panel Connector) 端子がケースの HD AUDIO ケーブルと正常に接続されていることを確認した。ホコリによる接触不良などにも十分注意したが結局改善しなかった。
続いてフロントパネルの音声出力端子にヘッドホンを何度か接続してみると、差し込んだときに一瞬だけ音が聞こえることに気がついた。そのため、PC ケースの端子側の接触不良を疑ったが、さらに何度か接続してみると、プラグを素早く差し込んだりゆっくり慎重に差し込んだりしても、一瞬だけ聞こえる音の長さが変わらないことに気がついた。すなわち、物理的な接触不良による問題ではなく、OS がサウンドデバイスを認識した直後に何らかのソフトウェアの機構によりミュートされている可能性が高い。
そこで調べてみたところ、同様の事象に関する Stack Overflow の記事を見つけた。
Type
alsamixer
to the terminal and using left and right arrow keys in to theHeadphones
selection if is muted (shows MM on above) pressM
to unmute and press the up arrow to volume up
https://askubuntu.com/questions/868467/ubuntu-16-04-front-panel-audio-does-not-work
端末を開きおもむろに alsamixer
コマンドを実行すると下図のようなグラフィカルな画面が出現した。当方の環境では、上記の記事のように Headphone
(左から2番目)がミュートされてはいなかった。ここで諦めそうになったが、適当に設定をいじっていたところ、 Auto-Mute Mode
(右から5番目)を無効化(Disabled)することで、フロントパネルの音声出力端子に接続したヘッドホンから音が出るようになった。
補足事項
ALSA とは
Advanced Linux Sound Architecture (ALSA) は、サウンドカードのデバイスドライバを提供する Open Sound System (OSS) を置き換えるために開発された Linux カーネルコンポーネントである。ALSA プロジェクトの初期の目標は、サウンドカードハードウェアの自動設定や、複数のサウンドデバイスのスマートな取扱いなどであったが、それらは概ね達成された。JACK などのいくつかのフレームワークは、低遅延でプロフェッショナル級の編集・ミキシングを実現するために ALSA を利用している。
https://ja.wikipedia.org/wiki/Advanced_Linux_Sound_Architecture
FFmpeg などでライン入力の音声をキャプチャするために入力オプションに -f alsa
と指定したことが思い出される。
編集後記
この記事が Qiita 初投稿になる。なるべく継続できるように頑張らねばなるまい。
この記事を執筆する過程で Ubuntu のスクリーンショットが Windows と同様に PrintScreen
キーで撮れることを知った。さらに Shift
+ PrintScreen
で範囲指定、Alt
+ PrintScreen
で現在アクティブなウィンドウのみ、さらに撮影後にクリップボードにコピーするかファイルに保存するか選択できるなんて、至れり尽せリだ。これから積極的に活用していきたいと思う。