aboutsummaryrefslogtreecommitdiff
path: root/test-harmonizer.pd
diff options
context:
space:
mode:
Diffstat (limited to 'test-harmonizer.pd')
-rwxr-xr-xtest-harmonizer.pd172
1 files changed, 172 insertions, 0 deletions
diff --git a/test-harmonizer.pd b/test-harmonizer.pd
new file mode 100755
index 0000000..f8e4ebd
--- /dev/null
+++ b/test-harmonizer.pd
@@ -0,0 +1,172 @@
+#N canvas 328 37 702 643 12;
+#X symbolatom 179 191 20 0 0 0 - - -;
+#N canvas 39 349 531 328 readme 0;
+#X text 59 31 howto populate the graph: play the chord \, when the
+output of [chord] is ok bang the "add" message. bang it each time you
+change chord \, it will store the transitions;
+#X text 56 120 howto ask for the next chord: play the chord \, bang
+the "set" message \, this will set the current chord without adding
+it to the graph's memory \, now bang the next 1 message. this chord_graph
+will respond with the chord you played most of the times after the
+current chord. you can send "next x" where x is from 0 to 1 \, 0 =
+max novelty \, 1= min novelty;
+#X text 56 259 you can save graph state sending the write message;
+#X restore 496 48 pd readme;
+#X obj 121 316 harmonizer;
+#X msg 52 273 current \$1;
+#X msg 158 270 target \$1;
+#X obj 52 249 symbol;
+#X obj 52 229 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 157 248 symbol;
+#X obj 289 248 int 36;
+#X obj 355 249 int 60;
+#X obj 426 247 int 67;
+#X obj 494 246 int 76;
+#X obj 566 249 int 84;
+#X obj 335 276 pack f f f f f;
+#X obj 358 220 t b b b b b;
+#X obj 246 356 unpack f f f f f;
+#X obj 135 105 symbol;
+#X obj 98 43 bng 15 250 50 0 empty empty change_chord 0 -6 0 8 -262144
+-1 -1;
+#X msg 135 133 set \$1;
+#N canvas 0 0 706 416 midi 0;
+#X obj 141 253 outlet;
+#X obj 271 31 notein;
+#X obj 271 66 chord 59;
+#X msg 175 149 add \$1;
+#X obj 175 121 symbol;
+#X obj 176 94 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 248 163 symbol;
+#X obj 249 136 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 248 191 set \$1;
+#X symbolatom 311 101 25 0 0 0 - - -;
+#X connect 1 0 2 0;
+#X connect 1 1 2 1;
+#X connect 2 2 4 1;
+#X connect 2 2 6 1;
+#X connect 2 2 9 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 8 0;
+#X connect 7 0 6 0;
+#X connect 8 0 0 0;
+#X restore 326 134 pd midi;
+#N canvas 0 0 454 304 fileIO 0;
+#X obj 143 225 outlet;
+#X msg 115 77 write test.graph;
+#X msg 145 105 read test.graph;
+#X msg 175 135 init 1;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X restore 243 133 pd fileIO;
+#X obj 100 81 t b b;
+#X obj 157 215 t b a;
+#X obj 28 391 bang;
+#X symbolatom 256 35 20 0 0 0 - - -;
+#X obj 256 11 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 203 407 mtof;
+#X obj 203 431 sig~;
+#X obj 204 457 osc~ 440;
+#X obj 280 405 mtof;
+#X obj 280 429 sig~;
+#X obj 281 455 osc~ 440;
+#X obj 338 509 mtof;
+#X obj 338 533 sig~;
+#X obj 339 559 osc~ 440;
+#X obj 375 403 mtof;
+#X obj 375 427 sig~;
+#X obj 376 453 osc~ 440;
+#X obj 425 509 mtof;
+#X obj 424 532 sig~;
+#X obj 425 558 osc~ 440;
+#X obj 186 491 throw~ audio;
+#X obj 284 482 throw~ audio;
+#X obj 391 483 throw~ audio;
+#X obj 337 586 throw~ audio;
+#X obj 439 588 throw~ audio;
+#X obj 99 533 catch~ audio;
+#X obj 99 585 dac~;
+#X obj 99 558 *~ 0.2;
+#X obj 109 418 print;
+#X obj 83 169 chords_graph test.graph;
+#X obj 74 111 f 1;
+#X msg 59 135 next \$1;
+#X obj 63 70 vsl 15 30 0 1 0 0 empty empty empty 0 -8 0 8 -262144 -1
+-1 2900 1;
+#X floatatom 32 112 5 0 0 0 - - -;
+#X connect 2 0 15 0;
+#X connect 2 0 49 0;
+#X connect 3 0 2 0;
+#X connect 4 0 2 0;
+#X connect 5 0 3 0;
+#X connect 6 0 5 0;
+#X connect 7 0 4 0;
+#X connect 8 0 13 0;
+#X connect 9 0 13 1;
+#X connect 10 0 13 2;
+#X connect 11 0 13 3;
+#X connect 12 0 13 4;
+#X connect 13 0 2 0;
+#X connect 14 0 8 0;
+#X connect 14 1 9 0;
+#X connect 14 2 10 0;
+#X connect 14 3 11 0;
+#X connect 14 4 12 0;
+#X connect 15 0 8 1;
+#X connect 15 0 23 0;
+#X connect 15 0 26 0;
+#X connect 15 1 9 1;
+#X connect 15 1 29 0;
+#X connect 15 2 10 1;
+#X connect 15 2 32 0;
+#X connect 15 3 11 1;
+#X connect 15 3 35 0;
+#X connect 15 4 12 1;
+#X connect 15 4 38 0;
+#X connect 16 0 18 0;
+#X connect 17 0 21 0;
+#X connect 18 0 50 0;
+#X connect 19 0 50 0;
+#X connect 20 0 50 0;
+#X connect 21 0 51 0;
+#X connect 21 1 16 0;
+#X connect 22 0 14 0;
+#X connect 22 1 7 0;
+#X connect 23 0 5 0;
+#X connect 24 0 5 1;
+#X connect 24 0 16 0;
+#X connect 24 0 7 0;
+#X connect 25 0 24 0;
+#X connect 26 0 27 0;
+#X connect 27 0 28 0;
+#X connect 28 0 41 0;
+#X connect 29 0 30 0;
+#X connect 30 0 31 0;
+#X connect 31 0 42 0;
+#X connect 32 0 33 0;
+#X connect 33 0 34 0;
+#X connect 34 0 44 0;
+#X connect 35 0 36 0;
+#X connect 36 0 37 0;
+#X connect 37 0 43 0;
+#X connect 38 0 39 0;
+#X connect 39 0 40 0;
+#X connect 40 0 45 0;
+#X connect 46 0 48 0;
+#X connect 48 0 47 0;
+#X connect 48 0 47 1;
+#X connect 50 0 0 0;
+#X connect 50 0 5 1;
+#X connect 50 0 16 1;
+#X connect 50 0 22 0;
+#X connect 51 0 52 0;
+#X connect 52 0 50 0;
+#X connect 53 0 51 1;
+#X connect 53 0 54 0;