/*RUN*/ ~s0 = Scale.harmonicMinor; ~s1 = Scale.melodicMinor; ~s2 = Scale.gong; ~s3 = Scale.whole; ~s4 = Scale.chromatic; ~d0 = Pn(Pseries(0, 1, 2), inf); ~d1 = Pn(Pseries(0, 1, 3), inf); ~d2 = Pn(Pseries(0, 4, 9), inf); ~d3 = Pn(Pseries(0, 1, 11), inf); ~d4 = (Pexprand(1, 8, inf) - 1).round; ~d5 = Pwrand([Pseries(0,1,inf)],[15,20,3,4,5].normalizeSum, inf); // repeat patterns ~d6 = Pclutch(~d4, Pseq(#[0,0,0,0,0,0,0,0,1,1,1,1,1],inf)); ~d7 = Pstutter(Prand([1, 2, 5], inf), Pwhite(-1.0, 1.0)); //c = Pstutter(3, Pxrand([1, 2, 3], inf) * 4 + 65); ~d8 = Pseq([0,6,2,4,1,3,3,7,5,11]); // ground bass ~d9 = Prand([1,3,5,7],8); ~d10 = Pseq([2,4,6,8],8); ~d11 = Prand([0,2,4,6],8); ~d12 = Pseq([3,5,7,9],8); ~ddd = Pseq([~d9, ~d10, ~d11, ~d12],inf); ///////////////////////////////////////////////// ~rx0 = Pwrand([1/8, 1/4, 1/2, 2],[80,50,20,20].normalizeSum, 1); ~rx1 = Pwrand([1/8, 1/4, 1/2, 2],[80,50,20,20].normalizeSum, 1); ~rx2 = Pwrand([1/8, 1/4, 1/2, 2],[80,50,20,20].normalizeSum, 1); ~rx3 = Pwrand([1/8, 1/4,],[90,30, 10, 0].normalizeSum, 1); ~rx3 = Pxrand([ 1/8, 1/4, 1/2, 1/8, 1 ],1); /////////////////////// ~r16 = Pseq([ 1/16, 1/16, 1/16, 1/16, 1/16, 1/16, 1/16, 1/16, 1/16, 1/16, 1/16, 1/16, 1/16, 1/16, 1/16, 1/16, ],1); ~r01 = Pseq([ 1/8, Rest(1/8), Rest(1/8), Rest(1/8), Rest(1/8), Rest(1/8), Rest(1/8), Rest(1/8), ],1); ~r02 = Pseq([ 1/8, Rest(1/8), Rest(1/8), Rest(1/8), 1/8, Rest(1/8), Rest(1/8), Rest(1/8), ],1); ~r03 = Pseq([ 1/8, 1/8, 1/8, Rest(1/8), 1/8, 1/8, 1/8, Rest(1/8), ],1); ~r04 = Pseq([ Rest(1/8), 1/8, 1/8, 1/8, Rest(1/8), 1/8, 1/8, 1/8, ],1); ~rrr = PatternProxy.new; ~rr = PatternProxy.new; ~rr.source = Pxrand([~r01,~r02, ~r03, ~r04],inf); ~rrr.source = Pxrand([~r0,~r0, ~r0, ~r02],inf); ~rr.source = Prand([~r03,~r04, ~r0, ~r0],inf); ~rrr.source = Prand([~r03,~r03,~r02, ~r4],inf); ~rs = Pseq([ Pseq([~rx0],32), Pseq([~rx1],32), Pseq([~rx2],32), Pseq([~rx3],32), Pseq([~r03],8), Pseq([~r04],8), Pseq([~r0],8), Pseq([~r0],8), Pseq([~r04],8), Pseq([~r16],8), Pseq([~r0],inf), ],inf); ~rb = Pseq([ Pseq([~rx0],32), Pseq([~rx1],32), Pseq([~rx2],32), Pseq([~rx3],32), Pseq([~r03],8), Pseq([~r04],8), Pseq([~r0],8), Pseq([~r0],8), Pseq([~r04],8), Pseq([~r16],8), Pseq([~r0],inf), ],inf); /////////////////////////////// OCTAVISATION PATTERNS ~oo = PatternProxy.new; ~ooo = PatternProxy.new; ~o0 = Prand([5], inf); ~o1 = Prand([2,3], inf); ~o2 = Prand([3,4,5], inf); ~o3 = Pwrand([3,4,5,6,7],[15,20,3,4,5].normalizeSum, inf); ~o = Pseq([ Pxrand([4,5,6], 32), Pseq([5,6,7], 32), Pseq([4,7], 32), Pxrand([4,5,6,7], 32), ] , inf); ~oo.source = ~o; ~o = Pseq([ Pseq([8], 32), ] , inf); ///////////////////////////////////////////////////// ~r1 = 1/4; ~r2 = Pwrand([0.25, Rest(0.75), 1], [0.6, 0.2, 0.2], inf); ~r3 = Pwrand(#[0.25, 0.5, 0.75, 4], #[0.4, 0.3, 0.2, 0.1], inf); ~r4 = 8; ~r5 = Pwrand([Pseq([1/8,1/8,1/8,1/8,1/8, Rest(3/8), Rest(1)],2), 0.25, 0.5, 0.75, 4], #[0.05, 0.4, 0.3, 0.2, 0.05], inf); ~r6 = Pwhite(1, 6, inf) * 0.125; ~triplet = Pseq([1,1,1,1,5] , 1) / 5 ; ~white = Pwhite(1, 6, 5) * 0.125; ~sync8th = Pseq([Rest(1/8), 1/8] , 4); ~sixteen = Pseq([1/Pwhite(5,10,Pwhite(4,7))], Pwhite(1,2)); ~long = Pwhite(1,5,1) / 3; ~rest = Rest(2); ~phrase = Pxrand([~white, ~sync8th, ~sixteen, ~long, ~rest, ~rest+0.7], inf); //////////////////////////////////////////////////////