Gigabyte Z97P-D3 mobo、Intel i7-4790K、16GB RAMを備えた、強力な新しいデスクトップを自己構築しました。オーディオ出力にオンボードサウンドハードウェアIntel HDA(Realtek ALC887-VD)を使用しています。 Ubuntu 14.04 LTSを実行しています。
数分ごとに、オーディオ再生の短いスキップが聞こえます。まるで1つのフレームがドロップされているかのようです。これは非常に面倒で、ソース(VLC/Spotify/Chromiumブラウザ)に関係なく発生します。スキップ中の短い瞬間に、[サウンド設定]> [出力]タブのデバイスのリストがグレー表示になり、ボリュームコントロールインジケーターがミュートになったように短時間点滅してから、すべてが通常に戻ります。
ALSAmixerも同様にスキップの間にグリッチを発生し、ボリュームバーはすべて一瞬のうちに消えます。
私は次の回避策を試しました(私にとってはうまくいきません):
1)/etc/modprobe.d/alsa-base.conf:Position_fix設定
options snd-hda-intel model=generic position_fix=1
2)PulseAudio /etc/Pulse/default.pa:tschedをオフにする
load-module module-udev-detect use_ucm=0 tsched=0
3)PulseAudio /etc/Pulse/default.pa:デフォルトの調整(以下のあらゆる種類の組み合わせと値)
default-fragments = 2
default-fragment-size-msec = 250
default-sample-rate = 48000
realtime-scheduling = yes
realtime-priority = 5
4)PulseAudioの再インストール
5)カーネルを最新の安定版(4.4.2)にアップグレードする
6)PulseAudioの代わりにJack2を使用する
7)新しいサウンドカード(SoundBlaster Live)の購入。Spotifyなどのさまざまなアプリケーションでは機能しないようです。
cat /proc/asound/card*/codec* | grep Codec
の出力:
コーデック:Intel Generic
コーデック:Realtek ALC887-VD
コーデック:Nvidia GPU 60 HDMI/DP
cat /proc/asound/card*
の出力
0 [HDMI]:HDA-Intel-HDA Intel HDMI HDA Intel HDMI at 0xf7914000 irq 33
1 [PCH]:HDA-Intel-HDA Intel PCH HDA Intel PCH at 0xf7910000 irq 32
2 [NVidia]:HDA-Intel-HDA NVidia HDA NVidia at 0xf7080000 irq 17
私が使用しているのはカード#1です。
uname -a
の出力:
Linux alnitak 4.4.2-040402-generic#201602171633 SMP Wed Feb 17 21:35:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
これは、Pulse、ALSA、およびJackがすべて影響を受けていると考えているIntel HDAドライバーと関係があると思われます。
不足している修正はありますか?
OK、私はそれを解決しました...答えは:
1)新しいサウンドカード(私の場合はSoundblaster Live)を購入する
2)Jack Audio(jackd)をインストールします
Sudo apt-get install jackd qjackctl
3)Jack-Pulseaudioブリッジをインストールします(pulseaudio-module-jack)
Sudo apt-get install pulseaudio-module-jack
4)ファイアブラストジャック(私はqJackctlを使用しました)とSoundblasterに優しい設定:
ドライバー:alsa
リアルタイム
フレーム/期間:2048
期間/バッファ:2
入力デバイス:hw:Live
出力デバイス:hw:Live
5)ジャックの接続がPulseAudioジャックシンクをシステム再生にパッチしていることを確認します
jack_connect 'PulseAudio JACK Sink:front-left' 'system:playback_1'
jack_connect 'PulseAudio JACK Sink:front-right' 'system:playback_2'
6)PulseAudioが出力としてJack Sinkを使用していることを確認します
pacmd set-default-sink "jack_out" && pacmd set-default-source "jack_in"
7)Spotify/VLCまたはサウンドの再生に使用しているものを再起動します...動作します!
これは回避策の絶対的なファッジですが、それはLinuxのIntel HDAオーディオドライバーが見苦しいためです。問題は、DMA Position Pointerレポートにあります(既知の問題: https://www.kernel.org/doc/Documentation/sound/alsa/HD-Audio.txt )。
Linuxオーディオは混乱しています。私は2010年からUbuntuを使用してきましたが、過去6年間で一貫して最大の頭痛の種となっているのはオーディオclusterf ## kです。 PulseAudioには素敵なデスクトップウィジェットがあるかもしれませんが、非常に多くの問題を引き起こします。ジャックの文書化は不十分であり、qjackctlを使用しても大したことはありません。 ALSAだけが動作しているように見えますが、残念ながら、Niceデスクトップウィジェットや、それにバインドされたプログラムを制御するためのインターフェイスを書いた人はいません。
持ち帰りメッセージは次のとおりです。
Linuxを実行している場合は、Intel HDAオンボードオーディオを使用しないでください。
Linuxオーディオは混乱しています。箱から出して正常に動作しない場合は、苦痛の世界が広がっています!
Snd-hda-intelと呼ばれるLinuxデバイスドライバーは、少なくとも2010年11月に悪化したユーザーがPulseAudioMicrophoneGuide.pdfを作成して以来、明らかに大量の悪化を引き起こしています。
ここに私がこれまでに見つけたものがあります:PulseAudioは、Alsaの上で実行されるソフトウェア層です。 Alsaは、多数のドライバーソフトウェアパッケージを読み込むソフトウェアレイヤーです。 Alsaは、電子信号の単なるドライバーではありません。 Alsaは、ミキサーや、マイクからバイトを読み取ったり、ヘッドフォンアンプにバイトを書き込んだりするソフトウェアのように、電気信号ごとにいくつかの小さなソフトウェアをロードします。
2015年のLenovo S21eラップトップには「内蔵マイクから音が出ない」という問題があり、その結果、SkypeもGoogleHangouts Chatも内蔵マイクで動作しません。
短期的な修正は、マイク付きのWebカメラを接続するか、Plantonics USBヘッドセットを使用することです。
ここに私がする必要があると思うものがあります。私はCプログラマーではありません(Python、Perl、Arduinoのみ)。ハードウェアと通信しているデバイスドライバー内で、ソースコード内で、オーディオデータがマイクのメモリの場所からコピーされている場所を見つけます。出力チャネルの1つであるRightまたはLeftが、ソフトウェアで何らかの形で反転されています。私の推測では、信号からある種のノイズをキャンセルすることを期待して、信号を反転させました。そのため、元のプログラマーが反転を強制した理由を把握することがコツです。それ以外の場合は、反転を削除して、右チャネルと左チャネルが正常になるかどうかを確認します。