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の設定

GSX 1000

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

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

  1. タスクトレイのスピーカーを右クリックして「サウンド」を選択する
  2. サウンドの「再生タブ」でHeadset Earphoneが「GSX 1000 Communication Audio」で「規定の通信デバイス」になっていることを確認する
  3. サウンドの「再生タブ」でスピーカーが「GSX 1000 Main Audio」で「規定のデバイス」になっていることを確認する
  4. 「スピーカー」を選択し 「プロパティ」を選択する
  5. スピーカーのプロパティで「詳細」タブを選択し、規定の形式として「16ビット、44100 Hz(CDの音質)」を選択し「OK」を選択する
  6. サウンドの再生タブで「構成」を選択し、「7.1 サラウンド」を選択して以後の全チェックボックスにチェックを入れて完了させれば7.1chになる