【おうちボルテ】WASAPI排他やASIOを使いながらOBSに音を乗せる方法
こんにちは、Lapisです。
おうちボルテ環境がほぼ完成形になったので、備忘録がてら色んな情報を書き出していこうと思います。
というわけで今回はWASAPIやASIOの排他モードを使用しながらOBSの録画/配信に音を乗せる方法について解説します。
音設定について
そもそも排他モードとは
Windowsには音の出し方に種類があり、それぞれ制御方法が違います。
詳しい内容はググって欲しいんですが、ざっくり言うと
カーネルミキサーに音を集めてから出力するタイプ
メリット:複数アプリの音をまとめて出力可能
デメリット:ミキサーを介すため出力までラグがある
例:Direct Sound、WASAPI(共有モード)アプリがサウンドデバイスを占有し、直接出力するタイプ
メリット:低遅延
デメリット:アプリ・デバイス間に他のシステムが介入不可
例:WASAPI(排他モード)、ASIO
の二つに分けられます。
普段私たちが使用しているのは1の方です。
1はミキシングを行うためYouTubeやゲームの音を同時に再生することが可能ですが、必ず遅延が発生します。
逆に2はアプリが占有するため低遅延ですが、複数アプリの音をまとめて聞くことは不可能です。
ボルテの音設定について
ボルテには音設定として以下の4つが指定できます
Direct Sound
WASAPI(排他モード)
WASAPI(共有モード)
ASIO
さっきの話を踏まえると、遅延の少ない2or4の設定にするのが望ましいですね。
実際に設定してみればわかりますが、1,3の設定より明らかに遅延が減り、ゲーセンと同等の低遅延になります。
普段のプレイであればボルテの音だけ聞こえていればよいのでこれで解決ですが、ここで問題が出てきます
問題点
WASAPI(排他)やASIOはカーネルミキサーを通さない排他制御であるために、
以下の問題が浮上します。
今出力しているデバイス先(イヤホンなど)で他アプリの音が聞けない
逆もしかりで、OBSなど他アプリがボルテの音を取得できない
今回はこれを力技でOBSに音を送る方法について解説します
OBSに音を乗せる方法
やり方
結論言ってしまうと
WASAPI(排他)やASIOで出力した音をオーディオスプリッターで分岐
分岐させた一つをPCのライン入力orマイクにぶち込む
それを音声入力としてOBSで設定する
てな感じです。
超絶ガバガバ絵で描くとこんな感じ
別のサウンドデバイス(この場合だとマイク入力)は別に占有されていないので、そっからならOBSは音取れるやんってことです。
実際に接続するとこんな感じ
要は適当なオーディオスプリッターとケーブルを用意し、
PCのマイク入力等にぶっ刺せばOK
(自分が使ったものは後述)
あとはOBSで「音声入力キャプチャ」を追加し、先ほどぶっ刺したマイクをデバイスとしてセットすればボルテの音が入ります
必要なもの
ぶっちゃけオーディオを分岐できれば何でもよいです。
自分が使っているのはこれ↓
※ついでにオーディオケーブルもついてくるので便利
やっすいと音質が気になりますが、普段2000~3000円のイヤホン使ってる
自分は特に何も劣化とかは感じませんでした。
因みに3本分穴が余るので、適当なピン接続できるスピーカー繋いで
イヤホン聞ける+スピーカーも鳴る いわゆるゲーセンの筐体と同じ状態にできます。
家に人呼んだ時とか便利。
注意事項とか
自分が遭遇した問題等をいくつか紹介します。
遭遇してないだけで他にもあるかも?
ノイズがヤバい
状況:イヤホン側で聞くと問題無いのにOBSで取得する音が
ガーガー鳴ってる
原因:わからん PCとかケースの端子の相性?
対策:入力先(オーディオケーブル→PCの接続先)を変える
例)ライン入力はノイズ乗る→マイク入力に変える音が小さい
状況:イヤホンで聞くには十分な大きさの音量なのに、
OBSで録音される音がめっちゃ小さい
原因:マイク入力だとなるっぽい
対策:OBSの設定で音量上げる