デモを見る (github.io)
WaveCymbal は
Banded Waveguides を利用したシンセサイザです。シンバルというよりは空き缶のような音がでます。
仕組み
下図はWaveCymbal の大まかな信号の流れです。
まずインパルスをコムフィルタに通して衝突音を作ります。これが Input になります。
Input は 1D Wave へと入力されます。1D Wave では1次元の波のシミュレーションを行っています。
1D Wave の複数の地点からの出力を、それぞれバンドパスフィルタに通して並列に並べた Karplus-Strong へと送ります。Karplus-Strong からの出力はそれぞれ対応する 1D Wave の地点へとフィードバックされます。
並列に並べた Karplus-Strong からの出力を加算したものが Output になります。
問題点
1D Wave のシミュレーションが適当なので、システムのサンプリング周波数によってピッチが変わる問題があります。