RSS Twitter Facebook

2011/01/27 (2011年01月 のアーカイブ)

VSTのsuspend/resume

KeroVeeをAudacityで使っているとノイズが入るというのを調べていたんですが、これはsuspend() / resume() の問題だったです。

suspend() と resume() はVSTを止めたり動かしたりする関数で普通のDAWだとVSTをOn/Offした時に切り替わるくらいで通常は回りっぱなしなんであんまり気にする事もなかったんですが・・・。

でもAudacityみたいな音声編集ソフトだとこの辺の事情が違うようです。音声データの範囲を指定してこの間だけエフェクトをかける、とかやるんでその都度 suspend()/resume()でぱかぱか動作状態が切り替わる、という動作になります。

で、期待される動作としてはsuspend/resumeしたらまっさらな状態で走り始めないといけないんですが、内部にバッファを持っててそこに前のデータが残ったままだったりするとゴミデータとして出てきちゃうわけですね。

という事でバッファの掃除がちゃんとできてなかったのが原因だったようです。
他のプラグインでも同じ問題残ってるなあ、どうするかな。

Posted by g200kg : 2011/01/27 23:17:29