2020/08/19

CollidingCombSynth


ダウンロードとマニュアル (github.io)
ソースコード (github.com)

CollidingCombSynth は Karplus-Strong アルゴリズムによる弦 (K-S弦) をぶつけ合うというアイデアに基づいた実験的なシンセサイザです。たまに擦弦楽器のような音が出ます。

以前に作った KSCymbal を元にしています。

弦の衝突の実装はかなり適当です。まず隣り合う 2 つの K-S 弦の出力の差をとって、ユーザが指定した弦と弦の間の距離 (distance パラメータ) を超えているかどうかを判定します。出力の差が距離を超えているときは、出力の差と距離の間でさらに差をとって次の入力に足し合わせています。

今回の実装では、一方の K-S 弦から、もう一方の K-S 弦だけに衝撃が伝わるので、オシレータシンクのような挙動をします。衝撃を伝える側の弦は一定の周期で距離を縮めるのに対して、衝撃を伝えられる側の弦は自身の周期によらず距離が縮まる影響を受けるからです。

衝撃は UI 上の表記で言うと Strings -> Frequency の 0 から 23 に向かって伝わります。