LR独立型ディレイも作ってみた。私は音色に左右の音の広がりを持たせたい場合に使う。左80ms・右60msくらいのディレイを設定してミックスすると音が左右に広がったように感じる。
JSFXコード
前回の記事のコードをベースに、左右独立してディレイタイムを設定できるようにしただけである。 https://blog.sfpgmr.net/entry/2016/07/30/183810
desc:SF:Delay LR
slider1:500<0,1000,1> Left Delay Time (ms)
slider2:500<0,1000,1> Right Delay Time (ms)
slider3:50<0,100,1>FeedBack (%)
slider4:50<0,100,1>Wet (%)
slider5:50<0,100,1>Dry (%)
@init
indexL = 0;
indexR = 0;
@slider
wet = (slider4 / 100);
dry = (slider5 / 100);
bufSizeL = slider1 / 1000 * srate;
bufSizeR = slider2 / 1000 * srate;
feedback = slider3 / 100;
@block
@sample
l = spl0;
r = spl1;
indexRtemp = indexR + bufSizeL + 1;
spl0=l * dry + indexL[0] * wet;
spl1=r * dry + indexRtemp[0] * wet;
indexL[0] = l + indexL[0] * feedback;
indexRtemp[0] = r + indexRtemp[0] * feedback;
(indexL+=1) >= bufSizeL?indexL = 0;
(indexR+=1) >= bufSizeR?indexR = 0;
これもそんなに複雑なコードではないが、JSFXだとサクッと作れてすぐ使えるので、非常にストレスがなくてよい。