Discordで画面共有を開始して一定時間が経過すると視聴側のみにノイズ音が入る症状の解決策について
はじめに
問題の切り分けと検証をし、ここまで辿り着くのにえらく時間がかかってしまったが、タイトルの通り、数ヶ月間悩まされた
「Discordでウィンドウ(アプリケーション)対象の画面共有を始めて一定時間が経過すると画面共有を視聴している視聴側のみにバチバチ、ブツブツといったクラックルノイズが混じる現象」
の解決策がようやく分かった。誰かの役に立ったら良いなと思ったので書き留めておく。Twitterで検索すると同じような症状の人がちらほらいた。
この現象の詳細について
画面共有をしているユーザーのマイクを通した声にノイズが乗る訳ではなく、画面共有元のウィンドウ(アプリケーション)の音に対してクラックルノイズが混ざる。アプリケーションから出る音が無音のタイミングではノイズは聞こえず、画面共有元の音の強弱によってノイズ音の大きさも上下する。
クラックルノイズ参考:https://youtu.be/vDMnFhpZaD8
一定時間経過後と書いたが、当初の自分の環境では画面共有をし始めて大体40分ほど経つとかすかにバチバチと聞こえ始めて、そこから更に30秒~1分ほど経つと聞くに堪えないほどノイズ音が大きくなっていた。
一旦画面共有を閉じ、再度画面共有をし直すと一時的にノイズが混ざらず直るが、そこからまた40分ほど経つとまたノイズが入ってしまう。
いずれも自分の環境、自分が聞いているぶんにはノイズが聞こえない。
問題と切り分けと検証
BIOS(UEFI)でグラボを接続しているスロットのPCI Expressのバージョンを3.0(Gen3)にする → 効果なし
まずはじめにこの情報を見かけた。ただ、これはCPUがRyzenでGPUがRTX3000番台だと効果があるみたいだった。自分の場合は当てはまらないし効果がなかった。
Discordの音声・ビデオにあるオーディオのサブシステムの項目をStandardからExperimentalに変える → 効果なし
H.264ハードウェア高速化をオフにする → 効果なし
当方の最新技術を使用して画面を撮影しますをオフにする → 効果なし
ハードウェアアクセラレーションをオフにする → 効果なし
Discordの再インストール → 効果なし
DiscordのCanary版、PTB版を使う → 効果なし
Windows上に別の管理者アカウントを作り、アカウントを変えてみる → 効果なし
Windows10の再インストール → 効果なし
Windows11のクリーンインストール → 効果なし
グラボの取り外し → 効果なし
メモリの取り替え → 効果なし
サウンドカードの取り外し → 効果あり
マザーボードの取り替え → 1時間40分くらいノイズが入らなくなった、謎
CPUの取り替え → 効果なし
サウンドカードの取り外しだけがちゃんと効果があった。普段使いで音がおかしいなら壊れたと判断できるが、Discordの画面共有だけというのは怪しいし急に壊れたとは考えづらい。
解決策
Windowsのサウンドのプロパティ、もしくはSound Blaster Command(サウンドカード付属のソフト)で「ビットの深さとサンプルレートを下げる」設定をする。自分の場合は16bit 48000Hzに設定したら改善した。
※24bit 48000Hzは数時間耐えたけど結局駄目だった。
今までサウンドカードで設定できる最高クオリティの音設定、32bit 96000Hzにしていたがこれが駄目だったらしい。
サウンドカードを購入した際からこの設定にしていた気がするが、以前は大丈夫で、何故ここ最近になって症状が出たのかは分からない。画面共有を始めて一定時間は正常に動作するのも謎。駄目だったら始めからノイズが入っていそうなものだが…。
自分の使っているサウンドカードのSound Blaster AE-7より性能が高いサウンドカードやUSB DAC、アンプだと32bit 384000Hzみたいな人間の可聴域を大幅に超えた超ハイレゾみたいなことができるが、自分が調べた限りではそもそもDiscord側は16bitの48000Hzまでしか公式にはサポートしていないということだった。例として192000Hzまで上げるとDiscordの入出力が上手く出来ず、Discordの音が聞こえなかったり、マイクからの入力ができないというレポートもちらほら見かけた。自分はUSBマイクを使っているのでマイク入力に関しては関係なかったが、オーディオインターフェースのAG03等でも同じような症状が出るみたいだ。対応しきれない高周波数ぶんがノイズになるのだろうか。
おまけ
自分もまだまだ知識が浅くてあまり詳しくは分かっていないし、上記に書いたことが間違っていたら申し訳ないが、ビットの深さとサンプルレートをめちゃくちゃ上げてもある一定のところで人間の耳の可聴域を超えてしまうので、普通の人間には違いが分からないらしい。いわゆるハイレゾってやつだが、たぶん24bit 48000Hzですら十分すぎるのだと思う。
いくら機器がハイレゾに対応していても自分の耳がハイレゾに対応していない。