OBSの音声出力を他のアプリへ渡す方法 (音声モニタリング)

音声ミキサー
OBSの音声ミキサー

以前、「仮想カメラ プラグイン (Windows版) 前編」で、OBSの仮想カメラを使って、OBSで構成したシーンの映像をLINEやDiscord、Skype、Zoomといったビデオ通信アプリのカメラ入力として取り込む方法をメモしましたが、仮想カメラの機能では、OBSの音声ミキサーからのオーディオ出力を同様のアプリに取り込む事は出来ませんでした。

初めは、OBSの音声ミキサーを経由せずに配信アプリで直接オーディオ入力を設定するのが唯一の方法かと思っていましたが、OBSの音声ミキサーからの出力を他のアプリで取り込む方法がOBSのフォーラムにあったのでここにメモしておきます。



1. OBSのオーディオ出力も他のアプリへ?

OBSで構成したシーンの出力 (映像とオーディオ) は、OBS本来の機能だと、配信サーバーか録画ファイルにOBSから直接送られます。 でも、OBSの仮想カメラを使うとOBSからの出力映像は他のアプリにカメラの映像として取り込む事ができます (👉「仮想カメラ プラグイン (Windows版) 前編」参照)。

ウインドウズ版の仮想カメラだと、OBSの出力映像とサウンドはマイクロソフトのDirectShowによって、サウンドも画像と一緒に他のアプリに渡されるみたいですが、最近は、DirectShowのサウンド入力に対応していないアプリがほとんどなので、サウンド出力は仮想カメラでなく別の方法を使って他のアプリに渡す必要があります。

最近、OBSのフォーラムで見つけたのは (昔からあった方法みたいですが)、OBSの音声ミキサーの「音声モニタリング」機能を使う方法で、この方法でOBSのミキサーの音源をオーディオデバイスに出力出来るので、その出力を他のアプリの入力へ渡す事が可能になります。


2. OBSの音声ミキサーの「音声モニタリング」機能

音声モニタリング」は、OBSの音声ミキサーの音源を一つ又は複数選択してヘッドフォンなどのオーディオ出力デバイスに送る事が出来る機能で、OBSからの配信/録音用の出力とは別に、音源からの音を実際に耳で聞いて音質の確認 (モニター)が出来ます。

また、音声モニタリングの出力はOBSの出力と同様に音声ミキサーのスライダーとミュートボタンによってコントロールされます。 なので、音声ミキサーで使われている音源全てで「音声モニタリング」を有効にすると、OBSの出力と同じ信号がモニタリング用のオーディオ出力デバイスに送られます。


3. 音声モニタリングの設定

次にOBSの「音声モニタリング」のセットアップ方法をメモしておきます。

  1. モニタリングデバイスの選択: OBSの設定でモニタリングに使うオーディオ出力デバイスを選択します。
  2. モニター用音源の選択: モニタリングをする音源を選択します。

i. モニタリングデバイスの選択

OBSのメニューから「ファィル」 > 「設定」を選んで設定画面を開いてから、左側にある「 音声」をクリックします。 すると、右側に音声の格設定が表示されます。 その中の「詳細設定」の欄に「モニタリングデバイス」とあるので、その右をクリックして開くポップアップリストからモニタリングに使う出力用オーディオ・デバイスを選択します。

設定画面でのモニタリングデバイス設定例
設定画面でのモニタリングデバイス設定例

ii. モニター用音源の選択

モニターする音源は、「オーディオの詳細プロパティ」ウインドウで、各音源の音源のモニタリング有無に設定します。 このウインドウはOBSの音声ミキサーの枠内をクリック (ウインドウズの場合は右クリック) した時に開くポップアップメニューから「オーディオの詳細プロパティ (A)」を選んで開く事が出来ます。

オーディオの詳細プロパティ
「オーディオの詳細プロパティ」

「オーディオの詳細プロパティ」には設定されている音源がリストされるので、 モニタリングしたい音源の列で、左側にある「音声モニタリング」の縦の行の設定で「モニターオフ」ではなく「モニターと出力」又は「モニターのみ (出力はミュート)」を選択する必要があります。

ウインドウの左下に「アクティブなソースのみ」のオプションがありますが、✅選択すると選択中のシーンで有効になっている音源だけがリストされて、選択を外すと他のシーンでのみ有効になる音源も含めて選択中のシーン・コレクションリスト全体の音源が表示されます。


4. 出力デバイス ⇒ 入力デバイス

上記の設定で「音声モニタリング」を使うとOBSの音声ミキサーからのオーディオを一つのオーディオ出力デバイスに出力出来る様になりますが、今度は、これをオーディオ入力デバイスへ渡して他のアプリで取り込める様にする必要があります。


オーディオケーブル

一つの方法としてですが、もしも、使っていない入力と出力のオーディオデバイスがある場合は、次の様にモニタリングデバイスからの出力をオーディオケーブルで繋げて入力デバイスに渡す事も可能です。


HDMI経由でオーディオ出力
音声モニタリング出力

例1: 出力を入力デバイスに接続。。

この例では、HDMI接続のモニターに付属するオーディオ出力をモニタリングデバイスにして、そこからの出力をオーディオケーブルを使ってライン入力に繋げています。 HDMI接続のモニターにはヘッドフォン端子付きのモデルが良くありますが、もしも、こういったモニターを使っている場合は、HDMIモニター付属のオーディオ出力を使っていないか、パソコン本体のオーディオ出力を使っていない可能性があると思うので、オーディオケーブルがあれば比較的簡単に設定出来ます。

但し、この場合は、デジタル信号をアナログ信号に変換してオーデイオケーブルに出力して、入力側でまたアナログ信号からデジタル信号に変換するので、ある程度のノイズの混入と、使われているオーディオデバイスによっては数十ミリ秒単位の遅延が生じる可能性もあると思います。

又、HDMIモニターでなく、USB接続のオーディオデバイスを使う事も可能ですが、数百円程度の低下価格のUSBオーディオデバイスの場合だとビット深度 (解像度) が16ビットなどという商品もあるので、そういったデバイスを使う場合は一般的なオーディオデバイスを使う場合よも音質の低下が酷い可能性が高いので注意が必要です (24ビットかそれ以上の解像度のあるデバイスがあると良いかと。。)。


仮想オーディオケーブル

例1の様に物理的なオーディオケーブルと入出力デバイスを使うのとは別の方法として、次に、仮想オーディオ・ケーブルを使う方法をメモしておきます。

仮想オーディオケーブルは、PC上でエミュレートされる仮想のデバイスで、一般に、入力側と出力側の仮想オーディオデバイスのペアで構成されていて、入力側に渡された信号がそのままか、信号の形式を整えてから出力側から出力される仕組みになっています。

仮想ケーブルは無料の物から有料の物までいくつかありますが、ここでは「VB-Audio Software」社の「VB-CABLE」を使って設定してみます。 VB-CABLEはウインドウズとマックに対応していて、無料で使えますが、気に入ったらサポートとして寄付をして欲しいというドネーションウェアになっています。 VB-CABLEの一般的な使い方や設定方法については次のメモ👉「VB-Cable 仮想オーディオ・ケーブル (Virtual Audio Cable)」を参照してみて下さい。

macOSの場合は「soundflower」と「LadioCast」を使う事も可能のはずですが、M1シリコンのマックの場合はsoundflowerが対応していないので代りにVB-CABLEが選択肢の一つになります。 (インテル版のマックに関しては手元に無いので確認していません。)

音声モニタリング出力
仮想オーディオ・ケーブル
Skype
LINE
例2: 仮想オーディオケーブルを使ってOBSの音声ミキサー出力を他のアプリへ

VB-CABLEを使ってOBSの音声ミキサーのオーディオ出力をLINE、SkypeやDiscordといった通信アプリに送りたい場合は:

  • OBSのモニタリングデバイスを「CABLE Input (VB-Audio Virtual Cable)」に設定、
  • 受け取り側のアプリのマイク入力を「CABLE Output (VB-Audio Virtual Cable)」に設定します。

OBSのオーディオ出力のサンプリング周波数 (又はサンプリングレート)は、OBSのメニューで ファイル (F) > 設定 (S) で設定ウインドウを開いて右側の「 音声」をクリックした後に表示される右側の「一般」の欄にある「サンプリングレート」で確認/設定が出来ます。 また、現在の処、このサンプリング周波数は44.1kHzか48kHz(標準値)どちらかの設定だけが可能だそうです (👉OBSフォーラム「What audio sampling rate to use? 44.1khz/48khz? (英語)」)。

Windows ウインドウズの場合は、このOBSのサンプリング周波数と、VB-CABLEの内部、入力側と出力側のサンプリング周波数の4つの値を同じ周波数にしておくと、周波数の変換が不要になるので、パソコンの負荷が少なくなります。 他の用途でVB-CABLEを違うサンプリング周波数で使う必要が無い場合は、サンプリング周波数を同じ値にしておくことをお勧めします (👉メモ帳「VB-Cable 仮想オーディオ・ケーブル」の VB-CABLEの細かい設定 参照)。


まとめ

OBSの仮想カメラに加えて、OBSの音声モニタリング機能と普通の/仮想オーディオケーブルも合わせて使う事で、OBSで構成したシーンの映像とオーディオ出力の両方が他のアプリで扱える様になります。

但し、OBSの音声ミキサーからオーディオを取り出すのに音声モニタリング機能を使うので、ミキサーの音源個々音質をチェックするという音声モニタリンク本来の使い方は出来なくなります。


コメント

  1. > 但し、OBSの音声ミキサーからオーディオを取り出すのに音声モニタリング機能を使うので、ミキサーの音源個々音質をチェックするという音声モニタリンク本来の使い方は出来なくなります。

    これですが、設定→サウンド→サウンドコントロールパネル→録音タブを選択→CABLE Outputを選択してプロパティ→聴くタブを選択→このデバイスを聴くにチェックを入れて適応
    というステップを踏めば仮想ケーブルに音声を流したまま音声をモニタリングすることが可能です!!

    返信削除
    返信
    1. コメントありがとうございます。確かにコメントにある方法でOBSから他のアプリに渡される音のモニタリングは可能です。 でも、OBSのミキサーの音声モニタリングだと、配信用として選択されていない入力音源でも配信音声に加えずにモニタリングする事が出来るので、そういった使い方が出来なくなるという意味でした。 少し説明不足だったかもしれません。

      削除

コメントを投稿