// rhinosorous /////////////////////////////////// TempoClock.default.tempo = 90/60; ~durs = [1/16,1/8, 3/16, 1/4, 1/3, 3/8, 1/2, 5/8, 2/3, 3/4, 7/8, 1, 5/4, 2]; //16 beats ~wdurs = Pwrand([1/8, 1/4, 1/3, 1/2, 2, 6, 10, Rest(1)],[50, 30, 20, 10, 35, 20 ,10, 30].normalizeSum, inf); ~wdurs1 = Pwrand([1/16, 1/8, 1/6, 1/4, 1],[50, 30, 20, 10, 20].normalizeSum, inf); ~drnd1 = Pconst(16, Pxrand(~durs, ~durs.size)); // 16 beats of rnd durs ~dgauss0 = Pfindur(16, Pgauss(0,1, inf) ); ~op = Scale.new(#[3, 11, 10, 2, 1, 0, 6, 4, 7, 5, 9, 8], name: "op27_III"); ~df = Pseq([1,1,3,1,1,1,5,1,2,1,8,1,13],1); ~durpat = Pseq([ // .sum to check 1,1,3,1,1,1,5,1,2,1,8,1,13, Pconst(32, ~wdurs), Pseq([Pn(1/16, 8), 4,3.5], 1), // 8 1,1,3,1,1,1,5,1,2,1,8,1,13, Pseq([1/2, 1/2, 1/2, 1/6, 1/6, 1/6, 5], 4), // 28 Pseq([1/6,1/6,1/6,1/6,1/6,1/6, 3], 4), // 16 //Pseq([1/6,1/6,1/6,1/6,1/6,1/6], 4), //Pseq([3/8, 1/8, 1/6, 1/6, 1/6, Rest(3), 2 ], 8), Pconst(21, Pseq([5,3,5,8],1)), Rest(32) ], 1); ~octptn = Pseq([ Pfin(13, Pn(4,inf)), Pconst(32, Pn(7,inf)), Pconst(8, Pn(3, inf)), Pfin(13, Pn(4,inf)), Pconst(28, Pn(7,inf)), Pconst(16, Pn(5,inf)), Pconst(21, Pn(4,inf)), ], inf); //~deg = Pseq((0..11) ++ Pseq([8,9,10,11],3) ++ (11..0) ++ [\rest], 1); //~deg = Pseq((0..11) ++ [\rest], 4); ~prime = Pseq( (0..11) , 1); ~retro = Pseq( (11..0) , 1); ~melodyA = Pseq([~prime, ~prime, ~retro], inf); ~melodyB = Pseq([~prime, ~retro, ~prime], inf); Pbindef(\m_1, \dur, ~durpat, \octave, ~octptn, \scale, ~op, \degree,~melodyA); Pbindef(\m_2, \dur, ~durpat, \octave, 3, \scale,~op, \degree,~melodyB, inf); //Pchain Pdef(\m_1).play(quant: 4); // TOP MOTHER Pdef(\m_2).play(quant: 4); // TOP MOTHER Pdef(\m_1).stop; Pdef(\m_2).stop; ////////////////////////////////////