Chuckk Hubbard wrote:
I have no idea how to make a patch that would insert pivot tones
somewhat randomly.
i am finding the concept of 'boredom' to be very, very programmatically
fruitful lately. presumably i know (or can find out) all of the notes that
are currently playing, or have been playing for the last little while. have
a boredom counter that increases faster when the changes are fewer. when
boredom reaches a particular threshold, pick a chord target and start
inserting pivot tones... increasing the frequency as the boredom approaches
the (higher) chord-switch threshold (of course, the new tones would
interact with the boredom counter - oh i do love feedback :-))...
hmm. i have a centralised rhythm machine at the moment that runs constantly
and bangs about 50 different sends at different periods and different
phases (n, 2n, 3n, 4n, 2n-then-3n-then-3n, 3-2-3n, 3-3-2n, etc). it's
attached. it's based on a book called 'Hearing in Time' by Justin London,
which is wonderful and has informed my ideas about techno no end.
so have a similar thing for assigning tones -- rather than each instrument
having its own tone input, instruments just listen to a master tone
assigner, that has a bunch of different sends (eg t-root, t1, t2, t3, t4)
for the tones in order of diminishing importance/salience to define a
particular harmonic context.
inserting pivot tones would just then be a case of changing the output of
eg t3 or t4 to be the pivot tone, in a controllable manner.
--
f r e y
live music with machines
http://www.frey.co.nz
#N canvas 390 152 572 454 12;
#X obj 34 35 r n3-p1;
#X obj 177 35 r n3-p3;
#X obj 103 36 r n3-p2;
#X obj 177 64 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 104 67 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 35 63 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 33 100 r n2-p1;
#X obj 102 100 r n2-p2;
#X obj 34 136 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 99 135 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 300 34 r n8-p1;
#X obj 331 59 r n8-p2;
#X obj 386 34 r n8-p3;
#X obj 303 107 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 342 109 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 379 109 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 239 241 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 345 241 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 278 243 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 315 243 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 237 168 r n12-p1;
#X obj 322 168 r n12-p3;
#X obj 267 193 r n12-p2;
#X obj 344 204 r n12-p4;
#X obj 32 198 r n4-p1;
#X obj 36 256 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 50 278 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 70 301 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 87 324 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 83 271 r n4-p4;
#X obj 66 248 r n4-p3;
#X obj 46 225 r n4-p2;
#X connect 0 0 5 0;
#X connect 1 0 3 0;
#X connect 2 0 4 0;
#X connect 6 0 8 0;
#X connect 7 0 9 0;
#X connect 10 0 13 0;
#X connect 11 0 14 0;
#X connect 12 0 15 0;
#X connect 20 0 16 0;
#X connect 21 0 19 0;
#X connect 22 0 18 0;
#X connect 23 0 17 0;
#X connect 24 0 25 0;
#X connect 29 0 28 0;
#X connect 30 0 27 0;
#X connect 31 0 26 0;
#N canvas 248 520 782 336 12;
#N canvas 0 0 466 316 n 0;
#X obj 100 129 metro;
#X obj 135 54 r n_ms;
#X obj 99 21 r startstop;
#X obj 99 254 s n;
#X connect 0 0 3 0;
#X connect 1 0 0 1;
#X connect 2 0 0 0;
#X restore 22 11 pd n;
#X obj 368 290 s n_ms;
#X msg 266 201 bang;
#X floatatom 383 247 5 0 0 0 - - -;
#X obj 263 292 s startstop;
#X msg 279 244 stop;
#N canvas 310 297 466 316 half-n 0;
#X obj 46 135 metro;
#X obj 81 60 r n_ms;
#X obj 45 27 r startstop;
#X obj 81 99 / 2;
#X obj 46 260 s half-n;
#X connect 0 0 4 0;
#X connect 1 0 3 0;
#X connect 2 0 0 0;
#X connect 3 0 0 1;
#X restore 23 42 pd half-n;
#X obj 224 160 inlet;
#X obj 363 155 inlet;
#N canvas 477 306 311 228 measure 0;
#X obj 35 29 r n;
#X obj 35 74 f 0;
#X obj 73 76 + 1;
#X obj 114 76 %;
#X obj 133 29 r measure_length;
#X obj 11 151 s beatnum;
#X obj 100 128 select 0;
#X obj 100 158 s measure;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 0 5 0;
#X connect 1 0 6 0;
#X connect 2 0 3 0;
#X connect 3 0 1 1;
#X connect 4 0 3 1;
#X connect 6 0 7 0;
#X restore 24 75 pd measure;
#X obj 421 122 s measure_length;
#X obj 271 8 loadbang;
#X msg 419 98 8;
#N canvas -81 268 932 411 patterns 0;
#X obj 28 39 r n;
#X obj 28 104 f 0;
#X obj 65 105 + 1;
#X obj 103 106 % 3;
#X obj 28 151 route 0 1 2;
#X obj 28 204 s n3-p1;
#X obj 55 230 s n3-p2;
#X obj 83 256 s n3-p3;
#X obj 182 46 r n;
#X obj 182 154 route 0 1;
#X obj 182 107 f 0;
#X obj 219 108 + 1;
#X obj 85 14 r startstop;
#X msg 85 43 0;
#X obj 182 202 s n2-p1;
#X obj 215 227 s n2-p2;
#X obj 321 41 route 8 12;
#X obj 321 12 r measure_length;
#X msg 321 70 1;
#X msg 358 70 2;
#X obj 411 64 r n;
#X obj 368 102 gate 2;
#X obj 352 149 f 0;
#X obj 389 150 + 1;
#X obj 427 151 % 8;
#X obj 538 155 f 0;
#X obj 575 156 + 1;
#X obj 613 157 % 12;
#X obj 332 190 route 0 1 2 3 4 5 6 7;
#X obj 538 198 route 0 1 2 3 4 5 6 7 8 9 10 11;
#X obj 306 316 s n8-p1;
#X obj 378 316 s n8-p2;
#X obj 452 316 s n8-p3;
#X obj 538 318 s n12-p1;
#X obj 615 318 s n12-p2;
#X obj 694 319 s n12-p3;
#X obj 770 317 s n12-p4;
#X obj 257 109 % 2;
#X obj 308 352 s n4-p1;
#X obj 373 354 s n4-p2;
#X obj 443 355 s n4-p3;
#X obj 504 358 s n4-p4;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 0 4 0;
#X connect 2 0 3 0;
#X connect 3 0 1 1;
#X connect 4 0 5 0;
#X connect 4 1 6 0;
#X connect 4 2 7 0;
#X connect 8 0 10 0;
#X connect 9 0 14 0;
#X connect 9 1 15 0;
#X connect 10 0 11 0;
#X connect 10 0 9 0;
#X connect 11 0 37 0;
#X connect 12 0 13 0;
#X connect 13 0 1 0;
#X connect 13 0 10 0;
#X connect 13 0 22 0;
#X connect 13 0 25 0;
#X connect 16 0 18 0;
#X connect 16 1 19 0;
#X connect 17 0 16 0;
#X connect 18 0 21 0;
#X connect 19 0 21 0;
#X connect 20 0 25 0;
#X connect 20 0 22 0;
#X connect 21 0 22 0;
#X connect 21 1 25 0;
#X connect 22 0 23 0;
#X connect 22 0 28 0;
#X connect 23 0 24 0;
#X connect 24 0 22 1;
#X connect 25 0 26 0;
#X connect 25 0 29 0;
#X connect 26 0 27 0;
#X connect 27 0 25 1;
#X connect 28 0 30 0;
#X connect 28 0 31 0;
#X connect 28 0 32 0;
#X connect 28 0 38 0;
#X connect 28 1 39 0;
#X connect 28 2 30 0;
#X connect 28 2 40 0;
#X connect 28 3 31 0;
#X connect 28 3 32 0;
#X connect 28 3 41 0;
#X connect 28 4 38 0;
#X connect 28 5 30 0;
#X connect 28 5 31 0;
#X connect 28 5 39 0;
#X connect 28 6 32 0;
#X connect 28 6 40 0;
#X connect 28 7 41 0;
#X connect 29 0 33 0;
#X connect 29 0 34 0;
#X connect 29 0 35 0;
#X connect 29 0 36 0;
#X connect 29 2 33 0;
#X connect 29 2 35 0;
#X connect 29 3 34 0;
#X connect 29 3 36 0;
#X connect 29 4 33 0;
#X connect 29 5 34 0;
#X connect 29 5 35 0;
#X connect 29 5 36 0;
#X connect 29 7 33 0;
#X connect 29 7 35 0;
#X connect 29 7 36 0;
#X connect 29 8 34 0;
#X connect 29 9 33 0;
#X connect 29 9 35 0;
#X connect 29 10 34 0;
#X connect 29 10 36 0;
#X connect 37 0 10 1;
#X restore 27 170 pd patterns;
#X msg 350 243 220;
#N canvas 0 0 454 304 measure-patterns 0;
#X obj 17 17 r measure;
#X obj 19 53 f 0;
#X obj 54 56 + 1;
#X obj 87 55 % 4;
#X obj 21 97 route 0 1 2 3;
#X obj 13 205 s m4-p1;
#X obj 79 205 s m4-p3;
#X obj 28 232 s m4-p2;
#X obj 95 232 s m4-p4;
#X obj 116 171 s m2-p1;
#X obj 189 175 s m2-p2;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 0 4 0;
#X connect 2 0 3 0;
#X connect 3 0 1 1;
#X connect 4 0 5 0;
#X connect 4 0 9 0;
#X connect 4 1 7 0;
#X connect 4 1 10 0;
#X connect 4 2 6 0;
#X connect 4 2 9 0;
#X connect 4 3 8 0;
#X connect 4 3 10 0;
#X restore 29 126 pd measure-patterns;
#X obj 431 247 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
10 -262144 -1 -1 0 256;
#X obj 275 63 t b b;
#X connect 2 0 4 0;
#X connect 3 0 1 0;
#X connect 5 0 4 0;
#X connect 7 0 4 0;
#X connect 8 0 1 0;
#X connect 11 0 17 0;
#X connect 12 0 10 0;
#X connect 14 0 1 0;
#X connect 16 0 1 0;
#X connect 17 0 2 0;
#X connect 17 1 12 0;
#X connect 17 1 14 0;