{
   "id" : "1-57s",
   "is_private" : null,
   "code" : "(\r\n\t// INIT take time\r\n\t~t = 185/4/60; TempoClock.default.tempo = ~t; // now with tempo !\r\n\r\n\t33.do { arg x;\r\n\t\t( \"creating babass \"++x ).postln;\r\n\r\n\t\tSynthDef(( \\babass++x ).asSymbol, { arg out=0, amp=0.1, gate=1, pan=0, freq=200;\r\n\t\t\tvar sig;\r\n\t\t\tvar voices = 8; // CPU control\r\n\t\t\tsig = SinOsc.ar(freq);\r\n\t\t\tsig = voices.collect({\r\n\t\t\t\t[SinOsc, LFSaw, LFCub, LFPulse].choose.ar(freq * [1,2,1 + rrand(0,0.01)].choose * ( 1 + ( SinOsc.ar(exprand(4,100) * ( 1 + ( SinOsc.ar(exprand(0.1,100)) * 1 ))) * rrand(0,1) )), rrand(0.0,pi))\r\n\t\t\t});\r\n\t\t\tsig = sig.collect({ arg sig;\r\n\t\t\t\tsig + [SinOsc, LFSaw, LFCub, LFPulse].choose.ar(freq * [1,2,1 + rrand(0,0.01)].choose * ( 1 + ( SinOsc.ar(exprand(4,100) * ( 1 + ( SinOsc.ar(exprand(0.1,100)) * 1 ))) * rrand(0,1) )), rrand(0.0,pi));\r\n\t\t\t});\r\n\t\t\tsig = ( sig*\\distamp.kr(10) * (1..voices)/4 ).tanh * \\distpostamp.kr(1/2);\r\n\t\t\tsig = sig.collect({ arg sig;\r\n\t\t\t\tvar line = [\r\n\t\t\t\t\tXLine.kr(0.1,2,exprand(0.02,4)),\r\n\t\t\t\t\tXLine.kr(2,0.1,exprand(0.02,4)),\r\n\t\t\t\t];\r\n\t\t\t\tRLPF.ar(sig, rrand(100,1000) * line.choose, rrand(0.1,0.5) * line.choose);\r\n\t\t\t});\r\n\t\t\tsig = HPF.ar(sig, 50);\r\n\t\t\tsig = LPF.ar(sig, 2500);\r\n\t\t\tsig = sig * EnvGen.ar(Env.adsr(0.01,0.1,0.8,0.1),gate,doneAction:2);\r\n\t\t\tpan = pan + SinOsc.kr((1..voices)/21, mul:0.01);\r\n\t\t\tsig = sig * 2;\r\n\t\t\tsig = sig * \\modamp.kr(1).lag(0.1);\r\n\t\t\tsig = DelayC.ar(sig, 0.01,0.001) + sig;\r\n\t\t\tsig = Pan2.ar(sig, pan, amp).mean;\r\n\t\t\tOut.ar(out, sig);\r\n\t\t}).add;\r\n\t};\r\n\r\nSynthDef(\\kobass, { arg out=0, amp=0.1, gate=1, pan=0, freq=200;\r\n\tvar sig;\r\n\tfreq = freq.lag(\\freqlag.kr(0.4));\r\n\tsig = LFSaw.ar(freq * [1/2,1,2] *.t [1,1.00001], 0.7);\r\n\tsig = RLPF.ar(sig, \\lpfratio.kr(1.7)* freq * SinOsc.kr(1/18 * (1..8)).range(0.5,2), \\rq.kr(0.5));\r\n\tsig = sig * EnvGen.ar(Env.adsr(0.01,0.01,0.8,0.1,1,-4),gate,doneAction:2);\r\n\tsig = sig * SelectX.kr(\\ammix.kr(1),[1,SinOsc.ar(\\amf.kr(1*~t)).unipolar]); \r\n\tsig = SelectX.ar(LFNoise1.kr(1/62.1).unipolar, [sig, sig.fold( LFNoise1.kr(1/53).range(0.5,2) )]);\r\n\tsig = sig.mean;\r\n\tsig = sig * AmpComp.kr(freq);\r\n\tsig = sig * 3;\r\n\tsig = sig * amp;\r\n\tsig = sig * \\modamp.kr(1).lag(0.1);\r\n\tOut.ar(out, sig);\r\n}).add;\r\n);\r\n\r\n\r\n(\r\n\t// PLAY!\r\n\tPdef(\\chord1, Pmono(\\kobass,\r\n\t\t\\degree, Pseq([\r\n\t\t\t[0,4],\r\n\t\t\t[0,5],\r\n\t\t],inf),\r\n\t\t\\lpfratio, 1,\r\n\t\t\\amf, Ptuple(Prand(2**(0..5),inf)/4!2).stutter(Prand([2,3,4,6,8],inf))*~t,\r\n\t\t\\ammix, Ptuple(Prand(( 0..10 ),inf)/10!2).stutter(Prand([2,3,4,6,8],inf)),\r\n\t\t\\octave, Ptuple(Prand([4,3,5,6],inf).stutter(Prand([Prand([2,3,4,6,8]),4,6,8],inf))!2),\r\n\t\t\\dur, 4,\r\n\t\t\\modamp, Pseq([\r\n\t\t\tPn(1,32*3),\r\n\t\t\tPn(0,32*1),\r\n\t\t],inf),\r\n\t\t\\amp, 0.1/2 * 0.5,\r\n\t));\r\n\r\n\tPdef(\\chord2, Pmono(\\kobass,\r\n\t\t\\degree, Pseq([\r\n\t\t\t9, 9, 8, 8,\r\n\t\t],inf)+Pseq([0,1,0,3],inf).stutter(Prand([8,8,8,4,2],inf).stutter(4)),\r\n\t\t\\lpfratio, 1,\r\n\t\t\\amf, Ptuple(Prand(2**(0..5),inf)/4!2).stutter(3)*~t,\r\n\t\t\\ammix, Ptuple(Prand(( 0..10 ),inf)/10!2).stutter(2),\r\n\t\t\\modamp, Prand([1,0,0,0],inf).stutter(Prand([8,16,32],inf)),\r\n\t\t\\octave, Ptuple(Prand([4,3,5,6],inf).stutter(Prand([Prand([2,3,4,6,8]),4,6,8],inf))!2),\r\n\t\t\\dur, 4,\r\n\t\t\\amp, 0.1/2 * 0.5,\r\n\t));\r\n\r\n\tPdef(\\far, \r\n\t\tPlazy({\r\n\t\t\tPpar([\r\n\t\t\t\tPlazy({\r\n\t\t\t\t\tPfindur([64,32].choose, Ppar([\r\n\t\t\t\t\t\trrand(1,8).collect({ arg idx;\r\n\t\t\t\t\t\t\tPmonoArtic(( \\babass++rrand(0,32) ).asSymbol,\r\n\t\t\t\t\t\t\t\\degree, Pstep(Pseq([\r\n\t\t\t\t\t\t\t\t9, 9, 8, 8,\r\n\t\t\t\t\t\t\t],inf),4)+Pseq([0,1,0,3],inf),\r\n\t\t\t\t\t\t\t\\modamp, Pseq([\r\n\t\t\t\t\t\t\t\tPseq([\r\n\t\t\t\t\t\t\t\t\tPseq({[\r\n\t\t\t\t\t\t\t\t\t\t1,0,\r\n\t\t\t\t\t\t\t\t\t\t0,1,\r\n\t\t\t\t\t\t\t\t\t\t1,1,\r\n\t\t\t\t\t\t\t\t\t\t0,0,\r\n\t\t\t\t\t\t\t\t\t].clump(2).choose}.dup([2,4,8,16].choose).flat,[2,4,8,16].choose).dup([2,4,8,16].choose)\r\n\t\t\t\t\t\t\t\t].flat,1) * Pstep(Pseq([[1,0].choose],inf),[1,3].choose)\r\n\t\t\t\t\t\t\t],inf),\r\n\t\t\t\t\t\t\t\\legato, Pseq([{ [rrand(0.1,0.8),1].choose }!( 2**rrand(0,3) )].flat,inf),\r\n\t\t\t\t\t\t\t\\lpfratio, 1,\r\n\t\t\t\t\t\t\t\\octave, [3,4,5,6].choose,\r\n\t\t\t\t\t\t\t\\dur, [[1/4,1/16].choose,1/8,1/4,1/2,1,2].choose,\r\n\t\t\t\t\t\t\t\\amp, 0.1 * [0.8,0.5,Pseq([0.8,0.5],inf)].choose * 0.5,\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t}),\r\n\t\t\t\t].flat))\r\n\t\t\t}).loop,\r\n\t\t\tPlazy({\r\n\t\t\t\tPfindur([64,32,16,8].choose, Ppar([\r\n\t\t\t\t\trrand(1,8).collect({ arg idx;\r\n\t\t\t\t\t\tPmonoArtic(( \\babass++rrand(0,32) ).asSymbol,\r\n\t\t\t\t\t\t\\degree, Pstep(Pseq([\r\n\t\t\t\t\t\t\t9, 9, 8, 8,\r\n\t\t\t\t\t\t],inf),4)+Pseq([0,1,0,3],inf),\r\n\t\t\t\t\t\t\\modamp, Pseq([\r\n\t\t\t\t\t\t\tPseq([\r\n\t\t\t\t\t\t\t\tPseq({[\r\n\t\t\t\t\t\t\t\t\t1,0,\r\n\t\t\t\t\t\t\t\t\t0,1,\r\n\t\t\t\t\t\t\t\t\t1,1,\r\n\t\t\t\t\t\t\t\t\t0,0,\r\n\t\t\t\t\t\t\t\t].clump(2).choose}.dup([2,4,8,16].choose).flat,[2,4,8,16].choose).dup([2,4,8,16].choose)\r\n\t\t\t\t\t\t\t].flat,1) * Pstep(Pseq([1,0],inf),Pseq([1,3].scramble,inf) * [1,2,4,8,16].choose)\r\n\t\t\t\t\t\t],inf),\r\n\t\t\t\t\t\t\\legato, Pseq([{ [rrand(0.1,0.8),1].choose }!( 2**rrand(0,3) )].flat,inf),\r\n\t\t\t\t\t\t\\lpfratio, 1,\r\n\t\t\t\t\t\t\\octave, [3,4,5,6].choose,\r\n\t\t\t\t\t\t\\dur, [1/2,1/4,1/8,1/4,1/2,1,2].choose,\r\n\t\t\t\t\t\t\\amp, 0.1 * [0.8,0.5,Pseq([0.8,0.5],inf)].choose * 0.5,\r\n\t\t\t\t\t)\r\n\t\t\t\t}),\r\n\t\t\t].flat));\r\n\t\t}).loop,\r\n\t],inf);\r\n})\r\n);\r\n\r\nPdef(\\main, Ptpar([\r\n\t0,Pdef(\\chord1),\r\n\t16,Pdef(\\far),\r\n\t64,Pdef(\\chord2),\r\n])).play;\r\n)",
   "labels" : [
      "sleep"
   ],
   "ancestor_list" : [],
   "description" : "",
   "author" : "grirgz",
   "name" : "Eternal sunrise"
}
