ゲーム音と音声全般を分離して動画を撮る【win10】
動画を撮っているときにふと思う。
あ、他人の声を入れたくないや。自分のはどうしよう迷うな・・・。
そう、ゲーム音と音声全般を分けて録画したい時がある。
手持ちのゲームと周辺アプリでそれらしく出来たので記録として残しておきます。
PC環境とアプリ
まず、関係しそうな部分のみ私の環境について公開
- OS:Windows 10 pro
- GPU:Nvidia GTX 1080ti
- オーディオ:Sound BlasterX G5など(外部機器)
ミキサー機能のあるものが良い
続いて使用例のアプリ
- ゲーム:何か好きなのを
- 通話:Skype、TeamSpeak3など
- 録画:ShadowPlay
こんなところでしょうか。
ホワイトノイズの改善法も掲載しています。
構成概要(1):ゲーム音 / マイク音声を分離
概要をブロック図で説明します。
黄色:音声データ
青色:アプリ
赤色:再生/録音デバイス(既定のデバイス)
橙色:外部機器(既定の通信デバイス)
※既定の通信デバイスは通話時、音量が変更されるだけの機能のため実際には設定しなくても問題ありません。今回は分かりやすく区別するために利用しております。
緑色:録画データ
音声データ
まず、ゲーム音は既定デバイスとなっているRealtekスピーカーより出力。
理由としては、ステレオミキサーが使用できるところです。
次に、マイク音声はどの機器から入力しても構いません。
どこで使うかは、上記の通り録画アプリと通話アプリになり恐らく普段と変わらない構成だと思います。
ネットワーク音声(通話音声)についてもそのままだと思われます。
アプリ
こちらについても、例の通りSkypeでなくTeamSpeakやDiscordでも可能と思います。
気を付けないといけないのは設定です。
特に出力に関してはRealtekスピーカー以外の外部機器(Sound BlasterX G5やUSBオーディオ変換など)に設定します。
入力は通常通りマイクを設定します。
ゲームに関してはシステムに依存するため省略します。
オーディオ
オーディオはPC内臓のRealtekと外部機器(Sound BlasterX G5)の2種類となります。
設定としては、Realtekを既定のデバイスとしてゲーム音声などのシステム音を扱い、外部機器(Sound BlasterX G5)は既定の通信デバイスとします。
既定の通信デバイスで出力される音声は、既定のデバイス上では再生されません。
また、Realtekのミキサーは録音機器として認識されているため「このデバイスを聴く」機能が使えますので、これを外部機器(Sound BlasterX G5)に設定します。
と、することで既定デバイスで出力されているゲーム音等と共に通話音声を外部機器のスピーカー/ヘッドフォンで聞けるようになります。
録画データ
肝心な録画についてですが、こちらはNvidiaのShadowPlayを活用します。
GeForceのグラフィックボードを使用しているのとPCの性能条件が満たしていれば利用可能です。
録音対象のゲーム音は、既定のデバイスのオーディオ機器Realtekから出力になります。
マイク音声は設定で変更できます。上図の場合は通話アプリと同じマイクを選択します。
そして、ちょっと重要なのがバージョン3.0以降で利用可能になったオーディオトラックの設定です。
こちらを「両方のトラックを分離する」に選択すると1つの動画データで2種類の音声が保存されます。(ゲーム音のみと、音声が入ったゲーム音)
但し、編集ソフトによっては片方しか出力されないことがあるようです。
詳細な設定方法
- ステレオミキサーの有効化
ステレオミキサーが表示されていない場合は、「サウンド」の「録音」タブでデバイスをどれか右クリックし「無効なデバイスの表示」にチェックを入れます。
すると、ステレオミキサーが表示されると思いますので、有効化してください。
- ステレオミキサーを外部機器で再生するよう設定
1.で開いているステレオミキサーのタブを「聴く」に切り替えます。
「このデバイスを使用して再生する」はスピーカー/ヘッドフォンが接続される外部機器を選択し、「このデバイスを聴く」にチェックをします。
「OK」を押してウィンドウを閉じます。
- 再生デバイスの設定
次は、「サウンド」の「再生」タブで「スピーカー(Realtek High Definition Audio)」を「既定のデバイス」に設定します。
そして、外部機器の「スピーカー(Sound BlasterX G5)」を「既定の通信デバイス」に設定します。
- 通話アプリの設定
マイクは、普段使っている機器より入力してください。
スピーカーについては、Realtekを選択します。
- ShadowPlayの設定
ShadowPlayのオーバーレイを開き、「設定」→「オーディオ」を選択します。
マイクは、通話アプリと同じく普段使っている機器より入力してください。
次に「オーディオトラック」の「両方のトラックを分離する」を選択し、「戻る」を押して「完了」を押します。
以上、設定となります。
この5つの順番通りでないと既定のデバイス変更タイミングでアプリ側の設定も変わることがありますので注意しましょう。
他に設定の必要がありそうなのが、各オーディオデバイスのプロパティにある「詳細」→「既定の形式」でサンプルレートとビットの深さを合わせる必要がありそうです。
録画データの確認はVLCメディアプレイヤーでは、画面を右クリックして「オーディオ」→「オーディオトラック」より「system sound(ゲーム音のみ)」と「Microphone(音声)」が選択できると思います。これによりゲーム音のみ録画と言うことでも利用できます。
ただ、気になったのがゲーム音を中継している流れの為、折角高音質が出力できる外部機器の時その性能が発揮されないのではと言う疑問点が残ります。
構成概要(2):ゲーム音のみ / ゲーム、通話、マイク音を分離(※マイク音声が聞こえる)
今回、外部機器の例としてSound BlasterX G5使用していますが、この機器はステレオミキサーと同等の機能を保有しています。
構成(1)ではマイクの音声は動画のトラック2に録音できますが、通話の録音が出来ないために通話中はあまり意味を果たさない仕様となっています。
それを解消する代案が以下のブロック図となります。
無理矢理感が凄いです。
これですとUSBオーディオ変換の特徴とも言えるマイクノイズの軽減が出来ません。
それに、個人的な大きなデメリットとしてマイク音声が聞こえてしまうという点です。
Sound BlasterX G5の「再生リダイレクト」機能はSound BlasterX G5で流れている音声を録音機器として流すだけですので仕方ない事ですが・・・。
あまり需要がない構成でしょう。
詳細設定
- Sound BlasterX G5の設定
ここで、再生リダイレクトを使用するために「外部マイク(Sound BlasterX G5)」と「ライン入力(Sound BlasterX G5)」を無効化、または「再生リダイレクト」を既定のデバイスに設定します。
この設定を行わなければ再生リダイレクトが使えません。
- マイク(Realtek)の設定
次に入力するマイク音声の設定です。
上図の通りSound BlasterX G5の再生リダイレクトで流したいため、プロパティの「聴く」タブで「このデバイスを聴く」にチェックを入れ「スピーカー(sound BlasterX G5)」を選択しましょう。
これでSound BlasterX G5より音声が流れると思います。
- ShadowPlayの設定
構成(1)の5項目と同じ設定画面です。
ここでは、ゲーム、通話、音声を録画したいため設定画面のマイクに「再生リダイレクト」を選択します。
これで録画をすると「ゲーム音」と「ゲーム、通話、音声」の2つのトラックに分離されます。
やっぱり自分の声が入るのには違和感を感じるな・・・
構成概要(3):ゲーム音のみ / ゲーム、通話、マイク音を分離
今度は自分の声を入れません。
方法としてはもう1つUSBオーディオを入れます(は?
以下ブロック図となります。
ここまで来たら仮想ミキサー入れた方が良いレベルです。
(と言うか(2)の時点で。
しかも、この構成を成立させるには「再生リダイレクト」機能を持つSound Blasterシリーズが2つも必要なこと。
偶然にもSound BlasterのUSBオーディオが家の中で転がっていたから出来た構成となります。
偶然Sound Blasterを2つも持っているという方はいないと思いますので詳細設定は省略とします。やってみたい方は構成(1),(2)の設定方法参考に上図の通り構成すると再現できます。
次にお勧めの分離方法を紹介します。