X-Git-Url: https://scm.cri.ensmp.fr/git/Faustine.git/blobdiff_plain/1059e1cc0c2ecfa237406949aa26155b6a5b9154..66f23d4fabf89ad09adbd4dfc15ac6b5b2b7da83:/interpreter/preprocessor/faust-0.9.47mr3/tools/faust2pd/examples/faust/pitch_shifter.dsp diff --git a/interpreter/preprocessor/faust-0.9.47mr3/tools/faust2pd/examples/faust/pitch_shifter.dsp b/interpreter/preprocessor/faust-0.9.47mr3/tools/faust2pd/examples/faust/pitch_shifter.dsp new file mode 100644 index 0000000..013591d --- /dev/null +++ b/interpreter/preprocessor/faust-0.9.47mr3/tools/faust2pd/examples/faust/pitch_shifter.dsp @@ -0,0 +1,29 @@ +declare name "pitch-shifter"; +declare version "1.0"; +declare author "Grame"; +declare license "BSD"; +declare copyright "(c)GRAME 2006"; + + //---------------------------- + // very simple real time pitch shifter + //---------------------------- + +import("music.lib"); + +transpose (w, x, s, sig) = + fdelay1s(d,sig)*fmin(d/x,1) + fdelay1s(d+w,sig)*(1-fmin(d/x,1)) + with { + i = 1 - pow(2, s/12); + d = i : (+ : +(w) : fmod(_,w)) ~ _; + }; + +pitchshifter = vgroup("Pitch Shifter", transpose( + hslider("window (samples)", 1000, 50, 10000, 1), + hslider("xfade (samples)", 10, 1, 10000, 1), + hslider("shift (semitones) ", 0, -12, +12, 0.1) + ) + ); + + +//process = _ <: select2(checkbox("activate"), _, pitchshifter) <: _,_; +process = pitchshifter;