// patch2 /fO 010816 ( var instr1, instr2, instr3, instr4, instr1Freq = 60, instr2Freq = 39; { arg synth; synth.sched(30,{instr2Freq = 37}); synth.sched(40,{instr1Freq = 62}); synth.sched(55,{instr1Freq = 59}); synth.sched(70,{instr2Freq = 35}); a = {[1,2,3].wchoose([0.25,0.45,0.3])}; instr1 = CombN.ar( Spawn.ar({ Mix.ar( Pan2.ar( EnvGen.ar(Env.linen(0,1,0.95,1), FSinOsc.ar( (instr1Freq+[0,3,7,10]).midicps, max(0, LFNoise0.kr([a.value,a.value,a.value,a.value], 0.2)))), [1.0.rand2,1.0.rand2,1.0.rand2,1.0.rand2]) )}, 2, 4), 4, 0.52, 3.8); instr2 = Spawn.ar({ Pan2.ar( FSinOsc.ar( instr2Freq.midicps, EnvGen.kr(Env.linen(5,8,8,0.2))).amclip(LFNoise0.ar([1,2,3].choose)), 1.0.rand2) }, 2, 7); instr3 = Spawn.ar({ EnvGen.ar(Env.linen(0,0,10,0.1), SinOsc.ar( Line.kr( 0.9, [0.7,1].choose, 3, LFSaw.kr([4.1,5.06],-0.5,[51,54].choose)).midicps, 0, 0.1)) }, 2, 16); instr4 = TSpawn.ar({ Pan2.ar( LFClipNoise.ar(Line.kr(4000.rrand(10000),4000,18),EnvGen.kr(Env.sine(17,0.0005))), FSinOsc.kr(0.1,0.15)) }, 2, trig: Impulse.kr(0.05)); EnvGen.ar(Env.linen(0,120,20,1),Mix.ar([instr1,instr2,instr3,instr4])); }.play )