Wavetableの作成方法 Part3(ウェーブシェイピング)
ウェーブフォールディング
ウェーブフォールディングは、複雑な波形を生成するウェーブシェイパーの一種です。モジュラーシンセサイザーや一部のFMおよびウェーブテーブルシンセサイザーで使用されています。
通常、波形の入力振幅がしきい値を超えるとクリッピングが発生しますが、ウェーブフォールディングでは波形が折り返されます。この折り返し動作により、波形のピークや谷が増幅され、歪みが生じ、新しい倍音成分が導入されます。
Octaveによるウェーブフォールディングの実装
サイン関数に閾値を超える振幅の波形を入力することで、ウェーブフォールディングを実行できます。
output = sin(input * Fold_Amount); #インプット波形を乗算する
ウェーブテーブルの作成例
#ウェーブテーブルの作成例
clear;
pkg load signal
FS = 44100;
wl = 2048;
rootname = 'WaveFolder';
extension = '.wav';
input = sin(linspace(0,2*pi,wl+1)); #Waveform to be wave-folded
input = input(1:wl);
FoldAmount = linspace(1,12,256).';
table = [];
for r = 1 : 256
output = sin(input * FoldAmount(r)) ;
table =[table output];
end
filename = [rootname, extension];
audiowrite(filename,table, FS, 'BitsPerSample' , 32);
番外編- FM シンセでのウェーブフォールディング
Elektron Digitone
Operator のRatio Offsetを-1にすることで、Operatorはフォールディングモードになります。
Operator CとOperator Aの関係で言えば、Operator CのRatio Offsetを-1に設定して、Operator Aのレベルを上げることで、Operator Aの波形はフォールディングします。
Ableton Operator
Operatorを固定周波数モードにし、周波数を0Hzにすることで、フォールディングモードになります。
Operator AとOperator Bの関係で言えば、Operator Aの固定周波数を0Hzにし、Operator Bのレベルを上げることで、Operator Bの波形はフォールディングします。