タイトルが何だかなぁだが、今回はまたしてもDAWを使ってVSTをPC音声出力に突っ込むという話。
また問題が出てしまったので、その話でも。
◇
前回ネタにしたように、VSTHostではなくTracktion5を使うことで音が遅延してどんどんズレていく問題は解消したのだが。
しばらく使っていると、今度は別の問題が発覚したんですな。
それは、MME(Windows Audio)を使うと、割と頻繁に音飛びするということ。
そりゃMMEなんて使うからだろというツッコミはある意味正しく、DirectSoundを使えば音飛びの頻度は減らせるものの、ゼロにはならない。
しかもDirectSoundを使うとKernel Mixerの影響をモロに受けてしまうという。MMEの方が小手先テクニックで影響を減らせるようなので、敢えてMMEを使っていたのですよ。
勿論、MPC-HCではWASAPI出力が使えるのでこれを使っているが、それをVB-Cableに通してしまうとTracktionはMMEかDirectXでしか入力出来ない。
まぁこれも環境依存らしく、環境によってはあまり気にならないが、一方で1分も間があかずに音飛びまくる環境も。
それでは原因の切り分け・・・ということで、折角のDAWなので入力側を録音してみたところ、録音の段階で音飛びしていることが判明。これつまり、TracktionがMME経由での録音はあまり得意でないってことなのか、単にVB-Cableとの相性なのか。ASIO入力だとこんなこと起こらないんだが。
♯勿論音源になるソフトから直にハードウェアに音声出力すれば音は飛ばないですよ。
まぁこうなると、結論としては「TracktionはASIOで入出力」しかない、ということですな。
勿論ハードウェアループバック使えば簡単に出来ますよ。おカネかかるけど。
それではソフトウェアだけで出来るかな、ということで、色々探してみたのだが、結論としては
「タダでは無理、DonationWareを使えば出来る」
ということで。以下、具体的な手法。
使用するDonationWareはVB-AudioのVoicemeeter Banana。
これはソフトウェア仮想ミキサーだが、全ての仮想I/OにMME・DirectX・KernelStreaming・WaveRT・ASIOが使えるという変態的、違った、汎用性の非常に高い構成なのですよ。
なので、以下のように繋げればTracktionをASIOで使えるばかりか、KernelMixerも完全排除出来るという。
MPC-HCからWASAPI出力
→VoiceMeeter BananaからASIO出力
→Tracktion5からASIO出力
→Voicemeeter BananaからASIOまたはKernelStreamingで出力
実際にこのソフトを使うとケーブルが無いので(当たり前だ)何処がどう繋がっているかやや分かり難いものの、一度ルーティングを理解してしまえば何の問題も無い。
そして音は・・・おお、飛ばない!
ASIOバッファを詰め過ぎれば当然音は飛ぶが、逆に言うとそれ以外では音飛びは出てこない。
まぁ短時間の確認なんでウン時間も流し続ければもしかしらたまに飛ぶのかも知れないが、少なくともMMEやDirectSound使っていたら間違いなく飛びが確認出来るだけの時間はかけたので、これは間違いなく改善している。
◇
ということで、問題を解決したものの、それには結局追加投資が必要だということに。
DonationWareってことは要するに試用期限が切られていないシェアウェアなんで、使い続けるなら送金しないと。
ん~、背に腹は代えられないってヤツなのかなこれは。
以上、今回はここまで。