// patch1 /fO 010809 ( var instr1,instr2,instr3, pattern1,pattern2,pattern3, totalDur = 300; // <- change to 60 if sc-demo pattern1 = Pseq([ // freq mul add 32.3294, 141.736, 1218.14, 28.4071, 154.714, 2202.23, 25.7751, 291.006, 1629.02, 33.8202, 263.66, 1554.29, 46.3937, 338.492, 1110.66, 20.4433, 104.58, 1195.37, 26.6919, 155.325, 730.083, 45.688, 106.245, 1243.25, 35.2422, 174.823, 1535.71, 47.0857, 335.103, 1160.79, 23.4317, 279.188, 1364.78, 44.8523, 362.984, 599.936, 31.3804, 328.3, 1738.8, 45.8871, 371.43, 1421.49, 44.4361, 113.407, 815.546, 44.4361, 113.407, 815.546, 44.4361, 113.407, 815.546, 44.4361, 113.407, 815.546, 44.4361, 113.407, 815.546, 32.3294, 141.736, 1218.14, 44.4361, 113.407, 815.546, 44.4361, 113.407, 815.546, 44.4361, 113.407, 815.546, 46.3937, 338.492, 1110.66, 20.4433, 104.58, 1195.37, 44.4361, 113.407, 815.546, 44.4361, 113.407, 815.546, 44.4361, 113.407, 815.546 ],inf).asStream; pattern2 = Pseq([ 80,84,87, // Ab,C,Eb 80,85,89, // Ab,Db,F 80,84,87, // Ab,C,Eb 80,85,89, // Ab,Db,F 91 // G ],inf).asStream; pattern3 = Pseq([ 44,39,37,36,34,32 // Ab,Eb,Db,C,Bb,Ab ],inf).asStream; { instr1 = EnvGen.ar(Env.new([1,1,0,0],[0.75,0.2,0.05]*totalDur), OverlapTexture.ar({ v = FSinOsc.kr(pattern1.next, pattern1.next, pattern1.next*0.2); w = LFPulse.kr(2, 0.1+0.3.rand, 0.06); Pan2.ar( CombN.ar(SinOsc.ar(v,0,w),0.19,0.19,1), 1.0.rand2) }, 14, 9, 4, 2), 0, 1 ); instr2 = EnvGen.ar(Env.new([0,0,1,1,0],[0.09,0.9,0,0.01]*totalDur), OverlapTexture.ar({ Pan2.ar( FSinOsc.ar( pattern2.next.midicps, LFPulse.kr(5+20.0.rand,0.6.rrand(0.9),0.02)), 1.0.rand2) }, 5, 5, 5, 2), 0, 0.1 ); instr3 = EnvGen.ar(Env.new([0,0,1,0,0],[0.2,0.5,0.2,0.1]*totalDur), Spawn.ar({arg spawn; var dur; dur = 1.rrand(6); spawn.nextTime = dur; Pan2.ar( EnvGen.ar(Env.linen(0,0.1*dur,0.7.rrand(0.85)*dur)) * SinOsc.ar(pattern3.next.midicps), 0.1.rand2) }, 2, nil), 0, 0.1 ); Mix.ar([instr1,instr2,instr3]) }.play )