- A1出力を選択しないことで内部クロックをマスターとして利用する。出力デバイスの仕様に縛られることなく自由にサンプリングレートを設定可能になる。
- 実際の出力デバイスはA2以降に選択する。
- 2番目の仮想入力をINFINITAS用にする。 Windows上は
Voicemeeter AUX Input
と表示され、Voicemeeterの内部IO番号は#7
だ。バッファサイズは1024サンプルにした。マニュアルによると最低でもマスターバッファサイズの3倍が必要ということなので768サンプルあればいいはずだが、文字が赤色になるので4倍に設定することにした。 - バッファサイズは小さいほど遅延が小さくなるが、そのぶんCPUへの処理要求はシビアになる。音声処理が間に合わないと波形が途切れる(プチプチ音が入る)ので、安定して音声が出力される最小サイズを探そう。
-
Virtual ASIO Type
: INFINITASにおいてはFloat32LSB
とInt32LSB
のどちらを選択しても変わらない。アプリが要求するフォーマットに自動で合うようだ。
- Preferred Main SampleRate
: 44100Hz
にすること。それ以外だとINFINITASがサウンド出力の初期化に失敗して起動しない。なお、この設定項目はA1を未選択にして内部クロックを利用している場合のみ機能する。A1に物理出力を選択している場合は常にそのデバイスのサンプリングレートになる。
- Buffering ASIO
: ASIO入力からエンジンまでバッファサイズだと思う。最小の64
で問題なかった。
- Buffering Clock
: 内部クロックを使っている場合のVoicemeeterエンジンのバッファサイズだと思う。私の環境では256
未満に設定すると、イコライザなどの処理を入れたときに音切れが発生した。
- Buffering WDM
: 出力側はWDMを使うので、そのバッファサイズ。最小の128
で問題なかったが、これは利用している物理デバイスに依存すると思う。デバイスがネイティブASIO対応であれば出力にもASIOを使うと良い。
INFINITASを起動したときの仮想IOの状態がこちら。入力のサンプリングレートが44100Hzで24ビットになっていることが確認できる。
なおWindowsのサウンド設定はASIOに影響しないのでVoicemeeter AUX Input
を設定する必要はない。物理出力デバイスは可能なら24ビット 44100Hz
に設定しよう。Voicemeeterエンジンでの変換が不要になり音質が安定するはず。48000Hzなどの整数倍でないサンプリングレート変換は多少なりとも劣化があると思うし、88200Hzに設定しても音質が良くなるわけではないと思う(高度な補完であれば音質向上するかもしれないがレイテンシは増加するだろう)
この設定での理論上の最小レイテンシは1 / 44100 * (64 + 1024 + 128) * 1000 = 27.574ms
になるはず。これにデバイスドライバ側でのバッファなどでさらにレイテンシは加算されているかもしれない。