ことの起こりは、2022年3月末。PHPerKaigi 2022 の事前収録で忙しいさなかに、オーディオインターフェースにガビガビのノイズが乗るようになりました。予備機を買って試しても駄目。
予備機にかったオーディオ/インターフェースが不調。
— Ryo Tomidokoro(穏やか) (@hanhan1978) March 29, 2022
謎の信号音が入るな...。
Linux での動作は不安定なのかもしれん。しょうがない。
トラブルシューティング
いくつか前提を立てた上で原因を調査しました。
1. オーディオインターフェースの故障説
ノイズが出るオーディオインターフェースを Mac や 他の Linux Desktop マシンに接続してみると、正常に動作しました。そのため、オーディオインターフェース自体は正常という判断をしました。
2. ハードウェアがノイズを発生させている説
「マザーボードや PC 電源などが原因でノイズを発生させることがある」という情報をキャッチしたので、やれることは全部やってみようということになりました。いわゆる、金で殴るという解決策になります。
- マザーボード交換 -> 効果なし
- 電源交換 -> 効果なし
- フェライトコア -> 効果なし
電源はハイエンドに交換したので、静音になってよかった。(よくないw)
3. OS が悪い説
ここにきて、やはり Ubuntu が何がしかの悪さをしているのではないかという仮説に戻ってきました。前述の検証時にもう一台の Linux Desktop で試したときは正常だったのですが、実は OS のバージョンが違っていたので、それを試してみることに。
試したのは、Ubuntu 22.04 LTS Jellyfish Beta です。USB 起動ディスクを作って、USB 端子経由でブートして、オーディオインターフェースを接続してみたところ…
Ubuntu の 22.04 のブーダブルUSB で立ち上げたら、ノイズ止まった…。え?OS の問題なの!!??
— Ryo Tomidokoro(穏やか) (@hanhan1978) April 21, 2022
というわけで、問題は Ubuntu 20.04 LTF Focal でした。ここ2年間ほど、同じ環境でオーディオインターフェースを使い続けていて、かつ安定動作していたので OS は問題なかろうという暗黙の前提があったのですが、思い込みは駄目ですね。
Bug チケット
https://bugs.launchpad.net/ubuntu/+source/linux-signed-hwe-5.13/+bug/1966066
そのものズバリのバグチケットが乗っています。Kernel 5.13.0-35 で入った不具合のようです。自分の Ubuntu のカーネルバージョンを確認すると…
1 | $ uname -r |
はい、5.13
ですね。というわけで、完全に一致しました。
ワークアラウンド
オーディオのデフォルトサンプリングレートが何故か変更されていたというのが原因らしいので、設定を修正してあげます。
/etc/pulse/daemon.conf
で サンプリングレートの設定を 48000 にします。もともとはコメントアウトされた状態で設定が書かれているので、アンコメントしたうえで 48000 に設定します。
1 | default-sample-rate = 48000 |
オーディオ再起動。(sudo つけなくてよいよ)
1 | systemctl --user restart pulseaudio.service |
これで、オーディオインターフェースからきれいな音が出るようになりました。長い戦いだった……
ノイズの再現方法
サンプリングレートが間違っている場合にどんなノイズが乗るのかを耳で覚えておくと良いです。
/etc/pulse/daemon.conf
1 | default-sample-rate = 44100 |
サンプリングレートを 44100 にして、pulseaudio を再起動してみると、ここ一ヶ月私が経験してきたものと同じノイズが聞けます。あまり上手に表現できないのですが、音楽をスロー再生したときのような少し低い音になって、全体的にビリビリしたようなノイズが入ります。
まとめ
サンプリングレートが間違っている場合、ハードウェアをいかにいじったところでノイズは消えません。問題と対処が間違っているので当たり前。トラブルシューティング中に不思議だなと思ったのは、Scarlett 2i2 ではノイズがひどいのだけど AG03 だと少しマシだったということです。AG03 は異なるサンプリングレートでも、なんとかマシな音にしてくれるようです。
また、もう一つのヒントとしては Podcast 収録で、同じオーディオインタフェースを経由してマイクを使っていたのですが、録音した音声は問題なかったのです。もし仮にハードウェアがノイズ発生源だとしたらスピーカーだけでなく、マイクにもノイズの影響が出たはずです。
というわけで、Ubuntu でオーディオインターフェースから変なノイズが乗るようになったときは、サンプリングレートの確認をすると良いかもしれません。