Narazaka::Blog

奈良阪という人のなにか

VRChatで低遅延ボイチェンする方法3種まとめ

低遅延でモニタリングできるボイチェンの方法が色々あるっぽいのでまとめました。

特に仮想音声デバイスを使ってボイチェンを噛ましたWASAPI排他モードの記事が見つからなかったのでそこ重点的に書きました。

分かりづらいとか間違ってるとかあったら言ってください。

モニタリングの重要性と遅延対策

ボイチェンをするに当たって自分のボイチェン声を聞きながらするのはとても重要です。

ボイチェンは特に慣れないうちはノイズ(ガビる という)も発生しやすく、調整によってはかなり聞きづらくもなります。

客観的に聞きやすいこと、そして自分の思う声になっていることを常に確認することで、意識的に頑張らなくても自然とボイチェンに適した理想的な発声に最適化していくことができます。

しかしリアルタイムでボイチェンを使う場合、てきとうに設定すると無視できない遅延が発生します。モニタリングに遅延があるととても喋りづらくなります。なぜなら人間はボイチェンを使わない普段の発話でも実は自分の声を聞くことで発話を補正しているから……っぽいです。

以下ではそんなモニタリングを低遅延で快適に行える(はずの)方法を紹介します。

ハードウェアボイチェン

マグロナちゃんを見て知りました。

メリット

  • 遅延がゼロ
    • モニタリングでしゃべりやすく、カラオケも余裕
  • ごく普通のマイクと同じように使えてややこしさがない

デメリット

  • ハードウェアが結構高い(2万円を超える)
  • ソフトウェアよりガビりやすい
    • いつも綺麗に聞こえるようにするには声の調整が不可欠
  • ボイチェンそのもの以外の調整がしにくい
    • ノイズ低減やイコライザとかで声の整形をこだわる場合、ソフトで組むとWASAPI構成と同様の遅延がかかるため、ハードで揃える富豪力がないとカラオケとかレベルには逆に不向きかも。
  • HMD付属のマイクが使えない
    • USBでPCに直接入るタイプのマイクは使えない

用意するもの

  • ボイチェンにつなげるマイク
    • 普通のピンジャックにつなぐやつでもよい
    • USB接続のやつは不可

方法

  1. VT-4を接続する
  2. 入力デバイスをVT-4にする

基本超簡単。すぐ使えると思います(ただし喉の訓練が必要)。

ソフトウェア+全てASIOで組む

オニャンコポンnaca_nyanが言ってたので知りました。

メリット

  • コンマ秒以下の低遅延に出来る。
    • カラオケも(VRChatとかだとそもそもしんどいけどSYNCROOMなどそれ用のプラットフォームを噛ますなどでは)いけるレベル。
  • 汎用性拡張性が高い
    • 声の調整も追加ハードウェア無しにVSTプラグインで自由自在に出来る

デメリット

  • ハードウェアがやや高い(1万円~)
  • HMD付属のマイクが使えない
    • USBでPCに直接入るタイプのマイクは使えない
  • ハードウェアボイチェンに比べると設定が煩雑

用意するもの

  • ASIO対応オーディオインターフェース
    • オーディオインターフェース全てがASIO対応しているわけではない
    • ASIO対応していたとしても動作仕様的にこの方法には使えない場合もある(たとえばVT-4でこの方法も試すのは元の声のモニタリングが返ってきてしまい無理)
    • 安めで定番
      • AG-03は動画配信などにももってこいとして重宝されている定番らしい
      • Focusrite Scarlett Solo というのもいいらしい(AG-03より少し安い)
      • Steinberg UR22C はそもそもASIOという規格を作った会社のやつ
      • なおAG-03は配信環境用としては便利で定番ではあるが(厳密には「ミキサー」として売られているのもあり)オーディオインターフェースとして見たときに重視される音質の性能は他のやつのほうが良いとのこと
  • ボイチェンにつなげるマイク
    • 普通のピンジャックにつなぐやつでもよい
    • USB接続のやつは不可
    • ヘッドセットに近づけるタイプの場合ノイズを低減する「バランス接続」という方式のものだと良いらしい
    • 筆者はAT810F(notバランス接続 ヘッドセットに近づけると多少ノイズが入るが環境によりそう)
    • 「AG03と実況でも使えるヘッドセット」というのも売っています
  • 仮想オーディオデバイス(どちらかひとつ)
    • SYNCROOM
      • 元々リモートの音楽セッション(同時演奏)のためのソフトなので、鬼のように低遅延に気を配っているらしい。
      • 本記事では紹介しないがボイチェンをしながらリモート演奏と合わせて歌って配信なども可能らしい?
      • 設定は少なくシンプル
    • Voicemeeter Banana
      • 多機能なオーディオミキサーソフト
      • 設定は複雑だが後述のWASAPIの方法にも使えるなど出来ることが多い
  • ボイスチェンジャー

方法

仮想オーディオデバイスの設定

SYNCROOMの場合

syncroom.yamaha.com

インストール色々設定が出てきますが、全部デフォルトでいいはずです。ログインを求められますがTwitter連携とかで済ませましょう。

SYNCROOMは本来音楽をリモートで同時演奏するためのソフトなので色々設定があるのですが、今回はVSTモードというのを使うので初期設定はほとんど使わないです。

Voicemeeter Bananaの場合

vb-audio.com

基本そのままインストールするだけのはずです。

途中仮想オーディオデバイスをインストールする段があり、許可が必要かもです。

ボイスチェンジャーの設定

VSTプラグイン+SYNCROOMの場合

こちらの記事を参照。

qiita.com

ただし「メニューバーから File -> Preferences」 はこんな感じになります。

記事にもありますが、Elementを開いたときに一時的に音が聞こえなくなるのは正常な動作なので、焦らずにPreferencesを変更しましょう。

VSTプラグイン+Voicemeeter Bananaの場合

Voicemeeter Bananaはこちらの記事でWDMではなくASIOを選ぶ感じです。

vocareateproject.hatenablog.jp

そしてボイチェン側はElementベースでこちらの記事を下記の改変をして適用します。

qiita.com

・「メニューバーから File -> Preferences」を以下のようにVoiceMeeterのASIOデバイスを選ぶ

・「Syncroom (VRChatとかに声を流す)」の節を適用しない

単体で動作するボイチェンの場合

出力のモードをASIOにして、SYNCROOMかVoicemeeterのデバイスを選ぶ。

ソフトウェア+WASAPI排他モードと仮想ASIOで組む

みにさんが言ってたので知りました。

メリット

  • コンマ秒程度の低遅延に出来る。
    • カラオケは怪しいかも
  • 汎用性拡張性が高い
    • 声の調整も追加ハードウェア無しにVSTプラグインで自由自在に出来る
  • 完全に無料で構築できる
  • HMD付属のマイクも使える

デメリット

  • WASAPI排他モードはWindowsの標準的なオーディオ挙動と異なるため混乱しやすい
  • 遅延は少ないとは言えあり、用途が限られる(歌とかは厳しそう)
  • 入力デバイスも所定のものにしなければならないなど、設定が最も煩雑。

用意するもの

方法

WASAPI排他モードは、あるアプリケーションによってWASAPI排他モード指定で音声デバイスが確保されると、他のデバイスではその音声デバイスを扱うことが出来なくなると言う特徴を持っています。

そのデバイスの音のMIXをWindowsが制御せずに、入出力の口だけ用意してそれ専用のアプリケーションに全て任せる的なモードの模様です。

なのでデバイスに出力される全てのマイクやアプリケーションの音を音声ルーティングが凄いアプリVoicemeeter Bananaで扱う必要があります。

参考: Voicemeeter Bananaの複雑な入出力をまとめた記事 labo.pls-ys.com

今回は最終的に音声のルーティングが以下の図のようになるよう設定します。

再生デバイス

「既定のデバイス」と「既定の通信デバイス」を「VoiceMeeter Input」に

録音デバイス

「既定のデバイス」と「既定の通信デバイス」を「VoiceMeeter Output」に

Voicemeeter BananaのHARDWARE OUT

WDM」つきのヘッドホンやイヤホンデバイスに設定する

Voicemeeter BananaのHARDWARE INPUT 1

WDM」つきのマイクデバイスに設定する

Voicemeeter Bananaのルーティング

  • HARDWARE INPUT 1がボイチェン後マイク音
  • Voicemeeter VAIOがVRChatやDiscordから出た音
  • Voicemeeter AUXが予備用
  • A1がヘッドホン・イヤホンで聞こえる音声(ボイチェンモニタリング・VRChatやDiscordの音声など)
  • B1がVRChatやDiscordへ出す音声

です。ゆえに

  • HARDWARE INPUT 1→A1, B1
  • Voicemeeter VAIO→A1
  • Voicemeeter AUX→A1,B1

と出るよう設定します。

Voicemeeter Bananaのシステム設定

System Setting / Optionsを開き……

  • PATCH INSERTのin1 Left, in1 Rightをオンにします。
  • WDM Input Exclusive ModeはYesにすると突如マイク音声が止まる不具合が出る可能性があるらしいですが、Yesにしたほうが遅延が少なくなる可能性があります。ここは環境によると思われるためやりながら検証して下さい。

ボイスチェンジャーの設定

ASIO対応のものを使います。

バイスタイプを「ASIO」にして、デバイスとして「Voicemeeter Insert Virtual ASIO」を選択します。(各ソフトの具体例は大きい図を参照)

このときノイズが入る場合は「Reset Device」したり、Voicemeeterを立ち上げ直したりして下さい。

VRChat等のマイク設定

VRChatやDiscordの入力デバイスを「デフォルト」にするか、「Voicemeeter Output」にしてください。

Discord等の出力設定

「デフォルト」にするか、「Voicemeeter Input」にしてください。