"/home/rob/gtr/motherMIDISetup.scd".load; TempoClock.default.tempo = 60/60; ~xx = ( Pdef(\m_1).play(quant: 4); // TOP MOTHER Pdef(\m_1_CC).play(quant:4); // CC 1 Pdef(\m_2).play(quant: 4); // BTM MOTHER NOTEON Pdef(\m_2_CC).play(quant:4); // CC 1 ) Pdef(\m_1).stop; // NOTEON Pdef(\m_1_CC).stop; Pdef(\m_2).stop; // NOTEON Pdef(\m_2_CC).stop; //////////////////////////////////////// Pdef(\m_1).play(quant: 4); // TOP MOTHER Pdef(\m_1_CC).play(quant:4); // CC 1 Pdef(\m_1).stop; // NOTEON Pdef(\m_1_CC).stop; // --------------- / Pdef(\m_2).play(quant: 4); // BTM MOTHER NOTEON Pdef(\m_2_CC).play(quant:4); // CC 1 Pdef(\m_2).stop; // NOTEON Pdef(\m_2_CC).stop; ////////////////////////////// Pbindef(\m_1,\scale,~s1,\degree,~d4,\dur,~r1,\octave,~o2, \mtranspose,0); Pbindef(\m_2,\scale,~s1,\degree,~d4,\dur,~r2,\octave,~o2, \mtranspose,0); // indiviudal controls ////////////// Pbindef(\m_1, \root, 4); Pbindef(\m_2, \root, 4); Pbindef(\m_1, \mtranspose, 0); Pbindef(\m_2, \mtranspose, 0); Pbindef(\m_1, \scale, ~s1 ); Pbindef(\m_2, \scale, ~s1); Pbindef(\m_1, \octave, ~o0); Pbindef(\m_2, \octave, 2); Pbindef(\m_1, \dur, ~r4); Pbindef(\m_2, \dur, ~r0); Pbindef(\m_1, \degree, ~ddd); Pbindef(\m_2, \degree, ~ddd); // ------------------- // variation for piano webern op27 mvt3 // sustain ON - decay full //~row0 = [3, 11, 10, 2, 1, 0, 6, 4, 7, 5, 9, 8]; ~op = Scale.new(#[3, 11, 10, 2, 1, 0, 6, 4, 7, 5, 9, 8], name: "op27_III"); ~vfp3 = Pseq(~row0, 4); ~vfp3_reverse = Pseq(~row0.reverse, 4); ~vfp2 = Pseq([4,5,1,3,0,2,8,9,10,6,7,11], 4); ~vfp2_reverse = Pseq([4,5,1,3,0,2,8,9,10,6,7,11].reverse, 4); ~fib = Pseq([2,3.5,8,13,21], 4); // four interations of fibonnaci duration sequence ~fibr = Pseq([2,3.5,8,13,21].reverse, 4); // counterpoint rhythmic inversion // change from dur 8 to ~fib Pbindef(\m_1, \dur, ~fib, \octave, 7, \scale,~s4,\degree,~vfp2, inf); Pbindef(\m_2, \dur, ~fibr, \octave, 2, \scale,~s4,\degree,~vfp2_reverse, inf); ( Pdef(\m_1_CC, Pbind( \type, \midi, \midicmd, \control, \midiout, ~m32_1, \ctlNum, 1, \control, Pexprand(77,127, inf) ,\dur, 1/16)).play(quant:4)); Pdef(\m_2_CC, Pbind( \type, \midi, \midicmd, \control, \midiout, ~m32_2, \ctlNum, 1, \control, Pexprand(77,127, inf), \dur, 1/16 )).play(quant:4); // 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; //////////////////////////////////// TempoClock.default.tempo = 30/60; ~drepeat = Pseq([ Pseq([0],16), Pseq([7,8,9],4), Pseq([9],16), Pseq([1,3,5],5), Pseq([2],16), Pseq([8],16), Pseq([10,9,4],6), Pseq([10],16), Pseq([10,11],8), ], 4); ~rp0 = 1/8; ~rp1 = Pseq([ 1/8, 1/8, 1/16, 1/16, 1/16, 1/16, 1/8, 1/8, 1/16, 1/16, 1/16, 1/16 ], 1); ~rp2 = Pseq([ 1/8, 1/8, 1/16, 1/16, 1/16, 1/16, 1/8, 1/8, Rest(1) ],1); ~pr = Pseq([ Pseq([~rp0],16), Pseq([~rp2],4), Pseq([~rp0],16), Pseq([~rp2],1), Pseq([~rp1],4)], 4); ~pr2 = Pseq([ Pseq([~rp2],4), Pseq([~rp0],16), Pseq([~rp0],16), Pseq([~rp2],1), Pseq([~rp1],4)], 4); Pbindef(\m_1, \scale,~s4,\degree,~drepeat,\octave, ~o1,\dur, ~pr ); Pbindef(\m_2, \scale,~s4,\degree,~drepeat,\octave, ~o3,\dur, ~pr2 ); Pbindef(\m_1, \octave, 4, \dur, ~r0 ); Pbindef(\m_2, \octave, 6, \dur, ~r0 ); ///////////////////////////////////////////////////// //// MINIMAL BAROQUE GROOVE ~r0 = Pn(1/8, 16); TempoClock.default.tempo = 60/60; ~rx0 = Pwrand([1/8, 1/4, 1/2, 4],[80,50,20,20].normalizeSum, 1); ~rx1 = Pwrand([1/8, 1/4, 1/2, 1],[80,50,20,20].normalizeSum, 1); ~rx2 = Pwrand([1/8, 1/4, 1/2],[80,50,20].normalizeSum, 1); ~rx3 = Pwrand([1/8, 1/4],[90,30].normalizeSum, 1); ~rs = Pseq([ Pconst(32, Pseq([~rx0],inf)), Pconst(32, Pseq([~r0],inf)), /*Pconst(32, Pseq([~rx0],inf)), 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),*/ ],1); ~rb = Pseq([ Pconst(32, Pseq([~rx0],inf)), Pconst(32, Pseq([~r0],inf)), // // 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), ],1); Pbindef(\m_1, \scale,~s0,\degree,~ddd,\octave, ~oo,\dur,~rs ); Pbindef(\m_2, \scale,~s0,\degree,~ddd,\octave, ~o1,\dur,~rb ); Pdef(\m_1).play(quant: 4); // TOP MOTHER Pdef(\m_2).play(quant: 4); // BTM MOTHER NOTEON // CC Control Message 1 ---> TOP Mother32 ASSIGN OUT ( Pdef(\m_1_CC, Pbind( \type, \midi, \midicmd, \control, \midiout, ~m32_1, \ctlNum, 1, \control, Pexprand(50,127, inf),\dur, 1/16)).play(quant:4)); // CC Control Message 1 ---> BOTTOM Mother32 ASSIGN OUT Pdef(\m_2_CC, Pbind( \type, \midi, \midicmd, \control, \midiout, ~m32_2, \ctlNum, 1, \control, Pexprand(77,127, inf), \dur, 1/8 )).play(quant:4); // quasi-extended serialism Pbindef(\m_1, \scale,~s4,\degree,~d6,\octave,~o3,\dur,~phrase); Pbindef(\m_2, \scale,~s4,\degree,~d6,\octave,~o1,\dur,~phrase); // chiptune minmalismo in melodic minor /////////////////////////////// r 0,1,3 Pbindef(\m_1, \scale,~s0,\degree,~d4,\octave,7,\dur,~rrr ); Pbindef(\m_2, \scale,~s0,\degree,~d4,\octave,~o3,\dur,~rrr ); ////////$$$///////// Pbindef(\m_1, \octave, 1, \scale, ~s3 ) Pbindef(\m_2, \scale,~s0, \mtranspose,0)