シユカ 2023/05/22 22:58

OBSで疑似的にBusトラックを作りラウドネス分析や複雑なエフェクトを実現する

はじめに

OBSの各種キャプチャ機能は非常に優れています。プラットフォーム問わず同一のインターフェイスであること、複数種類のキャプチャ手段を備えること、無償であることなど、ゲームプレイの配信だけでなく様々なユースケースにおいて利用を検討できます。

しかしながら現状のOBSは高度な音声処理については実現が難しい部分が多く、特にMaster trackや複数トラックを束ねて(Bus track)なんらかの分析やエフェクトを掛ける為の機能は用意されていません。

上記故、OBSにおいて音声のクオリティを高めようとした場合、通常は外部のソフトウェアでオーディオのキャプチャとミキシングを行い、OBSはその取り込みと映像の処理だけを行うような構成を考えることとなりますが、インタラクティブな機能などの都合でどうしてもOBSによるキャプチャが必要なケースもあります。

この記事では、OBSにより映像や音声のキャプチャを行いながら、高度な音声処理を行う場合の構成についてリファレンスとしてまとめを書いていきます。

なお、この記事で解説する方法は少々荒業的な感覚を筆者自身が強く持っておりますので、今後よりgracefulな手段(たとえばOBS上のグループ機能でオーディオフィルタを利用する機能の追加など)が生まれれば、そちらを推奨したいと考えています。

また、この記事中で利用するReaStreamはその仕組み上音声の遅延が発生しやすく、音声の遅延が致命的な配信形態では利用が難しい点もご注意ください。

前提

ReaStreamとは

今回利用する ReaStream とは、ReaPlugs VST FX Suiteに同梱されるVSTプラグインです。
このVSTプラグインを利用すると、ネットワーク越しに同プラグイン間で音声やMIDI信号の送受信が可能になります。今回はこれを用いることで、VADを占有せずに外部のVSTホストアプリとOBSでキャプチャした音声を送受信します。

ReaPlugs VST FX Suiteは無償で利用できますが、これらのVSTプラグインが本来同梱されるREAPERを有償で購入することもできます

Elementとは

今回利用する Element とは、米国のKushviewという小規模企業が開発しているVSTホストアプリです。DAWのような高度な作曲用機能を持たないシンプルな構成であることが特徴です。
今回はOBSでキャプチャした音声をReaStreamを経由しこのElementへ送ることで、高度な音声処理を実現します。

なお、Elementの開発は現在GitLab上で行われていますが、インストーラ等のバイナリはGitLabから取得することができません。Kushviewの公式ウェブサイトは本日404ですが、バイナリだけであればGitHubから取得可能です。

ElementはGPLv3で提供されている為無償から利用することができますが、さまざまな方法で開発を支援することができます。

OBSとVSTホストアプリの接続

今回の肝となる作業です。

1. 必要なソフトウェアをインストールする

今回はOBS以外のソフトウェアとして下記を利用します。事前にインストールしてください。

  • ReaStream
    • ReaPlugs VST FX Suiteをインストールすることで導入できます
  • なんらかのVSTホストアプリ
    • 普段お使いのもので構いません
    • 今回は、無償から利用できるElementを例に取ります

2. OBSで必要なソースを追加する

配信において利用したい音声のキャプチャをひととおり済ませてください。ここでは普段と変わらない方法で構いません。

3. 各音声ソースをミュートにする

2で追加した各音声ソースについて、音量をミュートにしてください。対象は今回ReaStreamを用いて外部VSTホストアプリへ送信したいソース全てです。


VDO.Ninjaのブラウザソース、マイク、ゲームキャプチャなど様々

念のため書いておくと、この操作から察せられるとおり、各ソースの音量調整をしようとOBSの音量設定を操作しても無視されることとなり、原則送信先のVSTホストで行うこととなります。注意してください。

4. 各音声ソースにReaStreamを設定する

各音声ソースの フィルタ音声フィルタ として、VST 2.x プラグイン を追加します。

ReaStream を選択します。具体的には reastream-standalone となっているはずです。

選択したら、プラグインインターフェイスを開く をクリックし、

  • Enabled を選択
  • Identifier: このトラックを一意に識別できる任意の文字列
    • 他のトラックと同じにならないよう上手く設定してください
  • Send audio/MIDI を選択
  • IP: * local broadcast

となるように設定しましょう。


設定例。

ここでの操作は全ての音声ソースで繰り返し行う必要があります。


設定例。今回は対象とするトラックが2つなので、それぞれこんな感じにしてみた。

5. Element上でReaStreamを経由し音声を受信する

Element(またはお使いのDAW)を起動し、ReaStreamを追加します。
Graph 内でコンテキストメニューを開き、PluginsからReaStream (reastream-standalone) を選択すればよいでしょう。

さきほどOBSで行ったのは送信側ですから、ここでは対応する受信の設定を行えばOKです。具体的には、

  • Enabled を選択
  • Identifier: さきほど設定したトラックの識別子
  • Receive audio/MIDI を選択

のような形です。これもトラックごとに繰り返し行う必要がある点に注意してください。


設定例。

6. 必要に応じてエフェクトを掛ける

適用したいエフェクトを、5で追加したReaStreamから接続する形で行ってください。場合により、後続7のMixer後が適切なケースもあります。

具体的には、本記事にて後述する使用例「ラウドネス分析をする」などの作業を行うとよいでしょう。

7. Mixerを通す

あくまでイメージですが、受信した音声をMaster trackへ束ねるとお考えください。
Graph 内のコンテキストメニューから ElementAudio Mixer を追加してください。

Audio MixerのInputへ、各ReaStream(またはその配下のエフェクト)のOutputを接続してください。


設定例

8. Mix後の音声をOBSへ戻す

7時点では実際の配信に音声が載ってくれません。これをOBSへ戻す必要があります。
手法としてAとBを用意しました。お好みの方法を選んでください。

8-A. VADを使う

ElementからVAD = 仮想オーディオデバイスへ音声を出力し、これをOBSで取り込む方法です。
VADの導入が必要な他、当該VADを他の用途で使っていないこと(今回の用途で占有できること)が条件です。

VADとは何か?に関しては下記が参考になります。

Graph 内コンテキストメニューで Audio Outputs にチェックが入っていることを確認してください。

次に OptionsAudio Output Device から、お使いのVADを選択します。

Graph 内に当該VADが表示されていますので、ここにAudio MixerのOutputを接続してください。


設定例

この状態で、当該VADをOBSでキャプチャすればOKです。新たに音声入力キャプチャを追加し、対応するVADを選択してください。


設定例

これで、Element上でMixした音声をOBSでキャプチャすることができました。

8-B. ReaStreamを経由して戻す

既にVADを他用途で占有している場合はこちらを参考にしてください。

こちらの方法ですと、冒頭に書いた "少々荒業的" な感覚を得られるかと思います。よりgracefulな方法があれば教えてください。

Element上でReaStreamを追加し、音声の送信Send audio/MIDI)を行うようにしてください。ここで設定するIdentifierも一意なものになるよう注意しましょう。


設定例

次にOBSのソースとして メディアソース を追加します。

音声ファイルとして無音のファイルを設定してください。無音のファイルはご自身で作成するか、あるいは外部から取得可能なものを設定するとよいかと思います。
常に無音のファイルが再生され続ける状態を作ればOKです。


設定例

次に当該メディアソースフィルタとして、ReaStreamの受信Receive audio/MIDI)側を設定してください。


設定例

これで、Element上でMixした音声をOBSでキャプチャすることができました。

ラウドネス分析をする

使用例です。

配信における音声の設定を考える時、ラウドネス分析は効果的かつ重要です。
OBSではMaster trackへVSTプラグインを適用する手段がないものの、本記事のような構成にすることで全てのトラックをMixした上でのラウドネス分析が容易に行えます。

Youlean Loudness Meterとは

今回ラウドネス分析の設定例中で利用するYoulean Loudness Meterは、Youlean Softwareが提供するVSTプラグインです。

ラウドネスメーターとして広く用いられるVSTプラグインにはMeldaProductionMLoudnessAnalyzerなど実績ある企業の優秀な製品も多くあります。その点Youlean Loudness Meterは新興でありますが、音響を専門としないユーザにとって扱いやすい機能を多数備えている為、手に馴染んだ製品がない場合にはおすすめできます。

Youlean Loudness Meterは無償で利用できますが、より高度な機能を使いたい場合には有償版を購入することができます

なお、執筆時環境はV2.4.3です。

1. ElementにYoulean Loudness Meterを追加する

Element(またはお使いのVSTホストアプリ)の Graph 内で Youlean Loudness Meter を追加します。

追加されたプラグインのInput/Outputを接続します。今回は最終的にYouTubeやTwitch等へ配信する際のMaster trackにおける値を分析することが目的なので、Audio Mixer配下に挿入するのが適切と考えられます。


設定例

2. 値を見ながら調整する

Youlean Loudness Meterの画面に表示される値を確認しながら、各デバイスやトラックの調整をします。
具体的にどのような調整を行うかは個々人の好みや技量にも依る為割愛しますが、

  • 各トラックの音量調整
  • コンプレッサーやイコライザを用いた音圧調整
  • 利用するマイク等ハードウェアの設定や位置調整

などが考えられます。

Youlean Loudness Meter 内での値として初めての方が確認すべき値としては、

  • INTEGRATED (LUFS)
  • TRUE PEAK MAX (dB)

の2点から始めるとよいでしょう。具体的には、

  1. BGM, ゲーム, マイク入力などを含め、トラック全体的に音声が入力されている状態を作る
  2. Clear all measurements.)ボタンをクリックする
  3. INTEGRATEDの値が-14 LUFS程度」「TRUE PEAK MAXの値が-1.0dB程度」となるよう調整する

のような作業を試みれば十分です。


まずはこの3か所だけ。

より具体的な作業については、下記の記事で解説しています。

各トラックの音量調整方法

Audio Mixer を開くことで、接続されている各トラックの音量調整を行うことができます。

各トラックの右にある黒いバーをドラッグすることで、音量を調整できます。またその下部にある M ボタンをクリックすることで、当該トラックをミュートにすることができます。

おわり

以上のように設定することで、OBSにおいて疑似的にBus trackを再現し、高度な音声処理が可能になります。参考にしてください。

以後の部分にコンテンツはありませんが、有料プランに加入するとシユカが今日食べたパスタソース(約24文字)を知ることができます。

【 拍手プラン 】プラン以上限定 支援額:110円

このバックナンバーを購入すると、このプランの2023/05に投稿された限定特典を閲覧できます。 バックナンバーとは?

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

記事のタグから探す

月別アーカイブ

記事を検索