音楽系オンラインレッスン用配信システムの解説 [高音質ステレオ/Zoom配信機材/ OBS/NDI/Ladio Cast/Blackhole/ループバック/マイク]

自分メモ的な音楽用オンラインレッスンシステムの解説です。はっきりいって難解です。

オンラインレッスン用ですが、配信などのシステムにも使えると思います。歌配信を行う場合はOBSかオーディオインターフェース上でリバーブを用意すれば転用できると思います。

役に立ちましたらページ最下部よりぜひご支援をお願いいたします(*´ω`*)

このシステムで実現できること

  • Macの出力音と喋り用のマイクを混ぜた音声を高音質で配信できる
  • 配信と同時に高音質で録画・録音できる

配信システム

配信はZoomを使用し、画面切り替え及び音声の取りまとめにOBSを使用。

NDI(Network Device Interface)という仕組みを用いてZoomとOBSを接続しています。NDIは比較的新しい規格のようで、ロイヤリティフリーであるため様々な企業が参加。様々なPC・ソフトウェアの映像や音声をソフトウェア上で接続できるようです。NDIにより、OBSで表示される画像とOBSの出力音がZoomに送られます。

なお、OBSのプラグインでSmart Virtual Cameraというプラグインがありますが、Smart Virtual Cameraの場合は映像のみで音声は受け渡しがができません。

PC spec
Mac Pro Mid 2010
10.14.6 Mojave
2 x3.33GHz 6Core Intel Xeon
64GB 1333 MHz DDR3

インストール方法・設定方法などのメモ

OBS ダウンロード
https://obsproject.com/ja/download

OBSでNDIを使用するにはNDIプラグインとNDIソフトウェア(NDI Virtual Input)をインストールする必要があります

OBS NDIプラグイン(4.9.1)のダウンロード
https://github.com/Palakis/obs-ndi/releases

macならpkgのファイルをダウンロード

インストーラーが入手できますのでインストールを進めると、追加でNDI runtimeという奴をインストールするよう促されます。このNDI runtimeをインストールしないとOBSにNDIが現れないのですが、バージョン4.9.1のページには表示がなく、バージョン4.9.0のページからインストーラーがダウンロードできます

OBS NDIプラグイン(4.9.0)&NDI runtime
https://github.com/Palakis/obs-ndi/releases/tag/4.9.0

Ver4.9.0にあるndi runtimeのインストーラーをダウンロード

インストールが完了するとOBSを起動した後に、[上部メニュー>ツール]から、[NDI Output Setting]が選べます。ポップアップメニューで[Main Output]にチェックを入れることでOBSからNDIに出力されるという仕組みのようです。

続いてはOBSから出力された信号を受け渡すためのソフトウェア[NDI Virtual Input]を起動します。NDI Virtual InputはNDI Toolsというソフトウェア群に含まれており、公式サイトで入手します。Webサイトから直接インストールできず、サイトから登録するとメールでURLが送られてきます。

NDI Toolsインストール
https://www.ndi.tv/tools/#download-tools

NDI Virtual Inputは起動するだけで特に設定はありません。参考までに、上部メニュー>NDIと選択すると、PCの名前に続いてOBSの表示が出てきます。このOBSが先程OBSからNDIに出力した信号を指しているようです。

NDi Virtual Inputは起動するだけでOK

以上の設定でZoomの映像/音声入力でNDI Audio/NDI Videoが選べるようになります。

音声システム

macにはオーディオインターフェースが2台接続されています。

RME Digiface USB:通常の音楽制作に使用しているオーディオインターフェース。USBでMacに接続。DAW(PC)出力音をループバック機能でPCに戻す役割をします。

TASCAM US-20×20:オンラインレッスン用のオーディオインターフェース。USBでMacに接続。講師用マイクの音声をOBSに入力する役割をします。

なぜ2台体制になっているかというと、OBSではオーディオインターフェースのCh1-2の信号しか受けられないため、マイク音声をOBSに送るためにはオーディオインターフェースの1-2入力を使用する必要があります(たぶん)。

しかし通常使用しているRME Digiface USBは1-2chを他の用途に使用しているため、異なるオーディオインターフェース(TASCAM US-20×20)の1-2chをマイク入力用に使用しました。(オーディオインターフェースを2台同時に接続するって、普通にできるようになったんですね。)

PC出力音(DAW出力音)

macの出力音声(=DAW出力)をOBSに接続するためには、RME Digiface USBのLoopback機能を用いてPC出力音をRME Digiface USBからPCに戻し、Ladio Castアプリケーションで受け取り、Blackholeドライバーに出力、最後にOBSでBlackholeから信号を受け取っています。

PC→RME(Loopback)→Ladio cast(仮想ミキサー・パッチベイ)→Blackhole(仮想オーディオドライバー)→OBS

Ladio Cast
内部の信号経路をパッチングできるミキサーのようなソフトウェア。インターネットラジオ放送用ソフトとされています。
https://apps.apple.com/jp/app/ladiocast/id411213048?mt=12

Blackhole
mac用仮想オーディオドライバー。従来同様の目的ではSoundflowerが用いられていましたが、SoundflowerはM1非対応のため現在はBlackholeが主流のようです。
https://existential.audio/blackhole/?pk_campaign=github&pk_kwd=readme

普通に考えればLoopbackされた信号をOBSで受けられそう(Ladio CastとBlackholeがなくても接続できそう)なのですが、ドライバーの相性なのか、RME Digiface USBのループバック音はOBSで受け取れません。選択しても信号が流れてこないのです。※他のオーディオインターフェースならできると思います。

いうことで、RME Digiface USBからループバックで戻ってきた音を一旦Ladio Castで受け取り、Blackholeへパッチングします。

続いてOBSの入力でBlackholeを指定します。これでPC出力音がOBSに入力されるようになりました。

ポイントは、なぜかオーディオインターフェースのループバックをOBSで受け取れないという点です。

普通に考えれば受け取れそうなのですが、どうやっても全く反応しませんでした。調べてみたところ、ループバック音だけでなくRME Digiface USBの入力の音声はどれひとつOBSでは受け取れませんでした。マルチ入力のオーディオインターフェースではうまく受け取れないのかもしれません。

メモ
上記の方法はオーディオインターフェース(RME Digiface USB)経由でLadio Castに送っていますが、PC出力先をオーディオインターフェース(RME Digiface USB)ではなくBlackholeにすることで、オーディオインターフェースを介さずに(ループバックを使わずに)OBSに信号を送ることも可能です。
しかしこの方法の場合は毎回PC音声の出力先を切り替える必要があるのと、デジタルノイズが混入し音質が劣化していたためやめました。音質を考慮しないのであれば問題ないと思います。

講師用マイク(喋り、歌配信用マイク)

続いてはPC音と別に、喋り用のマイクをOBSに入力します。

  • RME Digiface USBの入力はOBSでなぜか受け取れない
  • OBSでは1-2chしか受け取れない(多分)

という2つの理由から、マイク入力専用に別のオーディオインターフェース(TASCAM US-20×20)を用意しました

US-20×20の1chにSENNHEISER e 945マイクを接続し、OBSのソースに[マイク]を追加、入力先にUS-20×20を選択しています。

なぜかUS-20×20に入力された信号はすんなりOBSに入力することができます(;・∀・)
やはりRME Digiface USBのドライバーとOBSになんらかの相性問題のようなものがありそうです。

ここまででOBSにPC出力音と喋り用マイクの2つの音を入力することができました。

マイクについては、当初無指向性のピンマイク(ラベリアマイク)を使用していましたが、無指向性だと部屋の音を拾いすぎて不要な響きが多く扱いにくかったため、単一指向性のマイクに変更しました。筆者の場合は音楽系なのでマイクが堂々と写っていても違和感がないため、ハンドマイクを使用しています。

マイクが映るのが嫌な場合は、ヘッドセットタイプの単一指向性マイクが良いと思います。

マイクの音質と音量調整

喋りの音量というのは音量差が大きいので、そのままだとPC出力音に対して小さすぎて聞き取りにくくなります。OBSでプラグインエフェクトを用いて音量差を少なくします。OBSではVSTエフェクトが使えます。

OBSマイク入力のメーター右、歯車マークから[フィルタ]を選択します。

左下の[+]から[VST2.xプラグイン]を選択すると、VSTプラグインが使用出来ます。画像では無料のコンプレッサー、MCompressorを使用しています。

MCompressor
Melda Productionの無料プラグインバンドルに含まれるコンプレッサー。以下の記事でインストール方法を説明しています。
https://soundworksk.net/garageband-mix-05/

注意点としては、OBSのフィルタ経由ではWavesのプラグインが使用できないようです。Wavesプラグイン自体は認識されていますが、[Waves -Shell]という形でまとめて認識されてしまい、個別のプラグインを使用することができませんでした。(WavesはWaves-Shellというグループのようなものでプラグインをまとめて管理しています)

映像システム

映像はデスクトップ画像と講師カメラの2カメ構成です。デスクトップについてはOBSのソースで[画面キャプチャ]を使えば映像を取得可能です。

講師画像についてはiPhoneをカメラとして使用し、以下のアプリを用いてパソコンに入力しています。

Camo
https://reincubate.com/ja/camo/

Wi-Fi経由でも接続できますが、Wi-Fiの方がタイムラグが大きいようなので、USBケーブル経由でmacに接続しています。

録画

レッスンの様子は録画した映像を生徒さんにお渡ししています。

Zoom経由で配信しているのでZoomでレコーディングできるのですが、Zoomで録画した場合は音質が劣化してしまいます。そもそもレッスンではやり方を説明するので音質はさほど重要ではないのですが、動画だけでも音質を良くするために、お渡しする動画はOBSで録画したものを送っています。

まとめ

完全に自分メモですが、オンラインレッスン時の設定は以下の通りです。

  • iPhoneをUSBケーブルでmacに接続しiPhoneでcamoを起動
  • RME Digiface USBのLoopbackが有効になっているか確認
  • Ladio Castを起動
  • TASCAM US-20×20を起動、マイクを接続
  • OBSを起動し音声入力と映像入力を確認
  • OBSでNDI Outputを有効化
  • NDI Virtual Inputを起動
  • Zoomを起動し入力をNDI Audio/NDi Videoに設定
  • 開始したらOBSで録画

なかなか大変です。笑