配信修行僧

Elgatoの2PC配信用オーディオアプリ「Wave Cast」を試す。煩雑な音声取り回し解決の救世主となるか

Wave Cast

 Stream Deckなど配信向けのハード/ソフトを手がけるElgatoが2PC配信向けのオーディオアプリ「Wave Cast」をベータ公開した。未完成ではあるものの、今後搭載予定の機能も見据えると、大きな可能性を秘めたソフトだと感じる。早速試してみた。

2PC配信の難点

 わざわざ2PC構成で配信をする理由は人によって違うかもしれないが、多くの場合は、配信によってゲームのフレームレートを落としたくないというのが理由だろう。凝ったことをしなければ、OBSのシステム負荷はたかだか数%でゲームに大きな影響は与えない。しかし、筆者のように多数のソースを使い、かつそれらに多数のプラグインでエフェクトをかけているような環境だと、OBSのGPU負荷が下手なゲームより高かったりもする。それは極端な例だが、たとえ数%でもゲーム性能に影響があるのは事実なので、一部のプロゲーマーは念には念を入れてゲームと配信でPCを分けていたりする。

筆者の配信環境。ここには写っていないがデスクトップを2台使っている

 そこで問題となるのが音声の取り回しだ。2PC配信ではほとんどの場合、ゲーミングPCの映像と音声はビデオキャプチャユニットで配信PCに取り込む。この時、古い世代でハードウェアエンコード式のキャプチャユニットを使っていたり、あるいはキャプチャユニットがソフトウェアエンコードで低めのスペックのPCを使っている場合、取り込んで表示する映像と音声に体感できるレベルの遅延が発生することがある。

 そのため、たいていの場合、まず画面については、キャプチャした映像ではなく、キャプチャユニットのパススルーHDMI出力からつないだ先のモニターの映像を見る。パススルー出力なら遅延がないからだ。これは音声にも当てはまる。

 ただ、そうなるとその音声はHDMI出力した先のモニターにヘッドフォンなりをつないで聴く必要が生じる。ゲーム配信中に聞く音声はゲーム音だけではない。フォローやサブスクなどの通知アラートで出る音、配信に載せるBGM、Discordのボイスチャットなど、ゲーム以外にも聞くべき音がある。つまり、ゲーミングPCと配信PC、それぞれが発する音を聞けるようにしないといけないわけだ。

 多くの場合、ゲーミングPCにつないだモニターの音声出力端子から、配信PCにつないだオーディオインターフェイスのライン入力端子にオーディオケーブルをつなぐことで、配信PCの音を聞きながら、遅延のないゲーム音も聞けるようになる。

 しかしこれでもまだ問題がある。それは、ゲーム内のボイスチャットに自分のマイク音を送れないということだ。自分がやるゲームがストリートファイター6だけなら、ゲームでボイスチャットを使うことはないので、上記構成でも問題ない。しかし、Valorantのようにゲーム内のボイスチャットも使いたい場合、マイク音の取り回しが相当面倒になる。

 XLR接続のマイクの場合は、オーディオミキサーを用意してマイクをつなぎ、それぞれのPCの入力端子か、オーディオインターフェイスの入力端子にマイク音を分配してやる必要がある。USBマイクの場合は、配信PCからマイク音だけをゲーミングPCに伝送するのはかなり難しいので、マイクをもう1つ用意してゲーミングPCにつなぐのが一番楽だと思われるが、スマートではない。

 こういった2PC配信での音の取り回しの煩雑さを解消するために発売されたデバイスの1つがBEACNの「BEACN Studio」だ。詳しくは下記の関連記事を参照いただきたいが、この製品はUSB Type-Cが2ポートあり、2台のPCに同時につながるオーディオインターフェイス。これにマイクとヘッドフォンをつなげば、両方のPCで鳴る音を聞けるし、1つのマイクを両方のPCで同時に利用できるようになる。

BEACN Studio
背面にUSB Type-Cが2ポートあり、2台のPCに同時につながる

Wave Castの機能

 このBEACN Studioの機能をソフトウェアで実現しようとするのが今回Elgatoが公開したWave Castだ。このソフトを2台のPCにインストールすると、ゲーミングPCの音をネットワーク経由で配信PCに送信し、配信PCでゲーム音を聞けるようになる。

 Wave CastはElgatoの他のアプリと違い、公式サイトのダウンロードページではなく、Elgato Marketplaceで公開されているので、ダウンロードにあたりElgatoアカウントの作成が必要になるが、現時点ではだれでも無償で利用できる。

 使い方は簡単で、ゲーミングPCと配信PCそれぞれにWave Castをインストールする。最初にインストールした方にライセンスキーを入れる必要があるが、ベータ版用に「WaveCastBeta2025」というキーが公開されている。片方でライセンス認証すれば、もう片方も自動的に認証される。

 2台のPCにインストール、起動すると、「Remote PC」としてそれぞれの相方のPCが表示されているはずなので「Connect」ボタンを押す。最初にWave Castを起動したPCが配信PCとして認識されるが、「This PC」と「Remote PC」の間に表示されている矢印をクリックすれば、どちらのPCから音声を送るか、つまり配信PCとゲーミングPCの関係を切り替えられる。

最初にインストールするPCにライセンスキーを入力する
起動したところ
2台のPCに入れると、「Remote PC」のところに相方のPC名が表示される
Connectを押すと、このようにつながる

 ゲーミングPC(Remote PC)側の「Choose app audio」の下のリストをクリックすると、「All Audio」、「Foreground」、そして任意のアプリを選べる。All Audioを選ぶと、ゲーミングPCで鳴るすべての音が配信PCに伝送される。同様にForegroundを選ぶと、最前面にある、つまりアクティブウィンドウの音が、そして任意のアプリを選ぶと、そのアプリ(ゲーム)の音だけが伝えられる。

 よくできていると思ったのは、配信PCで動いているWave CastでもChoose app audioのリストから対象アプリを選べる、つまりゲーミングPCで鳴っているどの音を聞くかを選べる点だ。

 配信PC(This PC)に複数のオーディオデバイスがある場合、「Choose audio output」のリストをクリックして、どのデバイス(チャンネル)で鳴らすかも指定できる。

ゲーミングPCからどのアプリの音を流すか、またその音の送り先も選べる

気になる遅延は?

 LAN経由で音声を送信するということで気になるのは遅延だ。これについて、筆者が所有しているBEACN Studioを使うと、ローカルとWave Cast経由とで同時に音声を鳴らすことができたので、それぞれをOBSの別オーディオトラックに割り当てて録画することで比較してみた。検証に使ったのはストリートファイター6だ。

 結果としてはWave Castでは約5フレーム(1フレーム=60分の1秒=約16.7ms)の遅延があった。約5フレームと書いたのは、筆者もこの検証をするまで知らなかったのだが、ストリートファイター6では絵と音声の処理は完全に同期しておらず0.5フレームほどずれることがあるためだ。

ローカル再生(オーディオトラック3)とWave Cast経由再生(オーディオトラック2)の音をOBSで別トラックに録音し、Premiere Proでプレビューすると、Wave Castの音声は約5フレーム遅れていた

 ストリートファイター6をそこそこやりこんでいる人なら、5フレームの遅延はかなり大きなものだと考えるだろう。筆者もこの数字を見ただけだと、ストリートファイター6をやる上でWave Castは使い物にならないと判断しただろう。

 しかし、意外にも約5フレーム遅れた音を聞きながらプレイしてもそこまで違和感がなかったのだ。ストリートファイター6では、PCの設定によって映像の「表示遅延」を2フレーム前後縮めることができるのだが、この2フレーム表示遅延は筆者でも体感できるレベルであり、かつコンボなどを行なう上でかなり大きな影響がある。

 だが、映像ではなく音声が遅延する場合、5フレーム程度の遅延があっても、最初は「あ、ちょっと遅れてるかな?」と思っても、すぐに慣れてしまった。おそらく、ストリートファイター6をプレイする(コンボなどを行なう)上であまり聴覚には頼っておらず、ほとんど視覚に頼っているからなのではと思われる。

 あるいは、ストリートファイター6では、技が当たったのが画面上で見えてからヒット音がするまでに7~8フレームほどの遅延があるので、そこから5フレーム程度遅れても気にならないのかもしれない。もちろん、格闘ゲームのコアプレイヤーならこの遅延が気になる可能性も十分あるが、それ以外のゲームジャンルでは影響はかなり少なそうだ。

 遅延についてもう1つ気になるのは有線LANと無線LANで差が出るのかという点だ。Elgatoは有線LANの利用を推奨している。筆者のゲーミングPCと配信PCには10GigabitのLANカードを取り付けてあり、上記の検証はこの有線LANで行なっている。そこで続いて、両方のPCをWi-Fi 5(IEEE 802.11ac)につないで同じ検証をしてみた。

 結果としては、無線LANの場合でも遅延については約5フレームで変化がなかった。しかし、時々音声がプツプツ切れることがあった。無線LANではパケットロスが発生しやすいので、それで音声データが欠落したのだろう。比較的干渉を受けにくいWi-Fi 5でこれなのだから、2.4GHz帯のWi-Fiだとさらに問題が出るだろう。

 もう1つ遅延に関して、Wave Castで歯車アイコンを押して「Preferences」画面を開き、「Network」を選択すると、オーディオストリームの遅延(Latency)設定を変更できる。初期設定では20msとなっており、最小では10msにできる。遅延を10msに変更して再度検証すると、音の遅延は約3フレームに減少した。

 今回の短い検証期間においては、10msにしても不具合は起きなかったが、ネットワーク環境によっては遅延を小さくしすぎるとバッファリングができなくなり、音の途切れが発生する可能性が高まるが、途切れが起きないのならなるべく小さくした方が良さそうだ。

PreferencesのNetwork設定画面
Audio Stream Latencyの丸の所を長押しするとその実際の数値が見える。デフォルトでは20ms
最小値は10ms

 なお、細かいことだがこの遅延は、配信PCとゲーミングPCとで個別に変更できる。また、たとえばこの設定画面で「Network Adapter」を有線LANにしたまま、PCのネットワーク接続だけを無線LANに変えても(つまりPC同士はWi-Fiで同じネットワークにつながっていても)Wave Cast同士は接続できない仕様になっているので、どのLANアダプタを使うかを明示的に指定しよう。

 このほか、検証中に突然Wave Cast同士の接続が解除されることがあった。また、つながっていても音が鳴らなくなることもあった。一度問題が起きると、マシンを再起動しないと音が鳴らなくなったりもした。このあたりは、ベータ版ということで、今後安定性は製品版が出るまでに改善されるだろう。

 1つ仕様と思われる点で気になったのは、ゲーミングPCから鳴らす音として「All Audio」を選んだ場合、ゲーミングPCと配信PCの両方でゲーム音が鳴ってしまう点だ。ゲーミングPCをミュートにすると、配信PCでも音が鳴らなくなる。いろいろ試した結果、ゲーミングPCではAll Audioではなく、プレイするゲームを選ぶようにした上で、ゲーミングPCのスピーカーをミュートにすれば、配信PCのみからゲーム音を出せるようになった。この設定は最初まごつくかもしれない。

マイク機能の実装に期待

 短い時間だったが今回の検証をした限りでは、Wave Castはゲームに支障がないレベルの遅延で簡単にゲーミングPCの音を配信PCに取り込めることが分かった。

 ただ、ここまで読んで、Wave Castの機能では、マイクの音声をゲーム内ボイスチャットに送れないという2PC配信の問題を解決できていないことに気付いた人もいるだろう。

 しかし、これについてはすでに配信PCのマイク音をゲーミングPCに送る機能も近く実装予定であることが明らかにされている。この機能が搭載されたら、5フレーム程度の音声遅延による影響を受けないゲーマーなら、音声の取り回しに苦労したり、BEACN Studioのようなハードを買わなくても済むようになる。

今後実装予定の機能として配信PCからゲーミングPCへのマイク音声の送信がある

 ただ、おそらくだがWave Castにライセンス認証があるということは、製品版では有償になると思われる。あまり高価になると、遅延がないBEACN Studioのようなハードを買った方がいいという話になる。個人的には1万円以下になることを願いたい。

 とは言え、たとえ有償であっても、2PC配信をする人にはかなりお勧めできそうなツールだと感じた。また、マイク対応以外にも、Stream Deckへの対応も予定されており、Elgatoならではのそのあたりの連携ぶりにも期待がかかる。