サンプリングレートの設定ミスによる遅延

はじめに

配信を開始すると、
「はじめはそれほどでもないのに、徐々に映像と音声がずれてくる。」
そんな現象に遭遇することもあったりします。

その原因の一つに、
・オーディオ信号のサンプリングレートの設定ミス
という場合もあります。

音ズレに悩んでいる方は、設定を見直してみると良いかもしれません。

注記:
この記事で触れていることは、筆者も理解が浅い部分であり、下部に とりあえずの「対処法」は記しましたが、本当のところの原因はいまいちわかってなかったりします。
それでも、ここに記載した「対処法」が、音ズレに困っている方の改善へとつながると思い、投稿することにします。
(筆者はこれで、音ズレに明らかな改善がありました)
もしかしたら記事内に、考え方・理解等について、間違いがあるかもしれません。ご了承下さい。

サンプリングレート・ビット深度とは

参考:サンプリング周波数 – Wikipedia
参考:ビット深度(音響機器)- Wikipedia

サンプリングレートとは、音声をデジタルで記録・再生するときに使われる単位のようなもので、
音声 を1秒間にどれくらい 標本化(サンプリング)したデータか を表すものです。
単位としては Hz(ヘルツ) が使われることが多いようです。

ビット深度とは、1つのサンプリングを何ビットで表現するか、というもので、16bit とか 24bit とかで表記されています。
記録できる音声の差を、無音状態 から 最大音量状態 まで、何段階に分割して記録するか、という形でつかわれるもので、ビット深度が大きければ大きいほど、繊細に音声を記録・再現できます。

ザックリと言えば、
音の波形(音声編集ソフトなどで見かけるアレ)の
縦軸の最小単位 が ビット深度
横軸の最小単位 が サンプリングレートで決まります。

デジタルで音声を扱うときは両方とも、だいたいセットで 表記されています。
たとえば以下のように。
CD: 16bit 44.1kHz
DVD: 24bit 48kHz

オーディオインターフェースの設定などでも 44100Hz 16bit 等の表記が出てきます。
それぞれのオーディオインターフェースにより、設定できる値・扱える音質が異なります。

なぜサンプリングレートの設定ミスで、音ズレが起こるのか

この辺がちょっと筆者うまく説明できません。
自身が音ズレになやんでいたときに、いろいろと情報を探しては見たのですが、
しっくりくる説明、のようなものを見つけられませんでした。

音ズレ対策の情報を載せているサイトをみても、ちらっと1・2行、
・連続的な音ズレが発生する場合、サンプリングレートがずれていないかどうか見直してみるとよい
と書かれてて、たしかにそれで筆者の環境でも良くなったのですが・・・

筆者の環境の場合

ちなみに筆者の環境だと、配信の音ズレが発生していたときの録画をみかえすと、
・音声がやや早めに再生される(記録の時間軸がやや短くなっている)
という症状がありました。人に 言われるまでついうっかり見逃すような、でも言われてみれば確かに早い、というような、微妙な速度上昇でした。

設定を見返してみていたところ、
映像:OBS Studio利用→Virtual-Cam経由→ZOOMミーティングへ入力
音声:OBS Studio利用→VirtualAudioCable経由→ZOOMミーティングへ入力
としていたときの、
OBS Studioの音声設定が44.1kHz
VirtualAudioCableのWindows設定が48kHzとなっていました。

映像のほうは、OBS Studio で一度加工され、さらに ZOOMミーティングのほうで 加工されている感じになっています。

VirtualAudioCable自体の扱えるサンプリングレート設定の範囲はかなり広め(専用設定アプリ内で確認)だったので油断していたら、
いつのまにか(デフォルトで?)Windowsのほうの設定で、「既定の形式」が 48kHz と設定してあった のが、盲点でした。
Windows側で サンプリングレート固定設定されてたんだ~と。
ここを修正したら、配信中の連続的な音ズレが改善されました。

サンプリングレートの設定方法

サンプリングレート設定の考え方

サンプリングレートは、できる範囲で、同じに統一しておいた方が良いです。
配信ソフト や ミキサーソフト などでは 複数の入力を扱うため、そういった差異を変換してくれている(はず)ですが、それでもサンプリングレートの変換が起こるたびに音質が劣化していきます。
今回はそこに音ズレも絡んでいる、という感じです。

サンプリングレートを確認・設定するべき場所は、
・配信ソフト および 仮想ミキサーソフト (OBS Studio・Voice Meeter Banana 等)
・音声の入出力デバイス(オーディオインターフェース ・ マイク など)
・仮想Audioケーブル(Virtual Audio Cableなど)
です。
ここのサンプルレート設定を、配信中に使うものについて、できるだけ統一していきます。
44.1 kHz もしくは 48kHz で統一していった方が良いと思います。
オーディオインターフェースが扱えるサンプリングレートは、ものによって制限があったりします。
(筆者が持っている FastTrackPro というオーディオインターフェースは、同時に出入力可能な端子数を増やすと、対応サンプリングレートの種類が減っていくような仕様になっていました)
適宜、確認しながら設定していってください。

配信ソフト および 仮想ミキサーソフト

XSplit

XSplit では、サンプリングレートの設定項目が見当たりませんでした。
この辺の不具合がでないように、内部でうまくやってくれているのかもしれません(未検証)

OBS Studio

OBS Studio では 設定 → 音声 → 一般 で サンプリングレートを設定できます。
44.1 kHz もしくは 48 kHz で設定できます。

Voice Meeter Banana (仮想ミキサーソフト)

Voice Meeter Banana では Output A1 に設定した出力先のサンプリングレートが基準となります。
サンプリングレートの差異について、入力側での不具合はないようですが、
仮想ケーブル(仮想ポート)が、Output A1 の基準に合わせて設定されるようです。

音声の出入力デバイス

・オーディオインターフェース および マイク 等
・仮想Audioケーブル(Virtual Audio Cableなど)
ともに設定方法の流れは同じです。
環境によっては数が多いので、設定し忘れが無いよう気を付けてください。

オーディオインターフェース および  マイク 等

仮想Audioケーブル(Virtual Audio Cable等)

  • 専用の設定用アプリなどがある場合は、まずそちらで設定を変えてみてください。
  • それから、Windowsのほうの設定を変えていきます。
    Windowsの「サウンド コントロールパネル」を開きます。
    ・スタートメニュー → Windowsシステムツール → 「コントロールパネル」 を開く
    ・「ハードウェアとサウンド」 の 「サウンド」 をクリックする
  • 以下、「再生」タブと「録音」タブに表示される機器(音声ポート)で配信に使うすべてのものについて、確認・設定。
    • 機器のプロパティを開く (選択してプロパティボタン もしくは 直接ダブルクリック)
    • 「詳細」タブを開く
    • 「既定の形式」で、サンプリングレートおよびビット深度 の組み合わせを 統一するサンプリングレートの中から 選択し、「OK」ボタンを押す。

終わりに

説明・解説・設定のほうは以上となります。
あいまいな部分が多く、うまく説明できなくて申し訳ありません。
音ズレに悩んでいる人の助けになれば幸いです。

タイトルとURLをコピーしました