TUTORIAL DE SUPERCOLLIDER 3 - PARTE 9 Rodrigo F. Cadiz, basado en apuntes de Gary S. Kendall Northwestern University ( Server.default = Server.internal; s = Server.default; s.boot; ) Sintesis granular Gendy1 (tambien Gendy2 y Gendy3) - Implementacion del generador dinamico estocastico concebido por Xenakis Metodos de clase *ar(ampdist=1, durdist=1, adparam=1.0, ddparam=1.0, minfreq=20, maxfreq=1000, ampscale= 0.5, durscale=0.5, initCPs=12, knum=12, mul=1.0, add=0.0) Check the help page for an explanation of the parameters! //defaults {Pan2.ar(RLPF.ar(Gendy1.ar(2,3,minfreq:20, maxfreq:MouseX.kr(100,1000), durscale:0.0, initCPs:40), 500,0.3, 0.2), 0.0)}.play ({ var mx, my; mx= MouseX.kr(220,440); my= MouseY.kr(0.0,1.0); Pan2.ar(Gendy1.ar(2,3,1,1,minfreq:mx, maxfreq:8*mx, ampscale:my, durscale:my, initCPs:7, mul:0.3), 0.0) }.play) Sintesis granular ala Gabor // Granular Synthesis (SynthDef(\grainMaker, {arg dur = 1, amp = -3, freq = 440; var env, halfdur, car; halfdur = dur * 0.5; amp = amp.dbamp; env = EnvGen.ar( Env([0, amp, 0], [halfdur, halfdur], \lin), doneAction: 2); car = SinOsc.ar(freq, 0, 1); OffsetOut.ar(0, car * env); }).load(s);) (z = Routine({ var freq, amp, time=0; freq = Env([1000, 500], [15], \exp); amp = Env([-12, -3, -12], [7.5, 7.5], \lin); 1500.do{ s.sendBundle(0.1, [\s_new, \grainMaker, -1, 0, 1, \dur, 0.009, \amp, amp[time], \freq, freq[time]]); 0.01.wait; time = time + 0.01; } }).play)