logue SDK用のCombフィルタの実験

前回の記事の中で、フィードバック付きディレイは「コム(櫛型)フィルタ」にもなるという話を書きました。簡単に言うと、遅延時間が非常に短くて、可聴域周波数の波長の領域に入るようなディレイは、波長と遅延時間が一致するような周波数成分を強める働きがある、ということです。今回はこのコムフィルタの実験をしてみます。

実装したディレイのコードはこちらに置いてあります。実装と言っても、logue SDKの提供するdelaylineライブラリを呼んでいるだけです。ビルド済みのバイナリもReleasesページに置いてあります。

GitHub - boochow/veryshort
Contribute to boochow/veryshort development by creating an account on GitHub.

このコムフィルタをフィードバックを大きくして遅延時間を変化させるとこんな感じになります。

元の音の特定の周波数成分が非常に強調されているのが分かると思います。

短時間のディレイが持つこのような効果は古くから知られていて、それをエフェクタとして実装したものが「フランジャー」です。ちょっとベタな感じになるので、最近はあまり使われない気がしますが・・・。

フィードバックゲインを大きくすると、倍音成分が強調されるのでより金属的な響きになります。
ホワイトノイズに対してコムフィルタをかけると、周波数分布は以下のようになります。

最短の遅延時間を0.5msecに設定しているので、周波数としてはその逆数の2KHz、およびその倍音成分にピークが立ちます。

このホワイトノイズとコムフィルタの組み合わせにおいて、コムフィルタのフィードバックゲインを極限まで高めると、ギターのような響きの豊かな倍音成分を持つオシレータになります。フィードバックの途中にローパスフィルタを入れて、高域成分を低域成分よりも早く減衰させると、より弦楽器の音に近くなります。これは発明者の名前を取ってKarplus-Strongと呼ばれています。ちなみにオリジナルのKarplus-Strongでは、ローパスフィルタの部分は「連続する2つのサンプルの平均値をとる」という形で簡易的に実装されているそうです。

Karplus-Strong自体は商品の音源方式として採用されたことはあまり無いようですが、教科書的には「物理モデリング音源」のはしりとして有名です。遅延によって起こる共振は、弦の振動のモデルの一種と考えられるということのようです。物理モデリング音源(ウエーブガイドシンセシス)は、ヤマハのVL1やKORGのProphecyなど、1990年代に流行しました。(Karplus-Strongが発明されたのは1983年ですから、FM音源の陰に隠れてしまったのかも?)

なお、Karplus-Strong方式をlogue-SDKで実装したものとして、オープンソースのものCain++Pluckなどがあります。ウエーブガイドシンセシスでは、PHYSIQがあります。

コメント