{
   "labels" : [
      "scifi",
      "pads",
      "cs80"
   ],
   "is_private" : null,
   "id" : "1-4R2",
   "code" : "// been listening to a lot of vangelis/wendy carlos recently\r\n// largely modified from the cs80_mh in synthdefpool \r\n\r\n(\r\nvar scale,fund;\r\n\r\nscale = [0,3,7];\r\n\r\nfork{\r\n\tloop{\r\n\t\tvar t = [16,32].choose;\r\n\t\tfund = 26+[0,3,7,10,14].choose;\r\n\t\tfund.postln;\r\n\t\tt.wait;\r\n\t};\r\n};\r\n\r\nfork{\t\t\t\r\n\tloop{\r\n\t\tvar t = 1/2;\r\n\t\tvar a,d,s,r,fa,fd,fs,fr,ratio,dtune,freq,\r\n\t\t\tffreq,vibrate,vibdepth,cutoff,amp;\r\n \t\tfreq = (scale.choose+fund+(12*(0..3).choose)).midicps;\r\n \t\tvibrate = t/(1..10).choose;\r\n \t\tvibdepth = (90..500).choose.reciprocal;\r\n\t\tdtune = 1e-3; LFNoise0.kr(t,0.02,1);\r\n\t\tcutoff = freq * (1.1,1.2..4).choose;\r\n \t\tratio = (0.99,0.991..1.01).choose;\t\r\n \t\tamp = 1/3;\r\n\t\t\r\n \t\ta = 3.0.rand/t;\t\t\r\n \t\ts = 3.0.rand/t;\r\n \t\tr = 3.0.rand/t;\r\n \t\tfa = 3.0.rand/t;\r\n \t\tfs = 3.0.rand/t;\r\n \t\tfr = 3.0.rand/t;\r\n\t\t\r\n\t\tplay{\r\n\t\t\tvar env, fenv, sig, gate, vib;\r\n\t\t\tgate = Line.kr(1,0,t);\r\n\t\t\tenv = EnvGen.kr(Env.linen(a,s,r),doneAction:2);\r\n\t\t\tfenv = EnvGen.kr(Env.linen(fa,fs,fr));\r\n\t\t\tfreq = Line.kr(freq,freq*ratio,t);\r\n\t\t\tvib = SinOsc.kr(vibrate).range(vibdepth.neg,vibdepth)+1;\r\n\t\t\tfreq = vib*freq;\t\t\t\r\n\t\t\t//freq = freq.lag(t);\r\n\t\t\tsig = Select.ar(2.rand,[\r\n\t\t\t\tPulse.ar([freq,freq*(1+dtune),freq*(1-dtune)],\r\n\t\t\t\t\tLFNoise2.kr(t,0.5,0.5), 0.1).sum,\r\n\t\t\t\tSaw.ar([freq,freq*(1+dtune),freq*(1-dtune)]).sum\r\n\t\t\t]);\r\n\t\t\tsig = sig.tanh * env;\r\n\t\t\tffreq = max(fenv*freq*12,cutoff)+100;\r\n\t\t\tsig = MoogFF.ar(sig,ffreq,LFNoise2.kr(1/t,1.4,1.5)).tanh;\r\n\t\t\tsig = RLPF.ar(sig,1e4,0.9).tanh;\r\n\t\t\tPan2.ar(sig*amp,LFNoise2.kr(t.rand));\r\n\t\t\t};\r\n\t\tt.wait;\r\n\t\t};\r\n\t};\r\n\r\n// this was inspired by http://sccode.org/1-4EG \r\n// good way to get the reverb out of the loop... \r\n// thanks rukano ;)\r\n{\r\n\tvar in = In.ar(0,2);\r\n\tin = in * 0.25;\r\n\tin = Compander.ar(in,in,0.75,1,0.75,0.1,0.4);\r\n\tin = (in*0.2) + GVerb.ar(HPF.ar(in,100), 20, 20, mul:0.6).tanh;\r\n\tin = Limiter.ar(LeakDC.ar(in));\t\t\r\n\tReplaceOut.ar(0, in)\r\n}.play(addAction:\\addToTail);\r\n)",
   "name" : "ambient scifi pads",
   "author" : "xffff",
   "description" : "pad synthesis with a couple of loops",
   "ancestor_list" : []
}
