読者です 読者をやめる 読者になる 読者になる

S.F. Page

Programming,Music,etc...

Buzz - Polac VSTのfreeze機能について

Polac VSTのFreeze機能

昨日はBuzzのfreeze機能について調べていた。結果であるが機能として実装されていることはわかった。でも若干問題があった。

https://dzuqxg.dm2301.livefilestore.com/y2pvUamrsc3OYqP5BoiJpac0bpf-cqMd1GPerAC2DKFqs-aNwtqn2YQtKPr88077j4TZPw67kfCjFgY6EMH8tIhgwCXENCHrr4bUV3uLScMj10ubU8ap0AzbZjOhemIhy4erds3NJ0X6sDqSdWvAnkyHw/020201.png?psid=1

Freeze機能とはプリレンダリングする機能のことである。VSTインストルメントやエフェクトをリアルタイムではなく事前に生成しWAVデータ化しておき、再生時にはそれを利用して音声出力をするものである。これによりCPUの負荷を下げることができる。

いまどきのDAWソフトではごく一般的な機能である。

私はRydeenのカバー曲作りを趣味のひとつとしているけれど、VSTインストルメント・エフェクトを使いすぎてCPU利用率がとんでもないことになっている。

https://dzuqxg.dm2301.livefilestore.com/y2p4g77V9ODyMn2dv9c9oDTbGIvKjnarAaHUbH80vZvcupIwXTucLq5mEePqYNCZZ5XnN5ispN4RtMi1n38xEzuBzeZ8S_usdItZ12WeJloPNv3R2a-SPiFuYwHEFOQJlkqC0LGLJEX69JY0auCM9Ao9w/020202.png?psid=1

この状況だと音飛びが頻発しとても聴くに堪えない。こういう場合にFreeze機能が有効である。

Freeze機能を使うには

実は私この機能は未実装な機能だとつい昨日まで思っていた。なぜならば常にFreezeのメニューがグレーアウトしていたからだ。しかしソフトウェアの更新履歴には実装しているとある。更新履歴をよく読むと、

- new freeze feature, accessible via edit menu, requires one of my waveout drivers

と書いてある。Freeze機能はPolac VST Loaderが提供する波形出力ドライバのうちの一つが必要である。デフォルトのWASAPIではこの機能は利用できないのであった。WASAPI信奉者の私にとっては非常に残念だが仕方がない。ドライバを変更することにする。

波形出力ドライバの変更は「edit」→「Preference」→「Wave Output」タブで行う。

https://dzuqxg.dm2301.livefilestore.com/y2p3P6Q5IQooaMgwfsKQmCLUXMpHVI5uyOYO7gnPxvBavQ8EOsKNtUTvRcnNsmV0u33jEW5ZTl6Q3eUlrbGtcVXqo3Ufj1FXrtSNLplbyaN-g0vjkoEVOycZVI4rb1h1ACBNeseChu0xZ5pZBPW1ybFTQ/020203.png?psid=1

この中のPolac XXXというドライバのうちいずれかを選択すればよい。私はオーディオ・インターフェースがASIOに対応しているので迷わず「Polac ASIO」を選択した。

ただ私の場合「Config」による調整が必要であった。デフォルトのままでは激しく音飛びをしてしまったので。変更箇所は「Buffersize」を「デフォルト」に、Buffersを「2(sync)」にした。非同期バッファは残念ながら音飛びが激しく利用できなかった。

Windows 8.1のときよりも音飛びがひどいのでひょっとすると現状のWindows 10ではまだまだ音まわりの完成度は低いのかもしれないね。

https://dzuqxg.dm2301.livefilestore.com/y2pD5cICW6GbkWZHRSRmz29pf6gA9Ku1vTBhYmCZ4TCjZbArurX0pjD3PE4ixSyqa6yXsAWwWN6xYXn8tBx60udoMrpFPsJ2GnYq_43eBvUCV_Npqo6tEHVUz5S8XEWqlS_WkLMAW7librzIiVYcrc6OQ/020204.png?psid=1

これでFreeze機能は利用可能となる。

Freeze機能の使い方

Freeze機能を使うのは簡単である。VSTインストルメントのエディタの「Edit」→「Freeze」を選択するだけである。

https://dzuqxg.dm2301.livefilestore.com/y2plhsgSfICJ9b10ZrEk7pO6SRTX5bzLTfbUO82MJOmIamOh0m4xiNFy4cZNg-TiwhSZwlUrDKb7PnOlV5A8T8dW06TSE1Ayz6qH8lyHuI4az0Tg1bS_GIrLGDxiks4LOL3DNATMXjKTPWX7tlJqnOvQw/020205.png?psid=1

 選択すると処理が始まる。

https://dzuqxg.dm2301.livefilestore.com/y2pA-YEystvyNFRMj9-G8fsSXwaTcxVrI2eZzc-IhaKfqJjqoH3Catb9JuF_ybUgwaPNyErZwzVlSNZARcKUVB5QDR7wIUCpzN5970Y-e2rSyD-oL3BOS-7X8j2LbKzF1j9UAMiG5YCvATqaSSQe39xAQ/020206.png?psid=1

しばらくするとエディタのタイトルバーが[FREEZED]に変化する。これでFreezeは完了である。この状態で再生すると音源はリアルタイムではなく事前生成された波形データを再生するようになる。

?なところ

 私の環境はもう少し調整が必要であった。Freeze Optionの「Async Prebuffering」はオフにしないと再生位置がずれておかしかった。デフォルトはオフかもしれない。なにせ試行錯誤でいじっているのでデフォルトがなんであったか忘れてしまった。

https://dzuqxg.dm2301.livefilestore.com/y2p5hHupcane2MRKrfM4nAmon1WPmaQ6-aMSOeFnoWUCVtHmauJ3ZXowgDdUytyTRTKCxE0_iPgBVXms0yBvb9iybRAcRZRQbMfO0npI2u-DDRWmEFEXpqG3yixSH-UScT8kMqe82m7Twb8X6eExYSfqg/020208.png?psid=1

あとその下にある「Open Freeze Directory」メニューも選択はできるがフォルダを開くことはできなかった。ではFreezeされたWAVファイルはどこに格納されているのかというとホームディレクトリ配下の「AppDataRoamingPolacVst Loader.1.10Freeze Data」に格納されていた。

https://dzuqxg.dm2301.livefilestore.com/y2pOBwX1PK9ydCXQzPGWNq8Hw5yxV3cTOa7TJ3mKB3RlN0UNxrjS9j9Vfn4Hii4M12bjiboBoIxatJAJQpNlNs5CLQuxhtHkwh2YXkFDGBDsvQc9Bn0t-tIum4tcyk1YU240BSmuN1Jd-iDyDCrUOyQkw/020209.png?psid=1

これは普通のWAVファイルである。試しにダブルクリックするとちゃんと再生される。

Freeze機能でたとえば2つのインストルメントをミックスしているVSTエフェクトがあるとする。そのエフェクトをFreezeすると2つのインストルメントをミックスし、エフェクトをかけた後の音声データがFreezeされる。これで大幅な利用率削減となるが残念なことにおかしな仕様のため実質使えない。エフェクトにつながれているインストルメントは自動的にミュートされる。これはエフェクトをFreezeしたので再生する必要がなくなるからである。ただこの状態だとインストルメントはミュートされているので実際の音声出力が再生されなかったりする。いったんミュートを解除してから再びミュートすると再生されるようになるという摩訶不思議な仕様で、何かのタイミングで再び再生されなくなったりする。インストルメントのみにFreezeするのが無難そうだ。

さらにパターン・エディタで特定のパターンだけを再生するとそのパターンに関係ないはずのFreezeされた音源すべてが鳴ってしまう。回避方法はその音源をミュートするしかない。

Freezeの効果はいかほどか

でどれくらいの効果があるかというと、私の環境ではFreezeするとインストルメントの負荷率が0.5-0.8%位になる。インストルメントによっては15%位CPU利用率を食うものもあるので劇的な改善である。若干不思議な動作をするのでそこは改善を望みたいが、まあ使えないこともないだろう。