X-Git-Url: https://scm.cri.ensmp.fr/git/Faustine.git/blobdiff_plain/c7f552fd8888da2f0d8cfb228fe0f28d3df3a12c..b4b6f2ea75b9f0f3ca918f5b84016610bf7a4d4f:/interpretor/faust-0.9.47mr3/examples/faust-stk/sitar.dsp?ds=sidebyside diff --git a/interpretor/faust-0.9.47mr3/examples/faust-stk/sitar.dsp b/interpretor/faust-0.9.47mr3/examples/faust-stk/sitar.dsp deleted file mode 100644 index b765542..0000000 --- a/interpretor/faust-0.9.47mr3/examples/faust-stk/sitar.dsp +++ /dev/null @@ -1,48 +0,0 @@ -declare name "Sitar"; -declare description "WaveGuide Sitar"; -declare author "Romain Michon (rmichon@ccrma.stanford.edu)"; -declare copyright "Romain Michon"; -declare version "1.0"; -declare licence "STK-4.3"; // Synthesis Tool Kit 4.3 (MIT style license); -declare description "This instrument implements a sitar plucked string physical model based on the Karplus-Strong algorithm using a randomly modulated delay line."; - -import("music.lib"); -import("instrument.lib"); - -//==================== GUI SPECIFICATION ================ - -freq = nentry("h:Basic_Parameters/freq [1][unit:Hz] [tooltip:Tone frequency]",440,20,20000,1); -gain = nentry("h:Basic_Parameters/gain [1][tooltip:Gain (value between 0 and 1)]",1,0,1,0.01); -gate = button("h:Basic_Parameters/gate [1][tooltip:noteOn = 1, noteOff = 0]"); - -resonance = hslider("v:Physical_Parameters/Resonance -[2][tooltip:A value between 0 and 1]",0.7,0,1,0.01)*0.1; - -//==================== SIGNAL PROCESSING ================ - -//stereoizer is declared in instrument.lib and implement a stereo spacialisation in function of -//the frequency period in number of samples -stereo = stereoizer(SR/freq); - -//excitation envelope (adsr) -envelope = adsr(0.001,0.04,0,0.5,gate); - -//the delay length is randomly modulated -targetDelay = SR/freq; -delayLength = targetDelay*((1+(0.5*noise)) : smooth(0.9992)); -delayLine = delay(4096,delayLength); - -//the loop gain control the resonance duration -loopGain = 0.895 + resonance + (freq*0.0000005); -amGain = 0.1*gain; - -//feedback filter is a one zero (declared in instrument.lib) -filter = oneZero1(b0,b1) - with{ - zero = 0.01; - b0 = 1/(1 + zero); - b1 = -zero*b0; - }; - -process = (*(loopGain) : filter + (envelope*noise*amGain))~delayLine : *(8) : -stereo : instrReverb;