1 declare name "pitch-shifter";
3 declare author "Grame";
5 declare copyright "(c)GRAME 2006";
7 //----------------------------
8 // very simple real time pitch shifter
9 //----------------------------
13 transpose (w, x, s, sig) =
14 fdelay1s(d,sig)*fmin(d/x,1) + fdelay1s(d+w,sig)*(1-fmin(d/x,1))
17 d = i : (+ : +(w) : fmod(_,w)) ~ _;
20 pitchshifter = vgroup("Pitch Shifter", transpose(
21 hslider("window (samples)", 1000, 50, 10000, 1),
22 hslider("xfade (samples)", 10, 1, 10000, 1),
23 hslider("shift (semitones) ", 0, -12, +12, 0.1)
28 process = pitchshifter;