2021/05/04

LFO のテンポシンク

 

LFO のテンポシンクを読む (github.io) 

LFO を滑らかにテンポシンクする方法について調べました。 magnetophon さんによる LFO の同期についての issue が発端となっています。

VST 3 や LV2 プラグインでは、ユーザが指定した同期間隔のほかに、ホストのテンポ (BPM) と再生開始からの経過拍数が取得できます。適当に実装するなら経過拍数を同期間隔で割った余りを使えばいいのですが、使い方によってはポップノイズが出てしまいます。そこで経過拍数の変化を検知して、位相の速度を調整することで滑らかに同期を続ける方法を紹介しています。

画像は LFO の位相が滑らかに新しい同期間隔へと移行する様子を表した図です。

2021/05/09追記: リンク先の記事の C++ 実装のバグを修正。