OBSで疑似的にBusトラックを作りラウドネス分析や複雑なエフェクトを実現する
はじめに
OBSの各種キャプチャ機能は非常に優れています。プラットフォーム問わず同一のインターフェイスであること、複数種類のキャプチャ手段を備えること、無償であることなど、ゲームプレイの配信だけでなく様々なユースケースにおいて利用を検討できます。
しかしながら現状のOBSは高度な音声処理については実現が難しい部分が多く、特にMaster trackや複数トラックを束ねて(Bus track)なんらかの分析やエフェクトを掛ける為の機能は用意されていません。
上記故、OBSにおいて音声のクオリティを高めようとした場合、通常は外部のソフトウェアでオーディオのキャプチャとミキシングを行い、OBSはその取り込みと映像の処理だけを行うような構成を考えることとなりますが、インタラクティブな機能などの都合でどうしてもOBSによるキャプチャが必要なケースもあります。
この記事では、OBSにより映像や音声のキャプチャを行いながら、高度な音声処理を行う場合の構成についてリファレンスとしてまとめを書いていきます。
なお、この記事で解説する方法は少々荒業的な感覚を筆者自身が強く持っておりますので、今後よりgracefulな手段(たとえばOBS上のグループ機能でオーディオフィルタを利用する機能の追加など)が生まれれば、そちらを推奨したいと考えています。
また、この記事中で利用するReaStream
はその仕組み上音声の遅延が発生しやすく、音声の遅延が致命的な配信形態では利用が難しい点もご注意ください。
前提
- Windows 11
- 執筆時環境は
Windows 11 Pro 22H2 22621.1702
です
- 執筆時環境は
- OBS
- 執筆時環境は
29.1.1
です
- 執筆時環境は
- ReaPlugs VST FX Suite
- 執筆時環境は
v2.36 (January 2 2016)
です
- 執筆時環境は
- Element
- 執筆時環境は
v0.46.6
です
- 執筆時環境は
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
内のコンテキストメニューから Element
の Audio 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
にチェックが入っていることを確認してください。
次に Options
内 Audio 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プラグインにはMeldaProductionのMLoudnessAnalyzerなど実績ある企業の優秀な製品も多くあります。その点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点から始めるとよいでしょう。具体的には、
- BGM, ゲーム, マイク入力などを含め、トラック全体的に音声が入力されている状態を作る
❎
(Clear all measurements.
)ボタンをクリックする- 「
INTEGRATED
の値が-14 LUFS
程度」「TRUE PEAK MAX
の値が-1.0dB
程度」となるよう調整する
のような作業を試みれば十分です。
まずはこの3か所だけ。
より具体的な作業については、下記の記事で解説しています。
各トラックの音量調整方法
Audio Mixer
を開くことで、接続されている各トラックの音量調整を行うことができます。
各トラックの右にある黒いバーをドラッグすることで、音量を調整できます。またその下部にある M
ボタンをクリックすることで、当該トラックをミュートにすることができます。
おわり
以上のように設定することで、OBSにおいて疑似的にBus trackを再現し、高度な音声処理が可能になります。参考にしてください。
以後の部分にコンテンツはありませんが、有料プランに加入するとシユカが今日食べたパスタソース(約24文字)を知ることができます。
【 拍手プラン 】プラン以上限定 支援額:110円
このバックナンバーを購入すると、このプランの2023/05に投稿された限定特典を閲覧できます。 バックナンバーとは?
支援額:110円