allignment of bar lengths

master
Rob Canning 2023-02-04 00:51:09 +01:00
parent ab2b9f4839
commit 4a6a14e0c2
4 changed files with 153 additions and 84 deletions

View File

@ -1,10 +1,10 @@
import oscP5.*; import oscP5.*;
import netP5.*; import netP5.*;
import http.requests.*; //import http.requests.*;
import peasy.*; //import peasy.*;
PeasyCam cam; //PeasyCam cam;
OscP5 oscP5; OscP5 oscP5;
float x; // global variable float x; // global variable

View File

@ -1,25 +1,26 @@
// /*RUN*/ /*RUN*/
s.boot; s.boot;
//"/home/rob/algomom/sc/motherPatterns.scd".load; //"/home/rob/algomom/sc/motherPatterns.scd".load;
MIDIClient.init; MIDIClient.init;
MIDIClient.list; MIDIClient.list;
MIDIClient.destinations; MIDIClient.destinations;
// connect for korg in // connect for korg in
MIDIIn.connectAll MIDIIn.connectAll;
//n = NetAddr("192.168.178.166", 47120); n = NetAddr("192.168.178.166", 47120);
n = NetAddr("localhost", 47120); //n = NetAddr("localhost", 47120);
/*~m32_1 = MIDIOut.newByName("MidiSport 4x4", "MidiSport 4x4 MIDI 1").latency_(Server.default.latency); ~m32_1 = MIDIOut.newByName("MidiSport 4x4", "MidiSport 4x4 MIDI 1").latency_(Server.default.latency);
~m32_2 = MIDIOut.newByName("MidiSport 4x4", "MidiSport 4x4 MIDI 2").latency_(Server.default.latency);*/ ~m32_2 = MIDIOut.newByName("MidiSport 4x4", "MidiSport 4x4 MIDI 2").latency_(Server.default.latency);
~m32_1 = MIDIOut.newByName("SuperCollider", "in0").latency_(Server.default.latency); ~hydro_0 = MIDIOut.newByName("Hydrogen", "Hydrogen Midi-In").latency_(Server.default.latency);
~m32_2 = MIDIOut.newByName("SuperCollider", "in1").latency_(Server.default.latency);
// ~m32_1 = MIDIOut.newByName("SuperCollider", "in0").latency_(Server.default.latency);
// ~m32_2 = MIDIOut.newByName("SuperCollider", "in1").latency_(Server.default.latency);
// ////////////////////////////////////////////////////////////////// // //////////////////////////////////////////////////////////////////

View File

@ -75,11 +75,11 @@ TempoClock.default.tempo = 60/60;
// patterns // patterns
~rs = Pseq([ ~rs = Pseq([
Pconst(64, Pseq([~r0],inf)), Pconst(32, Pseq([~r0], inf)),
],inf); ],inf);
~rb = Pseq([ ~rb = Pseq([
Pconst(64, Pseq([~r0],inf)), Pconst(32, Pseq([~r0], inf)),
],inf); ],inf);
// harmonic structure and bassline // harmonic structure and bassline
@ -91,12 +91,12 @@ TempoClock.default.tempo = 60/60;
~d2 = Pseq([2,4,6,8], 8); ~d2 = Pseq([2,4,6,8], 8);
~d3 = Pseq([3,5,7,9],8); ~d3 = Pseq([3,5,7,9],8);
~d4 = Pseq([4,6,8,10],8); ~d4 = Pseq([4,6,8,10],8);
~d5 = Pxrand([0,2,4,6,8,10,12], 32); ~d5 = Pxrand([0,2,4,6,8,10,12, 14], 8);
// bassline // bassline
~bassroot = Pseq([0,4,2,3,1,4, 0],1); ~bassroot8 = Pdup(16, Pseq([0, 4, 2, 3, 1, 4, 4, 0],1));
~bassroot16 = Pdup(32, Pseq([0,4,2,3,1,4,0],1)); ~bassroot16 = Pdup(32, Pseq([0, 4, 2, 3, 1, 4, 4, 0],1));
// harmonic structure 0,4,2,3,1,4,0 // harmonic structure 0,4,2,3,1,4,0
@ -127,196 +127,262 @@ TempoClock.default.tempo = 60/60;
// ========================= // =========================
// treble m31 // treble m31
~t0 = Pbind( \type, \midi, \midicmd, \noteOn, \midiout, ~m32_1, ~synth1_0000 = Pbind( \type, \midi, \midicmd, \noteOn, \midiout, ~m32_1,
\root, 4, \scale,~s2, \degree, ~bassroot16, \octave, ~o5, \dur,~rb \root, 4, \scale,~s2, \degree, ~bassroot16, \octave, ~o5, \dur,~rb
); );
~t1 = Pbind( \type, \midi, \midicmd, \noteOn, \midiout, ~m32_1, ~synth1_0001 = Pbind( \type, \midi, \midicmd, \noteOn, \midiout, ~m32_1,
\root, 4, \scale,~s2, \degree, ~bassroot16, \octave, ~o4, \dur,~rb, \root, 4, \scale,~s2, \degree, ~bassroot16, \octave, ~o4, \dur,~rb,
\p5, Pfunc { |e| n.sendMsg("/mother1", (e[\degree]).asFloat ); }, \p5, Pfunc { |e| n.sendMsg("/mother1", (e[\degree]).asFloat ); },
\rotation, Pfunc { |e| n.sendMsg("/rotation1", (e[\octave]).asFloat ); \rotation, Pfunc { |e| n.sendMsg("/rotation1", (e[\octave]).asFloat );
postln(e[\degree], e[\octave]);
}, },
); );
~t2 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~m32_1, ~synth1_0002 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~m32_1,
\root, 4, \scale,~s2, \degree, ~bassroot16, \octave, ~o3, \dur,~rb, \root, 4, \scale,~s2, \degree, ~bassroot16, \octave, ~o3, \dur,~rb,
\p5, Pfunc { |e| n.sendMsg("/mother1", (e[\degree]).asFloat ); }, \p5, Pfunc { |e| n.sendMsg("/mother1", (e[\degree]).asFloat ); },
\rotation, Pfunc { |e| n.sendMsg("/rotation1", (e[\octave]).asFloat ); \rotation, Pfunc { |e| n.sendMsg("/rotation1", (e[\octave]).asFloat );
postln(e[\degree], e[\octave]);
}, },
); );
~t3 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~m32_1, ~synth1_0003 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~m32_1,
\root, 4, \scale,~s2, \degree, ~dseq, \octave, ~o4, \dur,~rb, \root, 4, \scale,~s2, \degree, ~dseq, \octave, ~o4, \dur,~rb,
\p5, Pfunc { |e| n.sendMsg("/mother1", (e[\degree]).asFloat ); }, \p5, Pfunc { |e| n.sendMsg("/mother1", (e[\degree]).asFloat ); },
\rotation, Pfunc { |e| n.sendMsg("/rotation1", (e[\octave]).asFloat ); \rotation, Pfunc { |e| n.sendMsg("/rotation1", (e[\octave]).asFloat );
postln(e[\degree], e[\octave]);
}, },
); );
~t4 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~m32_1, ~synth1_0004 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~m32_1,
\root, 4, \scale,~s2, \degree, ~dseq, \octave, ~o4, \dur,~rb, \root, 4, \scale,~s2, \degree, ~dseq, \octave, ~o4, \dur,~rb,
\p5, Pfunc { |e| n.sendMsg("/mother1", (e[\degree]).asFloat ); }, \p5, Pfunc { |e| n.sendMsg("/mother1", (e[\degree]).asFloat ); },
\rotation, Pfunc { |e| n.sendMsg("/rotation1", (e[\octave]).asFloat ); \rotation, Pfunc { |e| n.sendMsg("/rotation1", (e[\octave]).asFloat );
postln(e[\degree], e[\octave]);
}, },
); );
~t5 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~m32_1, ~synth1_0005 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~m32_1,
\root, 4, \scale,~s2, \degree, ~bassroot16, \octave, ~o4, \dur,~rb, \root, 4, \scale,~s2, \degree, ~bassroot16, \octave, ~o4, \dur,~rb,
\p5, Pfunc { |e| n.sendMsg("/mother1", (e[\degree]).asFloat ); }, \p5, Pfunc { |e| n.sendMsg("/mother1", (e[\degree]).asFloat ); },
\rotation, Pfunc { |e| n.sendMsg("/rotation1", (e[\octave]).asFloat ); \rotation, Pfunc { |e| n.sendMsg("/rotation1", (e[\octave]).asFloat );
postln(e[\degree], e[\octave]);
}, },
); );
~t6 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~m32_1, ~synth1_0006 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~m32_1,
\root, 4, \scale,~s2, \degree, ~dseq, \octave, ~o3, \dur,~rb, \root, 4, \scale,~s2, \degree, ~dseq, \octave, ~o3, \dur,~rb,
\p5, Pfunc { |e| n.sendMsg("/mother1", (e[\degree]).asFloat ); }, \p5, Pfunc { |e| n.sendMsg("/mother1", (e[\degree]).asFloat ); },
\rotation, Pfunc { |e| n.sendMsg("/rotation1", (e[\octave]).asFloat ); \rotation, Pfunc { |e| n.sendMsg("/rotation1", (e[\octave]).asFloat );
postln(e[\degree], e[\octave]);
}, },
); );
// ========================= // =========================
// bass m32 // bass m32
~b1 = Pbind( \type, \midi, \midicmd, \noteOn, \midiout, ~m32_2, ~synth2_0000 = Pbind( \type, \midi, \midicmd, \noteOn, \midiout, ~m32_2,
\root, 4, \scale,~s2, \degree, ~bassroot16, \octave, 3, \dur,~rb, \root, 4, \scale,~s2, \degree, ~bassroot8, \octave, 3, \dur, 1/4,
\p5, Pfunc { |e| n.sendMsg("/mother1", (e[\degree]).asFloat ); }, \p5, Pfunc { |e| n.sendMsg("/mother1", (e[\degree]).asFloat ); },
\rotation, Pfunc { |e| n.sendMsg("/rotation1", (e[\octave]).asFloat ); \rotation, Pfunc { |e| n.sendMsg("/rotation1", (e[\octave]).asFloat ); },
postln(e[\degree], e[\octave]);
},
); );
~b2 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~m32_2, ~synth2_0001 = Pbind( \type, \midi, \midicmd, \noteOn, \midiout, ~m32_2,
\root, 4, \scale,~s2, \degree, ~bassroot16, \octave, 3, \dur,~rb,
\p5, Pfunc { |e| n.sendMsg("/mother1", (e[\degree]).asFloat ); },
\rotation, Pfunc { |e| n.sendMsg("/rotation1", (e[\octave]).asFloat ); },
);
~synth2_0002 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~m32_2,
\root, 4, \scale,~s2, \degree, ~bassroot16, \octave, ~o1, \dur,~rb, \root, 4, \scale,~s2, \degree, ~bassroot16, \octave, ~o1, \dur,~rb,
\p5, Pfunc { |e| n.sendMsg("/mother2", (e[\degree]).asFloat ); }, \p5, Pfunc { |e| n.sendMsg("/mother2", (e[\degree]).asFloat ); },
\rotation, Pfunc { |e| n.sendMsg("/rotation2", (e[\octave]).asFloat ); \rotation, Pfunc { |e| n.sendMsg("/rotation2", (e[\octave]).asFloat );
postln(e[\degree], e[\octave]);
}, },
); );
~b3 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~m32_2, ~synth2_0003 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~m32_2,
\root, 4, \scale,~s2, \degree, ~bassroot16, \octave, ~o2, \dur,~rb, \root, 4, \scale,~s2, \degree, ~bassroot16, \octave, ~o2, \dur,~rb,
\p5, Pfunc { |e| n.sendMsg("/mother2", (e[\degree]).asFloat ); }, \p5, Pfunc { |e| n.sendMsg("/mother2", (e[\degree]).asFloat ); },
\rotation, Pfunc { |e| n.sendMsg("/rotation2", (e[\octave]).asFloat ); \rotation, Pfunc { |e| n.sendMsg("/rotation2", (e[\octave]).asFloat );
postln(e[\degree], e[\octave]);
}, },
); );
~b4 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~m32_2, ~synth2_0004 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~m32_2,
\root, 4, \scale,~s2, \degree, ~dseq, \octave, 3, \dur,~rb, \root, 4, \scale,~s2, \degree, ~dseq, \octave, 3, \dur,~rb,
\p5, Pfunc { |e| n.sendMsg("/mother2", (e[\degree]).asFloat ); }, \p5, Pfunc { |e| n.sendMsg("/mother2", (e[\degree]).asFloat ); },
\rotation, Pfunc { |e| n.sendMsg("/rotation2", (e[\octave]).asFloat ); \rotation, Pfunc { |e| n.sendMsg("/rotation2", (e[\octave]).asFloat );
postln(e[\degree], e[\octave]);
}, },
); );
~b5 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~m32_2, ~synth2_0005 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~m32_2,
\root, 4, \scale,~s2, \degree, ~dseq, \octave, ~o2, \dur,~rb, \root, 4, \scale,~s2, \degree, ~dseq, \octave, ~o2, \dur,~rb,
\p5, Pfunc { |e| n.sendMsg("/mother2", (e[\degree]).asFloat ); }, \p5, Pfunc { |e| n.sendMsg("/mother2", (e[\degree]).asFloat ); },
\rotation, Pfunc { |e| n.sendMsg("/rotation2", (e[\octave]).asFloat ); \rotation, Pfunc { |e| n.sendMsg("/rotation2", (e[\octave]).asFloat );
postln(e[\degree], e[\octave]);
}, },
); );
~b6 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~m32_2, ~synth2_0006 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~m32_2,
\root, 4, \scale,~s2, \degree, ~bassroot16, \octave, ~o2, \dur,~rb, \root, 4, \scale,~s2, \degree, ~bassroot16, \octave, ~o2, \dur,~rb,
\p5, Pfunc { |e| n.sendMsg("/mother2", (e[\degree]).asFloat ); }, \p5, Pfunc { |e| n.sendMsg("/mother2", (e[\degree]).asFloat ); },
\rotation, Pfunc { |e| n.sendMsg("/rotation2", (e[\octave]).asFloat ); \rotation, Pfunc { |e| n.sendMsg("/rotation2", (e[\octave]).asFloat );
postln(e[\degree], e[\octave]);
}, },
); );
// drum patterns /////////////////////////////////////////////////////////// // drum patterns ///////////////////////////////////////////////////////////
~teenth = Pseq( [Rest(1/8), Pseq([1/8], 4)], 1 ); ~h = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10,
\midinote, Prand([45], inf),
\dur, Pconst(4, Pseq([ Rest(1/4), 1/4], inf)),
//\amp, Pexprand(2,20, inf) / 127,
);
~hh = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10,
\midinote, Prand([42, 43,44,45], inf),
\dur, Pconst(4, Prand([1/8], inf)),
\amp, Pexprand(2,20, inf) / 127,
);
~d00 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10, ~d00 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10,
\midinote, Prand([42, 43], 32), \dur, \midinote, Prand([42, 43, 44,45], 32),
Pseq( [ Prand([1/8, 1/2, Rest(1/4)], 8), Rest(4)], inf), \dur, Pconst(4, Pseq( [ Prand([1/8, 1/2, Rest(1/8)], 8), Rest(1/2)], inf)),
\p5, Pfunc { |e| postln(e[\degree], e[\degree]) }); );
~d01 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10, ~d01 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10,
\midinote, Prand([42, 43,44], 32), \dur, Pwrand([1/8, 1/4, Rest(2), ~teenth], [5,3,2, 1].normalizeSum, inf), \p5, Pfunc { |e| postln(e[\degree], e[\degree]) }); \midinote, Prand([42, 43, 44], 32),
\dur, Pconst(4, Pwrand([1/8, 1/4, Rest(1/8)], [5,3,2].normalizeSum, inf)),
);
~d02 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10, ~d02 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10,
\midinote, Prand([42, 43, 44, 45], 32), \dur, Pwrand([1/8, 1/4, Rest(1/8), ~teenth], [5,3,2, 1].normalizeSum, inf), \p5, Pfunc { |e| postln(e[\degree], e[\degree]) }); \midinote, Prand([42, 43, 44, 45], 32),
\dur, Pconst(4, Pwrand([1/8, 1/4], [5,3,2].normalizeSum, inf)),
);
~d03 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10, ~d03 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10,
\midinote, Prand([41, 42, 43, 44, 45], 32), \dur,Prand([1/8, 1/4], inf), \p5, Pfunc { |e| postln(e[\degree], e[\degree]) }); \midinote, Prand([42,43, 44, 45, 46], 32),
\dur, Pconst(4, Prand([1/8, 1/4], inf)),
);
~d04 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10, ~d04 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10,
\midinote, Prand([41, 42, 43, 44,45, 82], 32), \dur,Prand([1/8, 1/4], inf), \p5, Pfunc { |e| postln(e[\degree], e[\degree]) }); \midinote, Prand([42,43, 44, 45, 46, 47], 32),
\dur, Pconst(4, Prand([1/8, 1/4], inf)),
);
~d05 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10, ~d05 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10,
\midinote, Prand([82, 41, 42, 43, 44,45], 32), \dur,Pwrand([1/8, 1/4, Prand([1/16], 8), Rest(1/8)], [5,3,1].normalizeSum, inf), \p5, Pfunc { |e| postln(e[\degree], e[\degree]) }); \midinote, Prand([42,43], inf),
\dur, Pconst(4, Pseq([
1/8, 1/8, 1/4, Rest(1/2),
//Prand([1/16],3), Rest(13/16),
Pseq([ Rest(1/16), 1/16], 16)], 1)),
);
// -----Prand([1/16], 8) // -----Prand([1/16], 8)
~snare00 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10, ~snare00 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10,
\midinote, Prand([39,40, 41], 32), \dur, Prand([1/8, 1/4, Rest(1)], inf) , \p5, Pfunc { |e| postln(e[\degree], e[\degree]) }); \midinote, Prand([39,40, 41], inf),
\dur, Pconst(4, Prand([1/8, 1/4, Rest(1)], inf)),
);
~snare01 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10, ~snare01 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10,
\midinote, Prand([39], 32), \dur, Prand([1/8, 1/4, Rest(1/2)], inf) , \p5, Pfunc { |e| postln(e[\degree], e[\degree]) }); \midinote, Prand([39, 40 ,41], inf),
\dur, Pconst(4, Prand([1/8, 1/4, Rest(1/2)], inf)),
);
~snare02 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10, ~snare02 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10,
\midinote, Prand([39,40], 32), \dur, Prand([1/8, 1/4, Rest(1/4)], inf) , \p5, Pfunc { |e| postln(e[\degree], e[\degree]) }); \midinote, Prand([39,40,41], inf),
\dur, Pconst(4, Prand([1/8, 1/4, Rest(1/4)], inf)),
);
~snare03 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10, ~snare03 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10,
\midinote, Prand([39,40, 41], 32), \dur, Prand([1/8, 1/4, Rest(1/8)], inf) , \p5, Pfunc { |e| postln(e[\degree], e[\degree]) }); \midinote, Prand([39,40, 41], inf),
\dur, Pconst(4, Prand([1/8, 1/4, Rest(1/8)], inf)) ,
);
~snare04 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10, ~snare04 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10,
\midinote, Prand([39,40, 41, 49], 32), \dur, Prand([1/8, 1/4, Rest(1/8)], inf) , \p5, Pfunc { |e| postln(e[\degree], e[\degree]) }); \midinote, Prand([39,40, 41, 49], inf),
\dur, Pconst(4, Prand([1/8, 1/4, Rest(1/8)], inf)) ,
);
~snare05 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10, ~snare05 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10,
\midinote, Prand([39,40, 41, 49, 50], 32), \dur, Prand([1/8, 1/4, Rest(1/2)], inf) , \p5, Pfunc { |e| postln(e[\degree], e[\degree]) }); \midinote, Prand([39,40, 41, 49, 50], inf),
\dur, Pconst(4, Prand([1/8, 1/4], inf))
);
// ----- // -----
~kick00 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10, ~kick00 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10,
\midinote, Prand([38], 32), \dur, Prand([1/8, 1/4, Rest(1/2)], inf) , \p5, Pfunc { |e| postln(e[\degree], e[\degree]) }); \midinote, Prand([36], inf),
\dur, Pconst(4, Pseq([1, Rest(3)], inf))
);
~kick01 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10, ~kick01 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10,
\midinote, Prand([37, 38,], 32), \dur, Prand([1/8, 1/4, Rest(1/2)], inf) , \p5, Pfunc { |e| postln(e[\degree], e[\degree]) }); \midinote, Prand([36, 37,], inf),
\dur, Pconst(4, Prand([1/8, 1/4, Rest(1/2)], inf))
);
~kick02 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10, ~kick02 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10,
\midinote, Prand([36,37,38], 32), \dur, Prand([1/8, 1/4, Rest(1/4)], inf) , \p5, Pfunc { |e| postln(e[\degree], e[\degree]) }); \midinote, Prand([36,37,38], inf),
\dur, Pconst(4, Prand([1/8, 1/4, Rest(1/4)], inf))
);
~kick03 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10, ~kick03 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10,
\midinote, Prand([36,37], 32), \dur, Prand([1/8, 1/4, Rest(1/4)], inf) , \p5, Pfunc { |e| postln(e[\degree], e[\degree]) }); \midinote, Prand([36,37, 38], inf),
\dur, Pconst(4, Prand([1/8, 1/4, Rest(1/4)], inf))
);
~kick04 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10, ~kick04 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10,
\midinote, Prand([36,37,38], 32), \dur, Prand([1/8, 1/4, Rest(1/8)], inf) , \p5, Pfunc { |e| postln(e[\degree], e[\degree]) }); \midinote, Prand([36,37,38], inf),
\dur, Pconst(4, Prand([1/8, 1/4, Rest(1/8)], inf))
);
~kick05 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10, ~kick05 = Pbind(\type, \midi, \midicmd, \noteOn, \midiout, ~hydro_0, \chan, 10,
\midinote, Prand([38, 36,37], 32), \dur, Prand([1/2, 1/4, 1/8], inf) , \p5, Pfunc { |e| postln(e[\degree], e[\degree]) }); \midinote, Prand([38, 36,37], inf),
\dur, Pconst(4, Prand([1/2, 1/4, 1/8], inf))
);
// ========================= // =========================
r = Pseq( [~t0, ~t2, ~t1, ~t3, ~t1, ~t4, ~t4, ~t5, ~t4, ~t6], 1); // top part
t = Pseq( [~b1, ~b1, ~b2, ~b2, ~b3, ~b4, ~b4, ~b5, ~b5, ~b6 ], 1); // bottom part
~kick = Pseq( [Rest(20), ~kick00, ~kick01, ~kick02, ~kick03, ~kick04, ~kick04, ~kick03, ~kick04, ~kick02, ~kick03,~kick04,~kick04, ~kick5, ~kick5, ~kick04,~kick04,~kick05,~kick05,~kick04, ~kick04,~kick04,~kick04,~kick04 ], 1); ~synth1_intr = Pseq( [~t0], 1); // top part
~synth2_intr = Pseq( [~b1], 1); // bottom part
~snare = Pseq( [Rest(36), ~snare00, ~snare01, ~snare2, ~snare03, ~snare04, ~snare95, ~snare05, ~snare05 ], 1); ~synth1_main = Pseq( [~t2, ~t1, ~t3, ~t1, ~t4, ~t4, ~t5], 1); // top part
~synth2_main = Pseq( [~b1, ~b2, ~b2, ~b3, ~b4, ~b4, ~b5], 1); // bottom part
d = Pseq( [Rest(48), ~d00, ~d01, ~d02, ~d03, ~d04, ~d04, ~d05, ~d04, ~d05, ~d04, ~d05,], 1); // hydrogen part ~kickrr = Rest(4);
~snarerr = Rest(4);
~kick_one_ = Pseq( [ ~kick00, ~kick00, ~kick00, ~kick00, ~kick00, ~kick00, ~kick00, ~kick00 ], 1);
~kick_intr = Pseq( [ ~kick01, ~kick01, ~kick01, ~kick01, ~kick01, ~kick02, ~kick03, ~kick04 ], 1);
~kick_main = Pseq( [ ~kick04, ~kick05, ~kick04, ~kick05, ~kick03, ~kick04, ~kick03, ~kick04 ], 1);
~snare_intr = Pseq( [ ~snarerr, ~snare00, ~snarerr, ~snare00, ~snare04, ~snare95, ~snare05, ~snare05 ], 1);
~snare_main = Pseq( [ ~snare00, ~snare01, ~snare02, ~snare03, ~snare04, ~snare95, ~snare05, ~snare05 ], 1);
~hh1 = Pseq( [~hh, ~hh, ~hh, ~hh, ~hh, ~hh, ~hh, ~hh], 1);
~d_intr = Pseq([~d00, ~d01, ~d02, ~d03, ~d04, ~d04, ~d04, ~d04], 1); // hydrogen part
~d_main = Pseq([~d04, ~d04, ~d04, ~d04, ~d04, ~d04, ~d04, ~d04], 1); // hydrogen part
z = Ppar( [r, t, d, ~kick, ~snare], 1 ).play; // in parallel
); );
//z = Ppar( [r, t, d, ~kick, ~snare, ~hh1], 1 ).play; // in parallel
z = Ppar( [r, t, d, ~hh], 1 ).play; // in parallel
(
z =
Pseq([
Ppar( [~synth1_0000, ~synth2_0001], 1 ), // in parallel
Ppar( [~synth1_0001, ~synth2_0001, ~hh1, ~kick_one_], 1 ),
Ppar( [~synth1_0002, ~synth2_0002, ~d_intr, ~hh1, ~kick_one_], 1 ),
Ppar( [~synth1_0003, ~synth2_0003, ~d_main, ~kick_intr, ~kick_one_], 1 ),
Ppar( [~synth1_0004, ~synth2_0004, ~d_main, ~kick_main, ~snare_intr], 1 ),
Ppar( [~synth1_0005, ~synth2_0005, ~d_main, ~kick_main, ~snare_main], 1 ),
Ppar( [~synth1_0006, ~synth2_0006, ~d_main, ~kick_main, ~snare_main], 1 ),
Ppar( [~synth1_0001, ~synth2_0006, ~d_main, ~kick_main, ~snare_main], 1 )
], 1
).play();
)
~hh.play;
~b1.play; ~b1.play;
// controls // controls

View File

@ -1,26 +1,28 @@
kill `pidof ardour-7.2.0~ds0` kill `pidof ardour-7.2.0~ds0`
killall -9 qjackctl jackd guitarix sclang scide; killall -9 qjackctl jackd guitarix sclang scide hydrogen;
#/usr/bin/jackd -aa -u -dalsa -r44100 -p256 -n3 -D -Chw:U192k -Phw:U192k & /usr/bin/jackd -aa -u -dalsa -r44100 -p256 -n3 -D -Chw:U192k -Phw:U192k &
/usr/bin/jackd -u -dalsa -r44100 -p256 -n3 -D -Chw:PCH -Phw:PCH & #/usr/bin/jackd -u -dalsa -r44100 -p256 -n3 -D -Chw:PCH -Phw:PCH &
sleep 1; sleep 1;
#guitarix & #guitarix &
hydrogen &
# sclang -D gtr.scd & # sclang -D gtr.scd &
scide & scide &
#gnome-terminal --title=NODE SERVER -- sh ./setup/comms_start.sh & gnome-terminal --title=NODE SERVER -- sh ./setup/comms_start.sh &
sleep 4; sleep 4;
rm recordings/ardour/gtr-2022-11-28-15-07-41/*.bak & rm recordings/ardour/gtr-2022-11-28-15-07-41/*.bak &
rm recordings/ardour/gtr-2022-11-28-15-07-41/*.history & rm recordings/ardour/gtr-2022-11-28-15-07-41/*.history &
#ardour recordings/ardour/algomom/algomom.ardour & ardour recordings/ardour/algomom/algomom.ardour &
sleep 5; sleep 5;