OBSの同期オフセットとは
OBSで配信や録画を行う際、音声と映像、あるいは異なる音声ソース同士でズレが生じることがあります。そうしたズレを補正するために使えるのが「同期オフセット」です。
例えば、会場の後方に設置したマイクで収録した環境音と、PAから直接受け取ったLINE音源を組み合わせると、環境音の方が遅れて聞こえることがあります。これは、スピーカーから音が後方マイクに届くまでの時間 >> LINE音源がケーブルで直接届く時間 となるからです。
動画編集であれば、収録後に波形を見て合わせることが可能ですが、配信ではOBS上でリアルタイムに音を合わせる必要があります。さらに、カメラ映像がある場合は、映像を見ながら口元の動きとも音を揃える必要があります。
私も配信を始めた頃は音ズレを考慮しておらず、せっかくの音がずれて見えてしまい、違和感のある配信になってしまいました。
そんなときに使えるのが、OBSの「同期オフセット」機能です。
同期オフセットは、OBSの「音声ミキサー」→「オーディオの詳細プロパティ」を開くことで設定できます。
この数値を上げると、任意のソースに対してミリ秒単位で遅延を加えることができます。つまりLINE音源と環境音を合わせる場合は、LINE音源の同期オフセットの値を少し上げるとよくなります。
同期オフセットはモニターと音声ミキサーには反映されない
OBSではレベルメーターやモニター機能を使って音声をモニタリングできます。
レベルメーターはデフォルトで表示されているこれ。

また、モニタリングデバイスにヘッドフォンなどを指定すると、そこから音をリアルタイムでモニタリングすることができる。
設定→音声タブ→詳細設定→モニタリングデバイスで適切なモニタリングデバイスを指定した上で、オーディオの詳細プロパティ→音声モニタリング→モニターと出力(もしくはモニターのみ)に変更する必要があります。


私は普段、OBSの音声のレベルメーターを見たりモニタリングデバイスで聞いたりしながら音の調整をしているのですが、同期オフセットを調整しても音が合わないことがわかりました。
以前からおかしいなと思っていたのですが、同期オフセットを極端に変化させてもズレが治らない。OBSのバグなのか、M2 Macだから挙動がおかしいのかと考えましたが、出力先のYouTubeでは正常に同期オフセットの分、音がずらされていました。
そこでようやく、同期オフセットは出力のみに反映される仕様だということがわかりました。
以下は実験
source1は0ms、source2は300msの同期オフセットを適応したが….

レベルメーターは変化せず、

モニタリングデバイスからの出力も変わらない
ちなみに画像は仮想オーディオデバイス(VB-CableやBack Hole)に出力したモニタリング音声をルーティングアプリ(Ladio Cast)で表示したもの。
オフセット後の音声を出力するには
OBSでは音のソースに対して、音声フィルタで適応したエフェクト類(コンプレッサー、リミッターなど)まではレベルメーターとモニタリングデバイスにも反映されます。
音声フィルタではVSTプラグインを挟めるので、遅延をさせるだけのVSTプラグインを設定すれば、入力段階で遅延を作ることが可能です。
私は無料で使えるVoxengo Sound DelayというVSTプラグインを入れてみた。上段「Audio Delay」の中のつまみを回せば遅延させられます。

ここでは単位がMSEC(ミリ秒)になっているので、×100のつまみを3にして300msの遅延を作りました。
OBSの本来の同期オフセットを0msに戻して先ほどと同じようにレベルメーターを見てみると、

期待通りモニタリングでも遅延を適用することができました。

(おまけ1) 同期オフセットは早めることもできる
映像とも同期させる場合、前述の方法で映像を基準に音声を遅らせれば問題ありません。また、万が一映像の方が早い場合には、映像フィルタにも映像の遅延(非同期)というフィルタがあるのでそれで対応できます。
基本的のはこれらの方法で音と映像を合わせることができるのだが、たくさん音や映像があって一つだけ音が遅い場合は、全て設定するのが大変です。
実は同期オフセットはマイナスの値にも設定することができるのです。

この値をマイナスにすると、他の音声に対してその音だけを早めることができます。私が試してみたところ、このマイナス値のオフセットは映像に対しても有効で、他の全ての音声/映像を遅らせる処理を遅らせる効果があるようです。
(おまけ2) チャンネルのルーティングにも便利
私が紹介したVoxengo Sound Delayというプラグインは音声チャンネルのルーティングにも便利そうでした。
Routingの設定で入力チャンネル、出力チャンネルの割り当てができるので、ステレオ→モノラル変換、左右のチャンネル反転→ステレオ入力→右だけに出力というようなことができるようです。

まとめ
以上、同期オフセットとレベルメーター/モニタリングデバイスの効果の関係について説明しました。
通常は音を遅らせるだけであればVSTプラグインを先に挟んでおくのが楽そうです。が、特定のソースだけ早めたい場合は、同期オフセットをマイナス値にして使うのが良さそうです。
ご覧いただきありがとうございました。この記事がOBSでの音ズレ対策の参考になれば幸いです。