ShadowPlayでDISCORDの相手の音声が録音されない(GSX-1000)

GSX 1000

ShadowPlayの仕様とGSX-1000のデバイス特徴

GeForce Experience を使う理由としたら、お手軽な動画キャプチャー&ライブ配信でしょう。GeForceのNVENCを利用してCPUに負荷をかけずにH.264のCODECを用いてリアルタイムエンコードが可能です。

先日、TEAM-BOSS時代からの友人とInsurgency Sandstormを久々にCoopで遊んだところを録画したのですが、DISCORD上の友人の音声が録音されていませんでした。以前はそんなことなかったので、なにか変わったかな?などと思ったのですが、ShadowPlayの仕様と私がオーディオアンプに利用しているゼンハイザー GSX-1000の仕様とを見比べると解決策が見えてきたので自分向けメモです。

GeForce ShadowPlayの録画時の音声はOSで設定されている スピーカーの”規定のデバイス”(デフォルトデバイス)と、マイクの”規定の通信デバイス”です。

ゼンハイザー GSX-1000はヘッドフォン(スピーカー)とマイクの2つのデバイスから構成されており、スピーカーは”GSX 1000 Main Audio”、マイクは”Headset Earphone”として検出されます。

この仕様ですと、ゲームの音と私がマイクで発声している音は拾ってくれます。問題ないですね。

DISCORDで相手の声が録音されない理由

問題はDISCORDで相手の声が録画ファイルに録音されない事象です。DISCORDの音声・ビデオ設定では入力/出力ともにDefaultのデバイスを用いるとしています。このDefaultが問題を引き起こしていました。

ボイスチャットの相手の音声のDefaultとは、実はスピーカーではなく、通信デバイス(ボイスチャット等のヘッドセット等を指しています)からの出力なのです。GSX-1000は通信デバイスとしてのヘッドフォン機能も有していたわけです。ShadowPlayはスピーカーとマイクからしか録音しないので、通信デバイスの音声はミキシング対象外でミュート状態になってしまいます。

ところで、Windowsでは”通信デバイス”と訳されていますが、コミュニケーションデバイスの方が判りやすかったと思うのは私だけですかね。

対処方法

DISCORDで音声設定にある出力デバイスをDefault(つまり通信デバイス)ではなく、スピーカーにしてやればいいのです。GSX1000はヘッドセットとスピーカーを切り替えられますが、それとは別にスピーカーをつけている場合もあるので、ここでは”スピーカー(GSX 1000 Main Audio)を選択するようにしてください。

DISCORD for GSX-1000

謝辞

暑い中、確認試験のための対向環境を準備してくれたドギーに感謝。ボイスチャットで語ったのは15年ぶりくらいか。ドギーはUltima Online時代からの友人です。

ゼンハイザー GSX 1000の7.1chの設定(2021/2更新)

GSX 1000

フォーマットがデバイスにサポートされていません

メーカーFAQのPDFには載っているのだが、日本語ではないのでGoogle検索にうまくひっかからないようだ。ゼンハイザー GSX 1000を用いてスピーカーを7.1chオーディオに構成しようとすると「フォーマットがデバイスにサポートされていません」と表示される。これを回避する手順を記す。自分用メモでもある。

  1. タスクトレイのスピーカーを右クリックして「サウンドの設定を開く」を選択する
  2. 一番下までページダウンして、関連設定にある「サウンドコントロールパネル」を開く
  3. 「サウンド」というコンパネが起動するので、「再生タブ」でHeadset Earphoneが「GSX 1000 Communication Audio」で「規定の通信デバイス」になっていることを確認する
  4. サウンドの「再生タブ」でスピーカーが「GSX 1000 Main Audio」で「規定のデバイス」になっていることを確認する
  5. 「スピーカー」を選択し 「プロパティ」を選択する
  6. スピーカーのプロパティで「詳細」タブを選択し、規定の形式として「16ビット、48000 Hz(DVDの音質)」を選択し「OK」を選択する
  7. サウンドの再生タブで「構成」を選択し、「7.1 サラウンド」を選択して以後の全チェックボックスにチェックを入れて完了させれば7.1chになる

デフォルトではサポート外になってしまう理由

知っておくと賢くなった気になれるので書いておく。

USB Audio Classという規格があり、ドライバーなしで動作するのは1.x系、メーカーからの追加ドライバーが必要なのは2.x系である。後者のメリットは最大転送速度が向上している。GSX1000は前者のUSB1.1で接続しているので、つなげてすぐに音が出る代わりに、デフォルトの24ビットオーディオによる7.1チャネルはオーバーシュートしてしまうのでサポートできない。

したがって、7.1チャネルのサラウンドを有効にする解決策は、デバイスへの信号形式をWin10のデフォルト設定である24ビットオーディオから16ビットオーディオにダウングレード設定させて運用するのだ。