見出し画像

仮想ミキサーでは現行最強クラス❣ VB-Audio Matrixの使い方❣

キャラクターイラスト Show-G様
キャラクターデザイン 井ノ内様

 初めての方、初めまして。初めてじゃない方、こんれる❣
 バ美肉ボイチェンVTuber夜御牧れるです❣(って名乗らないと上の女は何かソフトウェア本体と関係あるのか?って疑問がわくかもしれないからね? 一応ね?)

 本記事では、ASIOデバイスだけで3台、その他にも複数の物理・仮想オーディオデバイスを同時に制御し配線できる、仮想ミキサー「VB-Audio Matrix」について解説していきます。

 2023年10月、VoiceMeeter Banana等で有名なVB-Audioさんが新しい"ユニバーサルオーディオルーター"「VB-Audio Matrix」(以下Matrix)をリリースしました。一見雑然としていますが、旧VoiceMeeterよりシンプルで素直なUIです。

 が、2024年1月現在、公式マニュアルも薄く日本語圏での情報などほとんどないので、備忘も兼ねてこちらにまとめます。


ところで

 最強とか付けておいてなんですが、海外のAIボイチェンニキはVB-Audio製品ではなく、VAC(Virtual-Audio-Cable by Muzychenko)なる仮想ケーブルを使っているようです。。遅延の問題?

VC Client v.1.5.3.17b 更新ログからリンクされていた記事 )

VoiceMeeter Bananaとの主な違い

※(日本語圏での情報もけっこう多い)旧ソフトウェアと比較しての利点をまとめています。興味ない方は目次から「基本的な使い方」まで飛んでください。

物理デバイスを占有しない

 他のアプリケーションで使用中のデバイスをMatrixに割り当てても、どちらも問題なく動作します。
 VoiceMeeterは出力デバイスを占有するので、他のアプリケーション(Windowsのシステム出力先含む)で使用中のデバイスをVoiceMeeterに割り当てるとうまく動作しないことがありました。

物理・仮想デバイス制御数の増加

 物理ASIOデバイス3台、その他物理オーディオ入力・出力それぞれ4台のほか、仮想オーディオデバイス4系統、仮想ASIOデバイス4系統、ネットワーク接続5系統を同時に制御できます。

 VoiceMeeter Potatoは入出力それぞれ5系統でしたがASIO兼用なので、ASIOなしの環境でもなければ実質的にPotato以上の機能です。

 ……タイトルに「最強」と付けましたが、実は上位製品の「VB-Audio Matrix Coconut」がありまして、そちらは各系統Matrix無印の倍の台数つなげます。これもうわかんねぇな。

デバイス制御画面とルーティング画面の分離

 最大で680チャンネルもの入出力系統があるので、さすがにオーディオルーティング専用の画面が用意されています。

 左側が入力、上側が出力でつなぎたいところをつなぐだけという(慣れれば)シンプルな画面。デバイス単位ではなくチャンネル単位で接続できます(7.1ch等サラウンド環境の接続は面倒になりましたが……)。

オーディオルーティングのプリセット機能

 設定総入れ替えではなく、ルーティングのうち一部のみを選別してワンタッチで切り替えられるプリセット機能が付きました。

 用途はというと、一例として、ヤミマキさんは遅延2秒弱のAIボイチェン構成なので、音声モニタリングをボイチェン適用前/後のどちらで行うかを切り替えるのに利用しています。

ASIO入出力とその他のオーディオ入出力(MME、DirectSound等)が別のカテゴリに分離

1-2行目がASIO、3-4行目がその他の機器

 VoiceMeeterだと物理ASIO出力は出力側A1専用で1台しか使えず、物理ASIO入力については出力側設定後にSystem SettingsでPATCHの設定をする必要がありました。

 MatrixではややこしいPATCHの設定をしなくてもASIO専用スロットにデバイスを割り当てるだけで使えるようになります。また、3台もの物理ASIOデバイスを同時に制御できます。

仮想ASIOデバイスと仮想オーディオデバイスの分離

 DAW等で使うVASIOデバイスと、一般的なアプリから見える仮想オーディオデバイス(VAIO)が分離されています。

 VoiceMeeterだとSystem SettingsのPATCH INSERTでDAWを挟むか設定できたのですが。PATCH有効だとDAW上でのルーティングを忘れるとVoiceMeeter上でつながっているように見えていても音が出ず、逆にDAWありきの構成のままPATCH無効にするとDAWがバイパスされる……といった事象が発生するので、PATCH INSERTはちょくちょく切り替えているとトラブルの種でした。

基本的な使い方

 本題。日本語圏での情報が少ないのでまとめてみます。何より時間が経つとヤミマキさん本人が設定の仕方を忘れるので

 ちなみにですが、VB-Audio Matrixの設定は「マイドキュメント」直下の「VBAudioMatrix」フォルダに入っています。バックアップはこのフォルダをコピーすればOK。復元はWindowsユーザーフォルダ下の「AppData\Roaming\VBAudioMatrix_Default.xml」を先に消してから先のフォルダを戻せばよいです。

無印版で使えない仮想デバイスの無効化

 インストールすると下記のように「VBMatrix In/Out 1-8」と8つずつの仮想デバイスが追加されます。
 が、5-8についてはVB-Audio Matrix Coconutでないと使えないようです。邪魔なのでWindows側の「サウンドの詳細設定」で無効化してしまいましょう。

サンプリングレート等の全体設定

 メニューから「Settings…」を選択し、System Settings画面を開きます。
 System Settings画面の左側にはスロット(デバイス)一覧が表示されますが、この画面ではスロット名の変更ぐらいしかできません。
 ここでは右側の設定をいじります。

 まず中央上「Preferred Main SampleRate」を適切に設定します。配信の場合は48000Hz、CD品質音源の場合は44100Hzあたりが標準的ですが、お持ちのオーディオ機器が対応しているかにもよります。

 上のほうにバッファの設定があります。バッファは長いと遅延が発生する代わりに安定性が増して負荷が減ります。例えばサンプリングレート48000Hzの環境では、48サンプル毎に1ミリ秒の遅延が追加で発生します。
 削りすぎると音が割れたりするはずですが、ヤミマキさんの環境だとこの画面では削れるだけ削っても問題ないようでした。(Ryzen 7 5800HとかRyzen 9 7900Xでの話なので、あまり参考にならないかもしれませんが……)

 一番下、TALKBACKとMONITORは、よく分かっていませんがおそらく名前からして特定ないし不特定のオーディオ入力をどこかの出力に直接流しこむスイッチの設定だと思われます。地声をOBSに流すような事故を起こしたくないので、わたしは両方とも使わないスロットを割り当てています。

オーディオデバイスの割り当て

 次にメイン画面でオーディオデバイスを割り当てていきます。

 物理デバイスのスロットについては、画面にある通りCtrl+クリックでデバイス選択画面が出ます。ASIO欄はカニさんチップ(Realtek製品)とか選択肢には出ても(ASIOで)動いてくれないデバイスがたまにあるので注意。非ASIOの物理デバイスの場合、3つ選択肢がありますが基本的にMME>WDM>KSの順に遅延が小さくなります。ただし互換性等はその逆です。

 仮想デバイスのスロットは「Online」表示をCtrl+クリックするとON/OFFが切り替わります。

 ASIOデバイス(物理・仮想両方とも)はスロットによってチャンネル数に差があります。
 物理ASIOデバイスの場合は実際に使えるのは実機と同じチャンネル数なので、Babyface Pro(12ch)とかAG06(6ch)みたいな多チャンネルミキサーでもスロットを選ぶことはないでしょう。
 仮想ASIOデバイスのほうはスロット毎に使えるチャンネル数が変わります。公式サイトの説明を見るに、スロットによって同時に使えるクライアント数が変わるようです……が普通はDAWくらいでしかASIO使わ(え)ないと思いますのでどのスロットでも問題ないでしょう。迷ったら「VASIO64A (2x Clients)」ないし「・・・64B」が無難かと。

 また各スロットの右クリックメニューにもいくつか項目があります。
 「Change Color」は後述のルーティング画面等での表示色を設定します。
 物理デバイスにある「Device Master」は、おそらくオーディオデバイス間の時間同期の基準をどのデバイスにするかの設定なので、(お持ちの場合は)メインのオーディオインターフェースを選択すると良いと思います。

 仮想オーディオデバイス用のスロットうち非ASIOのものは、「・・・smp」の部分をCtrl+Clickするとバッファを調整できます。
 VAIOのレイテンシはデフォルト7168サンプル(48kHz環境で150ms弱)とかなり大きいので調整したほうがよいかと思いますが、そこまでは詰められないです。詰めすぎると赤くなるので限界反応を超えたことが分かります。マグネットコーティングしなきゃ

スロット(デバイス)・チャンネルへの名前付け

 各スロット(デバイス)・チャンネルに別名を付けることができます。物理デバイス用のスロットはそのままで問題ないかと思いますが、仮想デバイス用のスロットや大量のチャンネルは用途に合わせて名前を付けておいたほうが管理しやすいでしょう。

  スロット(デバイス)の名前はメインメニュー「Settings…」から飛べる画面で変更できます。
 デバイス一覧の右のほうに薄く表示される「Click here to edit USERNAME」のところをクリックすると名称変更欄が表示されます。

 チャンネルの名前はメインメニュー「Full MATRIX View…」から飛べる画面で変更できます。こちらは行・列タイトルとなっているチャンネル欄を右クリックすると「Edit Name」という項目があります。

オーディオルーティング

 デフォルトの状態だとDAW(VASIO)にもその他のVBMatrix Outにも何の音も流れないので、メインメニュー「Full MATRIX View…」からルーティングの設定をします。あるいは、メイン画面左上のタイトル「MATRIX」押下でもルーティング画面に飛べます。

 左側が入力元、上側が出力先です。それぞれ繋ぎたいラインが交差する点を右クリックし「Set Gain on 0dB」(音量±0dB)等を選択すると、入力元のサウンドが出力先に流れるようになります。「Reset Point」で接続解除。
 あるいは繋ぎたい交点にカーソルを置いてSpaceキーを押下することでも接続/解除できます(右クリックメニュー上にも記載のあるショートカットキー)。
 左クリックするとゾーン選択モードになりますが、もう一度適当なところをクリックすると選択解除されます。

 ステレオ以上のチャンネル数のデバイスは上/左からL→Rと並んでいると思われますが、物理デバイスはものによって違うかもしれません。チャンネルごとに接続する必要があります。ちなみに、モノラル入力をステレオ出力につなぐ場合は同一の入力元を出力先LR両方に接続します。

 VASIO(DAW)については通常DAW側のオーディオI/O設定も変更する必要があります。

 左上にはミニマップがあり、多数の入出力チャンネルがアクティブになっているときでも繋いでいる箇所にすぐ飛べるようになっています。

プリセット

 オーディオルーティング画面では、一部のチャンネル群をプリセットとして保存し、まとめて接続状態を切り替えることができます。

 まず、右のプリセット一覧で操作対象とするプリセットを選択します。
 それからルーティングペインの右クリックメニューでプリセットにルーティング情報を保存していくわけですが、以下3項目があります。

  • 「Store All Grid in Selected Preset」は、プリセットを現在のすべてのルーティング設定で上書きします。

  • 「Store Zone in Selected Preset」は、元のプリセットの内容を消去し、選択中の範囲のルーティング設定で上書きします。

  • 「Add Zone in Selected Preset」は、元のプリセットの内容はそのまま、加えて選択中の範囲のルーティング設定を追記します。

 Zoneの選択については、左クリックで始点を選択したあと、終点で右クリックしてプリセットを操作します。終点で左クリックしてしまうと選択解除されるので注意。

 プリセットに含まれるルーティング設定については、水色で強調表示されます。灰色の項目は選択中のプリセットには含まれていません。

 保存したプリセットの操作ですが、「A」をクリックすると配線状態が切り替わります。「M」はミュートです。dB数をスライドさせてまとめて音量調節できます。特定の環境でしか使わないと思いますが、「P」は位相反転です。

設定例(DAW+スタンドアロンボイチェン)

 機能ごとの解説を読んでも分かりづらいと思いますので、ここで一つ環境全体の設定例を書き出してみます。

 (VSTプラグインではなく)スタンドアロン型のソフトウェアボイスチェンジャーを使い、DAWを通して配信ソフトOBSに流す、ゲーム実況等向きの設定です。

(挿絵 いらすとや様
※VAIO2はボイチェン入出力で、緑色の矢印のみ接続
  • 音声入力ソースは「(モノラル)マイク」「デスクトップ音声」の2つ

  • ボイスチェンジャーは(VSTプラグインではなく)スタンドアロン型のソフトウェアを使用

  • マイクからの音声は、ボイチェン適用前にDAW上でノイズ除去等を行う

  • OBSに流す前に、DAW上で「ボイチェン声」「デスクトップ音声」の音量調整等と合成を行う

  • 最終出力音声を、(OBSを通さず)ヘッドホンでモニタリング

    • VASIO64A Input 57/58を割り当てています。一応8チャンネル1グループと考えて、最後の8Ch.の頭2つを使っています。

(ちなみに、ヤミマキさんが実際に使っている設定はさらに複雑です。。わたしのはこちらの発展型)

 VB Audio-Matrixの画面においては、Matrixへの入力がIn、Matrixからの出力がOutになっています。外部ソフトウェアから見るとIn/Outが逆転するので注意。Windowsの「サウンドの設定」あたりを見ると分かるかと思います。

全体設定の例

※VoiceMeeter Bananaと違ってデバイスを占有しないので、先にWindowsのデフォルト音声出力先を切り替えたりする必要はないです。

 可能であれば先にASIO機器(≒オーディオインターフェース)のコントロールパネルをいじり、サンプルレートを最終出力(動画向け48kHzもしくはCD音質の44.1kHz)に合わせ、バッファサイズの調整をしておきます。Matrix上でもASIOデバイススロットに割り当てたあとであればその右クリックメニューからコントロールパネルを呼べます。

 さて、VB Audio Matrixメイン画面のメニュー「Settings…」から設定画面を開き、バッファの調整などを行います。

 Matrix側のバッファ量については、(わたしの環境では)削れるだけ削って大丈夫でした。音割れ等が発生するようなら引き上げましょう。
 「Preferred Main SampleRate」は最終出力かASIO機器のそれに合わせます。「Virtual ASIO Type」はInt32LSBで問題ないでしょう。

 「TALKBACK Device Slot」「MONITOR Device Slot」は使いどころが分からず誤爆が怖いので、(わたしは)使わないWIN4.IN/OUTを割り当てています。

デバイスのスロットへの割り当て例

(再掲)オーディオシステム構成図
(挿絵 いらすとや様

 まず物理デバイスについて、スロット上にカーソルを置きControl+Clickを押下して割り当ててきます。

  • マイク入力(あるいはオーディオインターフェース)を「WIN1.IN」ないし「ASIO64A」に割り当てます。

    • 遅延は基本的にMME>WDM>KS>ASIOの順に小さくなるので、デバイス側が対応していればその序列で右のほうのインタフェースを使うようにします。

  • ヘッドフォン出力(あるいはオーディオインターフェース)を「WIN1.OUT」ないし「ASIO64A」に割り当てます。

 図では省略してしまいましたが、わたしはどちらもオーディオインターフェースを挟んでいるので、物理スロットとしてはASIO64Aスロットのみを使用しています。
 また、Master欄はタイミングマスタを表示/指定する欄ですが、ある程度の精確性はあるであろうオーディオインターフェースを指定しています。

 次に仮想デバイススロットをオンラインにします。これはOnlineボタンをCtrl+Clickするだけです。非ASIOの仮想デバイススロットは、「・・・smp」をCtrl+Clickしてサンプリングレートを赤くならない程度に詰めておきます。

  • VAIO1 デスクトップ音声出力の取り込み、OBSへの書き出し

  • VAIO2 ソフトウェアボイスチェンジャーの入出力 

  • VASIO64A DAW入出力

 最後に、各デバイスMaster/Online欄右の四角をクリックしてデバイスごとに色を付け、Settings画面で仮想デバイススロットに名前を付けておくとなおよし。

オーディオルーティング例

 次に名画面左上のタイトル「MATRIX」をクリックしてルーティング画面を出します。

(再掲)オーディオシステム構成図
(挿絵 いらすとや様

 上の図の通りに配線します。交点にカーソルを置いてSpaceキーでトグルできます。ステレオ入出力はL/Rそれぞれ結線する必要あり。

  • In(左):マイク入力→Out(上):VASIO64A Ch.1

  • VASIO64A Ch.1→VAIO2 Ch.1(ボイチェンへの出力)

  • VAIO2 Ch.1/2(ボイチェンからの入力)→VASIO64A Ch.3/4

  • VAIO1 Ch.1/2(デスクトップ音声)→VASIO64A Ch.9/10

  • VASIO64A Ch.57/58→VAIO1 Ch.1/2(OBSへの出力)

    • →モニターヘッドホン

 行/列のタイトルをCtrl+Clickすると名前を変えられるので、分かりやすいように名付けます。

外部ソフトウェアの設定

 オーディオルーティングの節では物理デバイスしか結線できていないので、VAIO、VASIOを外部ソフトウェアにつなぎます。

(再掲)オーディオシステム構成図
(挿絵 いらすとや様

 VAIOまわりの設定は次の通り。

  • Windowsのデフォルトサウンド出力先をVBMatrix In 1(=VAIO1 Input)にする

  • ボイチェンの入力元、出力先をVBMatrix Out/In 2(=VAIO2 Output/Input)にする

  • OBSのソース欄に「音声入力キャプチャ」を追加し、VBMatrix Out 1(=VAIO1 Output)を割り当てる

 最初にDAWとVASIO64Aをつなぎます。

Studio One 6 だとこんな感じ
  • DAWへの入力は以下3つ。

    • Ch.1(モノラル) → マイク入力

    • Ch.3/4(ステレオ) → ボイチェン変換結果の取り込み

    • Ch.9/10(ステレオ) → デスクトップ音声の取り込み

  • 出力は以下2つ。

    • Ch.1(モノラル) → マイク調整後のボイチェンへの入力

    • Ch.57/58(ステレオ) → OBS、ヘッドホン

 マイク入力のみVASIO64A Input Ch.1、残りの2つはCh.57/58に流すようにします。

 これで最初のオーディオシステム構成図の設定は完了です。

プリセットの設定例

 オーディオルーティングのプリセットは、複数の入出力チャンネル間の接続状況をまとめて調節できるようにする機能です。

 ここでは、ヘッドホンに出力される音声を、OBS出力音声と、ボイチェン変換の地声+元デスクトップ音声で切り替えられるようにしてみます。

 まず、いちどDAW(VASIO64A In Ch.57/58)とヘッドホンの接続を解除します。ヘッドホンを切った状態でプリセット01を選択し、(プリセットペインでなく)オーディオルーティングペインの右クリックメニューから「Store All Grid in Selected Preset」を選択します。
 これでヘッドホン以外のすべての配線状況がプリセット01に保存されます。01のプリセット機能は使わないと思いますが、プリセットに入っていると左上のミニマップでも水色で強調表示されるのでどこがつながっているか分かりやすくなります。

 今度はプリセット02を選択します。VASIO64A Input Ch.57/58とヘッドホンをつなぎなおします。
 さて、VASIO64AのCh.57とヘッドホンのLの交点を左クリックするとゾーン選択モードになります。ゾーン選択モードを解除するにはもう一度適当なマスをクリックすれば良いです。次にVASIO64AのCh.58とヘッドホンRの交点でクリックし、右クリックメニューから「Store Zone in Selected Preset」を実行すると、プリセット02に選択範囲のみの配線状況が保存されます。
 繰り返しになりますが、プリセット02の選択中はプリセット02に含まれる範囲のみが水色で強調表示されます。
 プリセット上で右クリックすると「Edit Name」「Edit Comment」でそれぞれ名前やコメントを設定できるので、必要に応じ付けます。

 プリセット02の「A」(おそらくApply(適用)の意)をクリックし、いちど解除します。

 最後にプリセット03を選択し、マイク入力とデスクトップ音声を直接ヘッドホンに流し込みます。
 デスクトップ音声はVAIO Input Ch.1/2をそれぞれヘッドホンのL/Rにつなげばよいです。
 マイク入力はちょっと注意が必要で、モノラル入力のものが多いですがその場合は出力先のL/R両方に同じソースを接続します。
 さて、プリセット03への保存ですが、ヘッドホンへの配線状況を(関係ない配線を挟まずに)一度に選択できる場合は02と同じでよいです。もし2回以上に分けないとすべての範囲を保存できない場合は、「Store …」だと古いプリセットの内容が消えてしまいます。「Add Zone in Selected Preset」で元のプリセットの内容を消さずに追記します。

 これでヘッドホン出力に、プリセット02で変換前の地声(+デスクトップ音声)、プリセット03でボイチェン変換後のOBS出力音声が入るようになりました。あとはプリセット欄の「A」でOn/Offを切り替えられます。