{
   "name" : "Chaos Ambient - Unfinished Piece",
   "author" : "rumush",
   "ancestor_list" : [],
   "description" : "A unfinished noise piece. Based on two chaotic UGens and some granularization.",
   "labels" : [
      "random",
      "chaos",
      "algorhitmic"
   ],
   "id" : "1-50y",
   "is_private" : null,
   "code" : "// Rumush\r\n// Facebook: https://www.facebook.com/rumushproduction\r\n// SoundCloud: https://soundcloud.com/rumushproduction\r\n// YouTube: https://www.youtube.com/channel/UCs_Cn1R4iFrYOyc8liFucSQ\r\n// Blog: https://mycelialcordsblog.wordpress.com/\r\n// GitHub: https://github.com/RumushMycelialCords\r\n\r\n(\r\n// Timing\r\nvar tL = 360; // tL=totalLenght\r\nvar src1Tim = Array.fill(8,{tL*rrand(1,8)}).normalize(tL/32,tL/8);\r\nvar src2Tim = Array.fill(4,{tL*rrand(1,8)}).normalize(tL/16,tL/4);\r\nvar src3Tim = Array.fill(6,{tL*rrand(1,8)}).normalize(tL/64,tL/6);\r\nvar src4Tim = Array.fill(12,{tL*rrand(1,8)}).normalize(tL/32,tL/12);\r\n// Tuning\r\nvar scale = Scale.minorPentatonic;\r\nvar note = scale.degreeToFreq(0,48,1);\r\nvar freq = Array.series(16,note,note*1.5);\r\n{\r\n\tvar buf1 = Buffer.alloc(s,4e5);\r\n\t// Control Variables\r\n\tvar melody = Duty.ar(1,0,(Drand([36,48],inf)+Dxrand(scale.degrees,inf)).midicps);\r\n\tvar mainEnv = EnvGen.ar(Env.linen(0.0001,tL,10),doneAction:2);\r\n\tvar src1Env = DemandEnvGen.ar(Dseq([0,0.25,1,0.25],inf),Dseq(src1Tim,1),5,-4);\r\n\tvar src2Env = DemandEnvGen.ar(Dseq([0,0.25,1,0.25],inf),Dseq(src2Tim,1),5,-4);\r\n\tvar src3Env = DemandEnvGen.ar(Dseq([0,0.25,1,0.25],inf),Dseq(src3Tim,1),5,-4);\r\n\tvar src4Env = DemandEnvGen.ar(Dseq([0,0.25,1,0.25],inf),Dseq(src4Tim,1),5,-4);\r\n\tvar trig = Impulse.ar(3);\r\n\t// Sound Sources\r\n\tvar src1 = Splay.arFill(8, {arg i;\r\n\t\tMoogFF.ar(CuspL.ar(freq.choose,1,1.9,0),LFTri.ar(1/rrand(10,30),0,freq.choose,freq.choose/2),0)\r\n\t\t},\r\n\t\t1, 1/4)*src1Env;\r\n\tvar src2 = \tSplay.arFill(16, {arg i;\r\n\t\tMoogFF.ar(StandardL.ar(freq.choose*(1+(i%3)),1,0.5,0),LFTri.ar(1/rrand(10,30),0,freq.choose,freq.choose/2),0)\r\n\t\t},\r\n\t\t1, 1/4)*src2Env;\r\n\tvar src3 = Mix.fill(4,{arg i=1;\r\n\t\tvar mod = melody/2+SinOsc.ar(0.25.rand,0,melody/8,melody/16);\r\n\t\tSyncSaw.ar(mod,melody*i+StandardL.ar(melody*TIRand.ar(1,12,trig),mul:XLine.ar(0.01,1000,tL)),0.25)!2\r\n\t})*src3Env*0.1;\r\n\tvar src4 = TGrains.ar(2,Dust.ar(320*src1Env),buf1,1,LFNoise1.ar(1)+1*4e5,0.1*LFSaw.ar(4,0,0.5,0.5),0.1,4)*src4Env*0.125;\r\n\tBufWr.ar(src2[0],buf1,LFNoise1.ar(0.2)+1*5e4);\r\n\r\n\t(src1+src2+src3+src4)*mainEnv\r\n}.play;\r\n)"
}
