2017/11/23

PADsynthでシンバルの合成

ZynAddSubFXのDrums -> Natural Drum KitのハイハットがSUBsynthで合成されているのを見てシンバルを加算合成できる気がしたので、いろいろ試したらPADsynthで以下のリンクのような音が簡単に作れることがわかりました。

PADsynthによるシンバル (Freesound)

始めは周波数成分を手作業でPADsynthに入力するつもりでしたが、無理そうだったのでKernel Density Estimationという手法を応用してある程度ランダムに合成することにしました。

作ったプログラムにFreesoundにあったシンバルのPackをいくつか投げてみたところ思ったよりもいい結果が出たのですが、シンバル以外のPackも試したところ何を入れても似たような音が出てくることが分かりました。

何を入れても同じならランダムに作ったデータでもいいんじゃないかと試したところ冒頭のような音が合成できました。ただし音量エンベロープはAudacityで後付けしています。

以下のPython3のプログラムで音量エンベロープをかけていない音が合成できます。

padsynth.py (GitHub)

合成についての細かい話を以下にまとめています。

ライドシンバル合成の試み (GitHub)