バグ修正: オーディオの歪みと PipeWire ハング (Linux)¶
このドキュメントでは、SL5-aura-service を OBS、AnyDesk、または高周波 TTS ストリームなどの他のメディア アプリケーションと一緒に使用するときに発生する可能性のある音声の歪み (「klirren」)、ロボット音声アーティファクト、およびシステム オーディオのハングを解決する方法について説明します。
## 症状
音声出力/入力音が歪んだり、金属的、または「耳障り」な音になります。
システム オーディオがハングし、「PulseAudio への接続を確立しています」または「お待ちください」というメッセージが表示されます。
高 CPU 負荷または同時ストリーム使用後の合計オーディオ損失。
ジャーナル ログには、「spa.alsa: hw:X: snd_pcm_status error: No such device」が表示されます。
## 根本的な原因 Manjaro やその他の最新の Linux ディストリビューションでは、PipeWire がオーディオを管理します。歪みは通常、次のような原因で発生します。
バッファ アンダーラン: 同時ストリーム間の競合 (例: TTS/OBS の実行中にオーディオをキャプチャする AnyDesk)。
サンプルレートの不一致: 44.1kHz と 48kHz の間で頻繁に切り替わります。
USB タイミングの問題: バス負荷が高いため、USB ヘッドセット (Plantronics/Poly など) が一時的に切断されます。
ソリューション¶
1. 即時回復 (「核」リセット)¶
オーディオ スタックがフリーズまたは歪んでいる場合は、オーディオ関連のプロセスをすべて強制終了します。すぐに自動再起動されます。
# Force kill PipeWire and its PulseAudio compatibility layer
killall -9 pulseaudio pipewire pipewire-pulse
2. 防止と安定性の設定¶
AnyDesk オーディオを無効にする¶
AnyDesk は頻繁にオーディオ デバイスに接続しようとし、ハードウェアの競合を引き起こします。
アクション: AnyDesk 設定 -> オーディオ を開き、「オーディオの送信」 と 「オーディオの再生」 を無効にします。
PipeWire サンプル レートを修正 (推奨)¶
TTS 再生中のリサンプリング アーティファクトを避けるために、PipeWire を強制的に 48kHz に維持します。
設定ディレクトリを作成します:
mkdir -p ~/.config/pipewireデフォルトの設定をコピーします:
cp /usr/share/pipewire/pipewire.conf ~/.config/pipewire/~/.config/pipewire/pipewire.confを編集し、次のように設定します。default.clock.rate = 48000
サービスを再起動します。
systemctl --user restart pipewire pipewire-pulse wireplumber
3. ポストプロダクションリカバリ (FFmpeg)¶
セッションを録音し、オーディオが歪んでいる (「クリリング」) 場合は、次の ffmpeg フィルター チェーンを使用してファイルを修復します。
推奨される修復コマンド¶
このコマンドは、ビデオを再エンコードせずに、デクリッパー、ノイズ リダクション、およびローパス フィルターを適用して高周波デジタル アーティファクトを除去します。
テスト済みで非常に良好です:
ffmpeg -i input_video.mp4
-af "adeclip, afftdn, lowpass=f=5000, volume=1.5" \
-c:v copy reparatur_output.mp4
(テストされていません):
ffmpeg -i input_video.mp4 \
-af "adeclip, afftdn, lowpass=f=3500, volume=1.8" \
-c:v copy repaired_audio_output.mp4
テストされていません:
ffmpeg -i input_video.mp4 -af "arnndn=m=cb.rnnn, lowpass=f=5000" -c:v copy ki_reparatur.mp4
フィルターの内訳:
adeclip: デジタル クリッピング スパイクを丸めます。afftdn: FFT ベースのデジタル ノイズを低減します。lowpass=f=3500: 最も「クリアリング」が発生する 3.5kHz を超える周波数をカットします (音声をよりクリアに/より暖かくします)。volume=1.8: フィルタリング中のボリューム損失を補正します。-c:v copy: 元のビデオ品質を維持します (非常に高速)。
デバッグツール¶
開発中にオーディオの健全性をリアルタイムで監視するには:
pw-top: リアルタイムエラー(ERR列)とバッファステータスを表示します。journalctl --user -u Pipewire: ハードウェアの切断をチェックします。