見出し画像

DAWでのリアルタイム処理にSynchronous Audio Routerがすごく便利だった:ボイチェン・ライブパフォーマンスに【'22/8/10追記】

以前の記事でも書いた通り、私はDAWベースのボイチェンを使っています。ボイチェンを研究し始めてから3年あまり、試行錯誤しながら煮詰めてきたそれなりに良い環境だと自負しています。

基本的に私は実用性重視なので、一度安定環境を構築した後はあまり環境をいじりません。しかし今回、久しぶりに環境を大きく変えるソフトと出会えたので、ここ1年ほどのマイナーアップデートと合わせて、その革命的なソフト、Synchronous Audio Routerの解説と合わせて記事を書くことにします。


◆DAWでのリアルタイム処理の問題点

VSTと呼ばれるプラグインを追加することで、おおよそあらゆる音声処理が可能なソフトがDAW(DAW:Digital Audio Workstation)です。本来はDTMなど音楽制作目的のものですが、昨今はPCの性能向上に伴い、ライブパフォーマンスなどのリアルタイム処理にも使われます。

そしてその用途の一つが配信(streaming)やボイスチャットです。
宅録に付き物の環境ノイズを除去したり、コンプレッサーで声のボリュームを安定させたりできる他、最近はVTuberやVR-SNSを中心にボイチェンを使う人が増え、専用のボイチェンソフト(バ美声など)で満足できなくなった人々が自由度の高いDAWベースのボイチェンを使う例も少なからず見られます(かくいう私もその一人です)。

こうした用途では、低遅延・高音質を期待してASIO対応のオーディオインターフェース(以下オーディオIF)を使うことが多いですね。
しかしここで問題となるのが、通常DAWはASIOを使うと入出力がいずれもオーディオIFになってしまうということ。加工した音声をスピーカーで流すライブパフォーマンスなら何も問題ないのですが、こと配信やVCとなると、OBSやDiscordなどのソフトにこの加工後の音声を渡さねばなりません。ここがDAWベースのリアルタイム処理のネック。

DAWベースのリアルタイム処理の問題点

(※なおASIOを使わない=遅延にこだわらないのであれば話は簡単です。DAWの出力先をVB Virtual Audio Cableのような仮想デバイスにして、Discord等の入力をこのデバイスにすればそれですみますし、Voicemeter Bananaなどを使う手もあります)

そこで今おそらく主流なのが、YAMAHAが提供するオンラインセッションサービスSYNCROOM(旧NETDUETTO)のVST bridgeを利用する方法。このVSTを加工後の音声のルートに仕込むと、音声をSYNCROOMの仮想デバイスに渡してくれるのです。

SYNCROOM使用時のオーディオルーティング

…ただしこのSYNCROOMプラグインが曲者で、再起動時の挙動に癖があったり(クライアントを終了しておく必要がある)、レイテンシ(遅延)が安定しなかったり、起動時に他のオーディオデバイスに影響を与えたり(一時的に他のデバイスから音が出なくなる)、色々難点がありました。
一番致命的なのが遅延で、いつの間にか私だけ会話が1テンポ遅れるなと思ったら、いつの間にか遅延が大きくなっている…ということが頻発しました(SYNCROOMを再起動すれば直る)。

そこでよりシンプルなルーティングの方法をずっと探しており、ついに先日見つけたのがSynchronous Audio Router(以下SAR)でした。
以下、そのすごい所を説明します。


◆SARの便利な所① DAWからの出力が簡単にできる

オーディオ周りならほぼなんでもできると言ったDAWですが、唯一自由にならないのが入出力デバイスでした。ASIOを使う限りこの問題に向き合わねばなりません。しかしSARを使うと、この問題が一挙に解決します。

SARは、オーディオI/Fなどのハードウェアからの入力を、SARの仮想デバイスで直接受けることができます。またDAWからの出力をSARの仮想デバイスで受けることも可能になります。
つまり、例えばこのSAR Output=Discordの入力デバイスとしてやれば、DAWからの出力を直接Discordに通すことができるのです。今まで必須だったSYNCROOMが不要に!

さらにこれを活用し、DAWを通した音声(ボイチェン後の声など)をオーディオI/Fでごく低遅延で聞くことも可能になります。

Synchronous Audio Routerで可能になるルーティング


◆SARの便利な所② 入出力が自由自在に

さらにすごいのは、この仮想オーディオデバイスが任意に、無制限に作成可能ということです。これによってDAWを経由すればあらゆる音声のルーティングが可能になります。
例えば下図のように、仮想入出力デバイスを3つずつ作成して、1つはマイク信号を処理してオーディオI/Fに帰るように。1つはマイク信号がプラグイン処理後にDiscordとOBSに入るように。もう1つはデスクトップアプリの音声を受けて処理したのち、OBSへ入れてマイク音声とミックス…なんてことがすべてDAW上でできるようになります。もちろん、どの音声をオーディオI/Fに帰すかも自由自在。

おおよそできないルーティングはないと言われるVoicemeter Bananaのお株を奪う万能っぷりです。デバイスを無制限に増やせるので、もっとメチャクチャなルーティングだってできるでしょう。

Synchronous Audio Routerで可能になる複雑なルーティング


◆SARの便利な所③ 低遅延

極めつけがこれです。Bananaには逆立ちしても真似できない低遅延
実測してみた所、マイクから直接入力した場合と、SAR経由(DAW内でVSTプラグインを使用しない)場合の差は数msほぼ遅延ゼロ、全ルーティングがASIO並の低遅延で完結していると考えて良いです。

Synchronous Audio Routerは低遅延

一般にループバックした自分の声を聞きながら話せる(人間がズレを感じない)遅延の限界が20ms程度と言われますので、プラグインの選定次第ではリアルタイム処理した音声をループバックで聞きながら歌えるレベルの遅延が実現可能ということになります。

他にもアプリケーションごとにデフォルトのSAR仮想入力デバイスを作成できる機能などがありますが、その辺りは長くなりすぎるので省略します。

('22/8/10追記)なお運用してそろそろ半年になりますが、遅延やノイズのようなトラブルはゼロでした。安定性は折り紙付きです。


◆SARのインストール方法

ここまでの説明で、いかにこのSynchronous Audio Routerがすごいソフトかが(この辺で苦労したことのある方であれば)分かったかと思います。

ではインストールと設定方法の解説…はきちんと本家にドキュメントがあるので、英語を読んで自分で頑張ってください
インストール手順や、注意点などきっちり書かれていますので、この通りにやれば問題ないかと思います。
(私は2台別環境で構築して、2台ともあっさり動きました。環境の詳細は後述)

なおこの手のソフトはきちんとドキュメントを読んで、困ったら検索して自己解決できる人でないと手を出してはいけません。説明書をしっかり読んで作業して、上手くいかなかったら再起動。それでダメなら途中で何かを見落としていないかをよーく考えましょう。
要点を書くと、

(前準備:v0.13.2の場合のみ。セキュアブートOFF、テストモードON)
SARドライバのインストール
②DAWを管理者権限で立ち上げる
③DAWの設定画面からオーディオドライバにASIO-Synchronous Audio Routerを選ぶ
④Control Panelから設定画面を開く
⑤SARで入力を受けるハードウェア(オーディオI/F)を選択
⑥仮想オーディオデバイス(エンドポイント)を追加して、Playback(DAWへの入力)かRecording(DAWからの出力)を選ぶ
⑦エンドポイントに対してオーディオデバイス(AIFの入力)を割り当てる

③参考画像(DAW:Cantabile Lite)
⑥参考画像(DAW:Cantabile Lite AIF:AG06)
⑦参考画像(DAW:Cantabile Lite AIF:AG06)

とまあ、比較的簡単な流れでインストールできます。
環境構築ができているはずなのにうまくいかない方は、エンドポイントを作った後にオーディオポートへ割り当てているか?AIFからDAWへ入出力がきちんとされているか?を確認するのを進めます。

一つ注意点としては、最新のリリースであるver0.13.2はWindowsのドライバ署名が取得できておらず、テストモードでないとインストールできません。以下の0.13.2 Installationのコメントを見て「???」な人はおとなしく一個前の0.13.1をインストールしましょう。
ただしWindows11では0.13.1が動作しなかったというコメントもあり、その場合は…頑張るしかないかもしれませんね。

Note: This version is not signed.
See here for why: #86 (comment)
This means that it is required to enable testsigning boot option to make Windows load the driver. Else the driver won't be loaded. This needs to be permanently enabled even after installation to use SAR 0.13.2.

Github - 0.13.2 - Installationより

SARは有志が無償で開発しているソフトです。くれぐれもサポート対応や迅速なバグフィックスなど期待せず、自己解決を心がけましょう
(私もお友達の方ならお手伝いします)

なお以下の門野まもりさんの記事でReaperでの導入例が解説されています。Reaperを使っている方はご参考に。


◆私の環境('22/8/10追記)

【1台目】
PC
: 自作(MB: ASUS TUF GAMING X570-PLUS)
OS: Windows 10 Pro build 19044
AIF: Audient iD22
DAW: Cantabile Lite 3
備考: SAR v0.13.2、Legacy BIOS (UEFIなし)、テストモード

【2台目】
PC
: ASUS TUF GAMING A15(ノートPC)
OS: Windows 11 build 22000(プリインのWin10からアップグレード)
AIF: YAMAHA AG06
DAW: Cantabile Lite 3
備考: SAR v0.13.2、UEFI BIOS (セキュアブートOFF)、テストモード

いずれもエンドポイントとして、
VC_out (Recording)
DAW_in (Playback)
の2つを作成した上で、それぞれにオーディオポートを割り当て。
またAIFの入力にモノラルInput、出力にOutputのオーディオポートを割り当てて、DAW上でルーティングしています。

いずれもSARはv0.13.2にテストモードを適用して動かしています。v0.13.1で上手くいくかは検証していません。


◆具体的な私の構築

さて最後に、私がDAW内でどんなルーティングをしているかと、現在のボイチェン用プラグインの構成を参考に書きます。

基本的な構成は以下の通りです。
ルート①が、オーディオI/Fの入力をSAR仮想入力デバイスで受け、ピッチシフターのみを噛ませて低遅延でオーディオI/Fにループバックするチェイン。
ルート②が本命で、オーディオI/F⇒SAR仮想デバイスからの音声をノイズ除去、ピッチシフター、EQ、ディエッサー、コンプレッサー、ノイズゲートを通して出力用のSAR仮想デバイスに流すルート。
ルート③は演出用で、効果音のポン出しソフトの音声などを、話し声とミックスしてボイチャに流すことを想定しています。

思惟かねオーディオルーティング('22/2/2)

またVSTプラグインのホストとなるDAWはCantabile Lite。ご覧のように、グラフィカルに直感的なルーティングができる(しかもLite版は無料)なのが素晴らしいです。

Cantabile内でのルーティング

個々のプラグインとしては、

ノイズ除去ERA Noise Remover (ERA4)
ピッチシフターGraillon 2
EQ/ディエッサー/コンプレッサー/ノイズゲートVoxessor

を採用しています。以前の記事でも説明した通り、最低限のノイズ処理をした後、ピッチシフターに入れ、その後EQやコンプなどで音を整える構成です。この環境で遅延はおよそ70ms。違和感なく会話ができる範囲です。

今回のアプデで、話声(Voice-Over)の調整に主眼をおいたオールインワンのVSTであるVoxessorを入れてみました(セールだったので)。この辺は完全に好みで、無料プラグインで十分まかなえますし、そもそも無くても困りません。
そこよりは、ぜひノイズ除去ソフトにお金をかけて下さい。ただし私が使っているERA Noise Removerは現在単品売りをしていないので、RX Elementsを買ってDe-noiseを入れるのが良いと思います。

と、まあ最後の方は蛇足になりましたが、Synchronous Audio Routerはとにかく便利です。今後オーディオ周りで「このルーティングがやりたい!」と思ってもすぐさま実現できると思います。
この記事が同じような悩みを抱えている方の元へ届きますように。

思惟かねでした。

--------------------------------------------------------
Twitterへの共有はこちらから。

--------------------------------------------------------
今回もお付き合いいただきありがとうございました。
引用RT、リプライ等でのコメントも喜んでお待ちしています。

Twitter: https://twitter.com/omoi0kane
Youtube: https://www.youtube.com/channel/UCpPeO0NenRLndISjkRgRXvA
Medium:https://omoi0kane.medium.com/
Instagram: https://www.instagram.com/omoi0kane/
Facebook: https://www.facebook.com/profile.php?id=100058134300434

いいなと思ったら応援しよう!