-
Notifications
You must be signed in to change notification settings - Fork 0
/
counterpoint.pd
1235 lines (1235 loc) · 28.2 KB
/
counterpoint.pd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#N struct 3266-f float x;
#N struct 1150-f float x;
#N struct 1173-f float x;
#N struct 1182-f float x;
#N struct 1236-f float x;
#N struct 1238-f float x;
#N struct 1249-f float x;
#N struct 1251-f float x;
#N canvas 2 54 1916 1000 12;
#X obj 5 5 inlet;
#N canvas 2 54 1916 1000 pitch 1;
#X obj 12 8 inlet bang;
#X obj 126 56 list store, f 13;
#X obj 94 7 inlet bang;
#X obj 287 199 outlet;
#N canvas 962 54 956 1000 mult 0;
#X obj 4 4 inlet bang;
#X obj 103 4 inlet list;
#X obj 4 284 list store;
#X obj 4 308 pick-random;
#X obj 103 28 list-map;
#X obj 292 51 div 12;
#X obj 292 75 - 1;
#X obj 169 28 t f f f, f 18;
#X obj 206 51 wrap;
#X obj 169 51 % 12;
#X obj 292 121 list-extend;
#X obj 225 146 list store;
#X obj 225 101 t b b;
#X obj 133 100 list store;
#X obj 133 75 t b b;
#X obj 206 74 list-extend;
#X obj 103 146 t l b, f 12;
#X obj 188 169 random 12;
#X obj 103 195 list-map;
#X obj 170 219 % 12;
#X obj 170 195 *;
#X obj 103 242 list-map2;
#X obj 103 265 list-map2;
#X obj 173 265 +;
#X obj 292 99 * 12;
#X obj 173 242 +;
#X obj 4 333 outlet pitch;
#X connect 0 0 2 0;
#X connect 1 0 4 0;
#X connect 2 0 3 0;
#X connect 3 0 26 0;
#X connect 4 0 12 0;
#X connect 4 0 14 0;
#X connect 4 0 16 0;
#X connect 4 1 7 0;
#X connect 5 0 6 0;
#X connect 6 0 24 0;
#X connect 7 0 9 0;
#X connect 7 1 8 0;
#X connect 7 2 5 0;
#X connect 8 0 15 0;
#X connect 9 0 4 1;
#X connect 10 0 11 1;
#X connect 11 0 21 1;
#X connect 12 0 11 0;
#X connect 12 1 10 1;
#X connect 13 0 22 1;
#X connect 14 0 13 0;
#X connect 14 1 15 1;
#X connect 15 0 13 1;
#X connect 16 0 18 0;
#X connect 16 1 17 0;
#X connect 17 0 20 1;
#X connect 18 0 21 0;
#X connect 18 1 20 0;
#X connect 19 0 18 1;
#X connect 20 0 19 0;
#X connect 21 0 22 0;
#X connect 21 1 25 0;
#X connect 22 0 2 1;
#X connect 22 1 23 0;
#X connect 23 0 22 2;
#X connect 24 0 10 0;
#X connect 25 0 21 2;
#X restore 230 138 pd mult;
#X obj 94 31 t b b;
#X obj 12 89 f;
#N canvas 962 54 956 1000 asc 0;
#X obj 10 15 inlet bang;
#X obj 89 15 inlet list;
#X obj 10 69 list store;
#X obj 10 167 list-idx;
#X obj 89 69 list length;
#X obj 63 94 f 0;
#X obj 63 118 + 1;
#X obj 63 142 %;
#X obj 10 93 t l b;
#X obj 10 193 outlet pitch;
#X obj 89 39 list-sort asc;
#X connect 0 0 2 0;
#X connect 1 0 10 0;
#X connect 1 0 4 0;
#X connect 2 0 8 0;
#X connect 3 0 9 0;
#X connect 4 0 7 1;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 5 1;
#X connect 7 0 3 1;
#X connect 8 0 3 0;
#X connect 8 1 5 0;
#X connect 10 0 2 1;
#X restore 61 138 pd asc;
#N canvas 962 54 956 1000 desc 0;
#X obj 19 19 inlet bang;
#X obj 104 19 inlet list;
#X obj 19 73 list store;
#X obj 19 171 list-idx;
#X obj 104 146 list length;
#X obj 72 98 f 0;
#X obj 72 122 + 1;
#X obj 72 146 %;
#X obj 19 97 t l b;
#X obj 86 47 list-sort desc;
#X obj 19 197 outlet pitch;
#X connect 0 0 2 0;
#X connect 1 0 4 0;
#X connect 1 0 9 0;
#X connect 2 0 8 0;
#X connect 3 0 10 0;
#X connect 4 0 7 1;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 5 1;
#X connect 7 0 3 1;
#X connect 8 0 3 0;
#X connect 8 1 5 0;
#X connect 9 0 2 1;
#X restore 117 138 pd desc;
#N canvas 962 54 956 1000 tran 0;
#X obj 10 15 inlet bang;
#X obj 109 15 inlet list;
#X obj 10 88 list store;
#X obj 109 40 t l b, f 12;
#X obj 194 63 random 12;
#X obj 109 88 list-map;
#X obj 176 88 +;
#X obj 10 112 pick-random;
#X obj 10 137 outlet pitch;
#X connect 0 0 2 0;
#X connect 1 0 3 0;
#X connect 2 0 7 0;
#X connect 3 0 5 0;
#X connect 3 1 4 0;
#X connect 4 0 6 1;
#X connect 5 0 2 1;
#X connect 5 1 6 0;
#X connect 6 0 5 1;
#X connect 7 0 8 0;
#X restore 174 138 pd tran;
#X obj 5 114 sel 0 1 2 3 4 5 6 7 8 9, f 81;
#N canvas 962 54 956 1000 comp 0;
#X obj 8 5 inlet bang;
#X obj 93 5 inlet list;
#X obj 8 341 list store;
#X obj 8 367 pick-random;
#X obj 93 29 list-map;
#X obj 282 52 div 12;
#X obj 282 76 - 1;
#X obj 159 29 t f f f, f 18;
#X obj 196 52 wrap;
#X obj 159 52 % 12;
#X obj 282 122 list-extend;
#X obj 190 149 list store;
#X obj 190 124 t b b;
#X obj 93 245 list-sieve;
#X msg 93 197 0 1 2 3 4 5 6 7 8 9 10 11;
#X obj 93 221 list-drip;
#X obj 227 222 list length;
#X obj 227 246 expr abs(($f1 - 12));
#X obj 93 171 t b l l, f 19;
#X obj 160 271 list-lastx;
#X obj 129 101 list store;
#X obj 129 76 t b b;
#X obj 160 295 list-map2;
#X obj 196 75 list-extend;
#X obj 160 321 list-map2;
#X obj 230 321 +;
#X obj 282 99 * 12;
#X obj 230 295 +;
#X obj 232 171 list-unique;
#X obj 8 393 outlet pitch;
#X connect 0 0 2 0;
#X connect 1 0 4 0;
#X connect 2 0 3 0;
#X connect 3 0 29 0;
#X connect 4 0 12 0;
#X connect 4 0 18 0;
#X connect 4 0 21 0;
#X connect 4 1 7 0;
#X connect 5 0 6 0;
#X connect 6 0 26 0;
#X connect 7 0 9 0;
#X connect 7 1 8 0;
#X connect 7 2 5 0;
#X connect 8 0 23 0;
#X connect 9 0 4 1;
#X connect 10 0 11 1;
#X connect 11 0 22 1;
#X connect 12 0 11 0;
#X connect 12 1 10 1;
#X connect 13 1 19 0;
#X connect 14 0 15 0;
#X connect 15 0 13 0;
#X connect 16 0 17 0;
#X connect 17 0 19 1;
#X connect 18 0 14 0;
#X connect 18 1 13 1;
#X connect 18 2 28 0;
#X connect 19 0 22 0;
#X connect 20 0 24 1;
#X connect 21 0 20 0;
#X connect 21 1 23 1;
#X connect 22 0 24 0;
#X connect 22 1 27 0;
#X connect 23 0 20 1;
#X connect 24 0 2 1;
#X connect 24 1 25 0;
#X connect 25 0 24 2;
#X connect 26 0 10 0;
#X connect 27 0 22 2;
#X connect 28 0 16 0;
#X restore 287 138 pd comp;
#X obj 5 60 random 10;
#N canvas 962 54 956 1000 casc 0;
#X obj 5 5 inlet bang;
#X obj 84 5 inlet list;
#X obj 5 349 list store;
#X obj 5 447 list-idx;
#X obj 183 402 list length;
#X obj 58 374 f 0;
#X obj 58 398 + 1;
#X obj 58 422 %;
#X obj 5 373 t l b;
#X obj 84 244 list-sieve;
#X msg 84 196 0 1 2 3 4 5 6 7 8 9 10 11;
#X obj 84 220 list-drip;
#X obj 218 221 list length;
#X obj 218 245 expr abs(($f1 - 12));
#X obj 84 170 t b l l, f 19;
#X obj 151 270 list-lastx;
#X obj 151 343 t l l;
#X obj 151 368 list-sort asc;
#X obj 84 29 list-map;
#X obj 273 52 div 12;
#X obj 273 76 - 1;
#X obj 150 29 t f f f, f 18;
#X obj 187 52 wrap;
#X obj 150 52 % 12;
#X obj 273 122 list-extend;
#X obj 181 149 list store;
#X obj 181 124 t b b;
#X obj 120 101 list store;
#X obj 120 76 t b b;
#X obj 187 75 list-extend;
#X obj 273 99 * 12;
#X obj 151 294 list-map2;
#X obj 151 320 list-map2;
#X obj 221 320 +;
#X obj 221 294 +;
#X obj 223 170 list-unique;
#X obj 5 473 outlet pitch;
#X connect 0 0 2 0;
#X connect 1 0 18 0;
#X connect 2 0 8 0;
#X connect 3 0 36 0;
#X connect 4 0 7 1;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 5 1;
#X connect 7 0 3 1;
#X connect 8 0 3 0;
#X connect 8 1 5 0;
#X connect 9 1 15 0;
#X connect 10 0 11 0;
#X connect 11 0 9 0;
#X connect 12 0 13 0;
#X connect 13 0 15 1;
#X connect 14 0 10 0;
#X connect 14 1 9 1;
#X connect 14 2 35 0;
#X connect 15 0 31 0;
#X connect 16 0 17 0;
#X connect 16 1 4 0;
#X connect 17 0 2 1;
#X connect 18 0 26 0;
#X connect 18 0 28 0;
#X connect 18 0 14 0;
#X connect 18 1 21 0;
#X connect 19 0 20 0;
#X connect 20 0 30 0;
#X connect 21 0 23 0;
#X connect 21 1 22 0;
#X connect 21 2 19 0;
#X connect 22 0 29 0;
#X connect 23 0 18 1;
#X connect 24 0 25 1;
#X connect 25 0 31 1;
#X connect 26 0 25 0;
#X connect 26 1 24 1;
#X connect 27 0 32 1;
#X connect 28 0 27 0;
#X connect 28 1 29 1;
#X connect 29 0 27 1;
#X connect 30 0 24 0;
#X connect 31 0 32 0;
#X connect 31 1 34 0;
#X connect 32 0 16 0;
#X connect 32 1 33 0;
#X connect 33 0 32 2;
#X connect 34 0 31 2;
#X connect 35 0 12 0;
#X restore 343 138 pd casc;
#N canvas 962 54 956 1000 cdes 0;
#X obj 3 3 inlet bang;
#X obj 82 3 inlet list;
#X obj 3 354 list store;
#X obj 3 452 list-idx;
#X obj 87 427 list length;
#X obj 56 379 f 0;
#X obj 56 403 + 1;
#X obj 56 427 %;
#X obj 3 378 t l b;
#X obj 82 246 list-sieve;
#X msg 82 198 0 1 2 3 4 5 6 7 8 9 10 11;
#X obj 82 222 list-drip;
#X obj 216 223 list length;
#X obj 216 247 expr abs(($f1 - 12));
#X obj 82 172 t b l l, f 19;
#X obj 149 272 list-lastx;
#X obj 149 345 t l l;
#X obj 149 369 list-sort desc;
#X obj 82 28 list-map;
#X obj 271 51 div 12;
#X obj 271 75 - 1;
#X obj 148 28 t f f f, f 18;
#X obj 185 51 wrap;
#X obj 148 51 % 12;
#X obj 271 121 list-extend;
#X obj 179 148 list store;
#X obj 179 123 t b b;
#X obj 118 100 list store;
#X obj 118 75 t b b;
#X obj 185 74 list-extend;
#X obj 271 98 * 12;
#X obj 149 295 list-map2;
#X obj 149 321 list-map2;
#X obj 219 321 +;
#X obj 219 295 +;
#X obj 221 172 list-unique;
#X obj 3 478 outlet pitch;
#X connect 0 0 2 0;
#X connect 1 0 18 0;
#X connect 2 0 8 0;
#X connect 3 0 36 0;
#X connect 4 0 7 1;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 5 1;
#X connect 7 0 3 1;
#X connect 8 0 3 0;
#X connect 8 1 5 0;
#X connect 9 1 15 0;
#X connect 10 0 11 0;
#X connect 11 0 9 0;
#X connect 12 0 13 0;
#X connect 13 0 15 1;
#X connect 14 0 10 0;
#X connect 14 1 9 1;
#X connect 14 2 35 0;
#X connect 15 0 31 0;
#X connect 16 0 17 0;
#X connect 16 1 4 0;
#X connect 17 0 2 1;
#X connect 18 0 26 0;
#X connect 18 0 28 0;
#X connect 18 0 14 0;
#X connect 18 1 21 0;
#X connect 19 0 20 0;
#X connect 20 0 30 0;
#X connect 21 0 23 0;
#X connect 21 1 22 0;
#X connect 21 2 19 0;
#X connect 22 0 29 0;
#X connect 23 0 18 1;
#X connect 24 0 25 1;
#X connect 25 0 31 1;
#X connect 26 0 25 0;
#X connect 26 1 24 1;
#X connect 27 0 32 1;
#X connect 28 0 27 0;
#X connect 28 1 29 1;
#X connect 29 0 27 1;
#X connect 30 0 24 0;
#X connect 31 0 32 0;
#X connect 31 1 34 0;
#X connect 32 0 16 0;
#X connect 32 1 33 0;
#X connect 33 0 32 2;
#X connect 34 0 31 2;
#X connect 35 0 12 0;
#X restore 400 138 pd cdes;
#N canvas 962 54 956 1000 ctra 0;
#X obj 10 6 inlet bang;
#X obj 89 6 inlet list;
#X obj 89 245 list-sieve;
#X msg 89 197 0 1 2 3 4 5 6 7 8 9 10 11;
#X obj 89 221 list-drip;
#X obj 223 222 list length;
#X obj 223 246 expr abs(($f1 - 12));
#X obj 89 171 t b l l, f 19;
#X obj 156 271 list-lastx;
#X obj 10 399 list store;
#X obj 162 350 random 12;
#X obj 77 375 list-map;
#X obj 144 375 +;
#X obj 77 341 t l b;
#X obj 89 29 list-map;
#X obj 278 52 div 12;
#X obj 278 76 - 1;
#X obj 155 29 t f f f, f 18;
#X obj 192 52 wrap;
#X obj 155 52 % 12;
#X obj 278 122 list-extend;
#X obj 186 149 list store;
#X obj 186 124 t b b;
#X obj 125 101 list store;
#X obj 125 76 t b b;
#X obj 192 75 list-extend;
#X obj 278 99 * 12;
#X obj 156 295 list-map2;
#X obj 156 321 list-map2;
#X obj 226 321 +;
#X obj 226 295 +;
#X obj 10 423 pick-random;
#X obj 10 448 outlet pitch;
#X connect 0 0 9 0;
#X connect 1 0 14 0;
#X connect 2 1 8 0;
#X connect 3 0 4 0;
#X connect 4 0 2 0;
#X connect 5 0 6 0;
#X connect 6 0 8 1;
#X connect 7 0 3 0;
#X connect 7 1 2 1;
#X connect 7 2 5 0;
#X connect 8 0 27 0;
#X connect 9 0 31 0;
#X connect 10 0 12 1;
#X connect 11 0 9 1;
#X connect 11 1 12 0;
#X connect 12 0 11 1;
#X connect 13 0 11 0;
#X connect 13 1 10 0;
#X connect 14 0 22 0;
#X connect 14 0 24 0;
#X connect 14 0 7 0;
#X connect 14 1 17 0;
#X connect 15 0 16 0;
#X connect 16 0 26 0;
#X connect 17 0 19 0;
#X connect 17 1 18 0;
#X connect 17 2 15 0;
#X connect 18 0 25 0;
#X connect 19 0 14 1;
#X connect 20 0 21 1;
#X connect 21 0 27 1;
#X connect 22 0 21 0;
#X connect 22 1 20 1;
#X connect 23 0 28 1;
#X connect 24 0 23 0;
#X connect 24 1 25 1;
#X connect 25 0 23 1;
#X connect 26 0 20 0;
#X connect 27 0 28 0;
#X connect 27 1 30 0;
#X connect 28 0 13 0;
#X connect 28 1 29 0;
#X connect 29 0 28 2;
#X connect 30 0 27 2;
#X connect 31 0 32 0;
#X restore 456 138 pd ctra;
#N canvas 2 54 1916 1000 cmul 0;
#X obj 22 18 inlet bang;
#X obj 101 18 inlet list;
#X obj 101 257 list-sieve;
#X msg 101 209 0 1 2 3 4 5 6 7 8 9 10 11;
#X obj 101 233 list-drip;
#X obj 235 234 list length;
#X obj 235 258 expr abs(($f1 - 12));
#X obj 101 183 t b l l, f 19;
#X obj 168 283 list-lastx;
#X obj 22 427 list store;
#X obj 174 308 random 12;
#X obj 89 333 list-map;
#X obj 89 299 t l b;
#X obj 156 333 *;
#X obj 101 42 list-map;
#X obj 290 65 div 12;
#X obj 290 89 - 1;
#X obj 167 42 t f f f, f 18;
#X obj 204 65 wrap;
#X obj 167 65 % 12;
#X obj 290 135 list-extend;
#X obj 198 162 list store;
#X obj 198 137 t b b;
#X obj 137 114 list store;
#X obj 137 89 t b b;
#X obj 204 88 list-extend;
#X obj 290 112 * 12;
#X obj 22 451 pick-random;
#X obj 22 476 outlet pitch;
#X obj 241 183 list-unique;
#X obj 89 377 list-map2;
#X obj 89 400 list-map2;
#X obj 159 400 +;
#X obj 159 377 +;
#X obj 156 355 % 12;
#X connect 0 0 9 0;
#X connect 1 0 14 0;
#X connect 2 1 8 0;
#X connect 3 0 4 0;
#X connect 4 0 2 0;
#X connect 5 0 6 0;
#X connect 6 0 8 1;
#X connect 7 0 3 0;
#X connect 7 1 2 1;
#X connect 7 2 29 0;
#X connect 8 0 12 0;
#X connect 9 0 27 0;
#X connect 10 0 13 1;
#X connect 11 0 30 0;
#X connect 11 1 13 0;
#X connect 12 0 11 0;
#X connect 12 1 10 0;
#X connect 13 0 34 0;
#X connect 14 0 22 0;
#X connect 14 0 24 0;
#X connect 14 0 7 0;
#X connect 14 1 17 0;
#X connect 15 0 16 0;
#X connect 16 0 26 0;
#X connect 17 0 19 0;
#X connect 17 1 18 0;
#X connect 17 2 15 0;
#X connect 18 0 25 0;
#X connect 19 0 14 1;
#X connect 20 0 21 1;
#X connect 21 0 30 1;
#X connect 22 0 21 0;
#X connect 22 1 20 1;
#X connect 23 0 31 1;
#X connect 24 0 23 0;
#X connect 24 1 25 1;
#X connect 25 0 23 1;
#X connect 26 0 20 0;
#X connect 27 0 28 0;
#X connect 29 0 5 0;
#X connect 30 0 31 0;
#X connect 30 1 33 0;
#X connect 31 0 9 1;
#X connect 31 1 32 0;
#X connect 32 0 31 2;
#X connect 33 0 30 2;
#X connect 34 0 11 1;
#X restore 513 138 pd cmul;
#X obj 214 7 inlet pitch_phrase;
#N canvas 962 54 956 1000 rand 0;
#X obj 10 15 inlet bang;
#X obj 89 15 inlet list;
#X obj 10 43 list store;
#X obj 10 68 pick-random;
#X obj 10 93 outlet pitch;
#X connect 0 0 2 0;
#X connect 1 0 2 1;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X restore 5 138 pd rand;
#X text 62 222 This subpatch defines which pitch will be played. The
last pitch class set played is transformed by one randomly chosen function.
;
#X connect 0 0 6 0;
#X connect 1 0 18 1;
#X connect 1 0 9 1;
#X connect 1 0 7 1;
#X connect 1 0 4 1;
#X connect 1 0 8 1;
#X connect 1 0 11 1;
#X connect 1 0 14 1;
#X connect 1 0 13 1;
#X connect 1 0 15 1;
#X connect 1 0 16 1;
#X connect 2 0 5 0;
#X connect 4 0 3 0;
#X connect 5 0 12 0;
#X connect 5 1 1 0;
#X connect 6 0 10 0;
#X connect 7 0 3 0;
#X connect 8 0 3 0;
#X connect 9 0 3 0;
#X connect 10 0 18 0;
#X connect 10 1 7 0;
#X connect 10 2 8 0;
#X connect 10 3 9 0;
#X connect 10 4 4 0;
#X connect 10 5 11 0;
#X connect 10 6 13 0;
#X connect 10 7 14 0;
#X connect 10 8 15 0;
#X connect 10 9 16 0;
#X connect 11 0 3 0;
#X connect 12 0 6 1;
#X connect 12 0 10 0;
#X connect 13 0 3 0;
#X connect 14 0 3 0;
#X connect 15 0 3 0;
#X connect 16 0 3 0;
#X connect 17 0 1 1;
#X connect 18 0 3 0;
#X restore 186 157 pd pitch;
#X f 9;
#X obj 48 98 metroplus;
#X obj 256 157 list-dripslow;
#X obj 48 270 outlet;
#X obj 48 245 spigot;
#N canvas 2 54 1916 1000 timbre 0;
#X obj 6 7 inlet bang;
#X obj 6 32 f 0;
#X obj 6 57 + 1;
#X obj 6 82 %;
#X obj 6 107 sel 0;
#X obj 38 260 outlet;
#X obj 90 32 list-mean;
#X obj 72 81 f;
#X obj 6 132 t b b;
#X obj 38 158 random 11;
#X obj 90 7 inlet rhythm;
#X obj 90 56 expr if($f1 < 100 \, 50 \, rint(1000 / ($f1/5)));
#X obj 38 182 t b b f;
#X msg 51 207 create;
#X obj 108 158 r \$0-onoff_counter;
#X msg 108 209 clear;
#X obj 108 183 sel 0;
#X obj 38 234 markov;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 1 1;
#X connect 3 0 4 0;
#X connect 4 0 8 0;
#X connect 6 0 11 0;
#X connect 7 0 3 1;
#X connect 8 0 7 0;
#X connect 8 1 9 0;
#X connect 9 0 12 0;
#X connect 10 0 6 0;
#X connect 11 0 7 1;
#X connect 12 0 17 0;
#X connect 12 1 13 0;
#X connect 12 2 17 1;
#X connect 13 0 17 0;
#X connect 14 0 16 0;
#X connect 15 0 17 0;
#X connect 16 0 15 0;
#X connect 17 0 5 0;
#X restore 117 157 pd timbre;
#N canvas 2 54 1916 1000 rhythm 0;
#N canvas 962 54 476 1000 same 0;
#X obj 10 15 inlet bang;
#X obj 89 15 inlet list;
#X obj 10 49 list store;
#X obj 10 73 outlet list;
#X connect 0 0 2 0;
#X connect 1 0 2 1;
#X connect 2 0 3 0;
#X restore 8 129 pd same;
#X obj 8 37 t b l, f 55;
#N canvas 962 54 956 1000 shuf 0;
#X obj 10 15 inlet bang;
#X obj 158 15 inlet list;
#X obj 10 95 list store;
#X obj 10 119 outlet list;
#X obj 77 69 list-shuffle;
#X obj 10 39 t b b;
#X connect 0 0 5 0;
#X connect 1 0 4 1;
#X connect 2 0 3 0;
#X connect 4 0 2 1;
#X connect 5 0 2 0;
#X connect 5 1 4 0;
#X restore 179 129 pd shuf;
#N canvas 1282 54 636 1000 add 0;
#X obj 10 15 inlet bang;
#X obj 144 15 inlet list;
#X obj 10 199 list store;
#X obj 10 223 outlet list;
#X obj 77 173 list-insert;
#X obj 77 122 list-minmax;
#X obj 114 149 expr random(0 \, $f2);
#X obj 244 124 list length;
#X obj 77 98 t l b l l;
#X obj 10 40 t b b;
#X obj 77 74 list store;
#X connect 0 0 9 0;
#X connect 1 0 10 1;
#X connect 2 0 3 0;
#X connect 4 0 2 1;
#X connect 5 0 4 0;
#X connect 6 0 4 1;
#X connect 7 0 6 1;
#X connect 8 0 5 0;
#X connect 8 1 6 0;
#X connect 8 2 4 2;
#X connect 8 3 7 0;
#X connect 9 0 2 0;
#X connect 9 1 10 0;
#X connect 10 0 8 0;
#X restore 294 129 pd add;
#N canvas 962 54 956 1000 ost 0;
#X obj 10 15 inlet bang;
#X obj 174 15 inlet list;
#X obj 10 369 list store;
#X obj 10 393 outlet list;
#X obj 184 224 list-mean;
#X obj 21 185 list-minmax;
#X obj 107 254 f;
#X obj 137 254 f;
#X obj 166 254 f;
#X obj 107 161 random 3;
#X obj 107 185 sel 0 1 2;
#X obj 137 320 list-value;
#X obj 107 128 t b l l;
#X obj 204 157 list length;
#X obj 137 292 t b f;
#X obj 10 40 t b b;
#X obj 107 101 list store;
#X connect 0 0 15 0;
#X connect 1 0 16 1;
#X connect 2 0 3 0;
#X connect 4 0 8 1;
#X connect 5 0 6 1;
#X connect 5 1 7 1;
#X connect 6 0 14 0;
#X connect 7 0 14 0;
#X connect 8 0 14 0;
#X connect 9 0 10 0;
#X connect 10 0 6 0;
#X connect 10 1 7 0;
#X connect 10 2 8 0;
#X connect 11 0 2 1;
#X connect 12 0 9 0;
#X connect 12 1 4 0;
#X connect 12 1 5 0;
#X connect 12 2 13 0;
#X connect 13 0 11 2;
#X connect 14 0 11 0;
#X connect 14 1 11 1;
#X connect 15 0 2 0;
#X connect 15 1 16 0;
#X connect 16 0 12 0;
#X restore 351 129 pd ost;
#N canvas 962 54 956 1000 rand 0;
#X obj 10 15 inlet bang;
#X obj 144 15 inlet list;
#X obj 10 239 list store;
#X obj 10 263 outlet list;
#X obj 77 189 list-random;
#X obj 114 156 list-minmax;
#X obj 151 130 list length;
#X obj 77 215 list-map;
#X obj 77 100 t b l l, f 11;
#X obj 10 40 t b b;
#X obj 77 74 list store;
#X obj 148 215 expr if($f1 < $f2 \, $f1+$f2 \, $f1);
#X connect 0 0 9 0;
#X connect 1 0 10 1;
#X connect 2 0 3 0;
#X connect 4 0 7 0;
#X connect 5 0 11 1;
#X connect 5 1 4 1;
#X connect 6 0 4 2;
#X connect 7 0 2 1;
#X connect 7 1 11 0;
#X connect 8 0 4 0;
#X connect 8 1 5 0;
#X connect 8 2 6 0;
#X connect 9 0 2 0;
#X connect 9 1 10 0;
#X connect 10 0 8 0;
#X connect 11 0 7 1;
#X restore 521 129 pd rand;
#N canvas 962 54 956 1000 mult 0;
#X obj 10 15 inlet bang;
#X obj 144 15 inlet list;
#X obj 10 199 list store;
#X obj 10 223 outlet list;
#X obj 77 109 t l b;
#X obj 141 175 expr $f1*(pow(2 \, $f2 / 12));
#X obj 77 175 list-map;
#X obj 141 199 expr rint($f1);
#X obj 109 133 expr random(1 \, 25) - 12;
#X obj 10 40 t b b;
#X obj 77 76 list store;
#X connect 0 0 9 0;
#X connect 1 0 10 1;
#X connect 2 0 3 0;
#X connect 4 0 6 0;
#X connect 4 1 8 0;
#X connect 5 0 7 0;
#X connect 6 0 2 1;
#X connect 6 1 5 0;
#X connect 7 0 6 1;
#X connect 8 0 5 1;
#X connect 9 0 2 0;
#X connect 9 1 10 0;
#X connect 10 0 4 0;
#X restore 236 129 pd mult;
#N canvas 962 54 956 1000 rot 0;
#X obj 10 15 inlet bang;
#X obj 144 15 inlet list;
#X obj 10 229 list store;
#X obj 10 253 outlet list;
#X obj 77 204 list-rot;
#X obj 77 102 t l l, f 8;
#X obj 130 127 list length;
#X obj 10 40 t b b;
#X obj 77 74 list store;
#X obj 130 151 t b f;
#X obj 130 177 expr random(($f2*-1) \, ($f2-1));
#X connect 0 0 7 0;
#X connect 1 0 8 1;
#X connect 2 0 3 0;
#X connect 4 0 2 1;
#X connect 5 0 4 0;
#X connect 5 1 6 0;
#X connect 6 0 9 0;
#X connect 7 0 2 0;
#X connect 7 1 8 0;
#X connect 8 0 5 0;
#X connect 9 0 10 0;
#X connect 9 1 10 1;
#X connect 10 0 4 1;
#X restore 408 129 pd rot;
#X obj 8 105 sel 0 1 2 3 4 5 6 7 8 9, f 82;
#X obj 8 81 random 10;
#N canvas 962 54 956 1000 rev 0;
#X obj 10 15 inlet bang;
#X obj 144 15 inlet list;
#X obj 10 126 list store;
#X obj 10 150 outlet list;
#X obj 77 101 list-rev;
#X obj 10 40 t b b;
#X obj 77 76 list store;
#X connect 0 0 5 0;
#X connect 1 0 6 1;
#X connect 2 0 3 0;
#X connect 4 0 2 1;
#X connect 5 0 2 0;
#X connect 5 1 6 0;
#X connect 6 0 4 0;
#X restore 465 129 pd rev;
#N canvas 962 54 956 1000 acc 0;
#X obj 10 15 inlet bang;
#X obj 89 15 inlet list;
#X obj 10 129 list store;
#X obj 10 153 outlet list;
#X obj 10 40 t b b;
#X obj 77 77 list store;
#X obj 77 104 list-sort desc;
#X connect 0 0 4 0;
#X connect 1 0 5 1;
#X connect 2 0 3 0;
#X connect 4 0 2 0;
#X connect 4 1 5 0;
#X connect 5 0 6 0;
#X connect 6 0 2 1;
#X restore 65 129 pd acc;
#N canvas 962 54 956 1000 rall 0;
#X obj 10 15 inlet bang;
#X obj 89 15 inlet list;
#X obj 10 129 list store;
#X obj 10 153 outlet list;
#X obj 10 40 t b b;
#X obj 77 76 list store;
#X obj 77 100 list-sort asc;
#X connect 0 0 4 0;
#X connect 1 0 5 1;
#X connect 2 0 3 0;
#X connect 4 0 2 0;
#X connect 4 1 5 0;
#X connect 5 0 6 0;
#X connect 6 0 2 1;
#X restore 122 129 pd rall;
#X obj 169 301 list store;
#X obj 169 277 metro;
#X msg 169 254 1;
#X obj 169 231 loadbang;
#X obj 236 193 list;
#X obj 169 349 outlet list;
#X obj 169 325 t l l;
#X obj 257 349 s \$0-rhythm_dur;
#X obj 201 254 list-accum;
#X obj 17 60 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 169 11 inlet on/off;
#X msg 137 254 0;
#X obj 96 190 r \$0-selector;
#X obj 96 215 sel 0 1;
#X obj 236 217 list-apply + 100;
#X obj 8 11 inlet rhythm;
#X connect 0 0 17 0;
#X connect 1 0 9 0;
#X connect 1 1 0 1;
#X connect 1 1 11 1;
#X connect 1 1 12 1;
#X connect 1 1 6 1;
#X connect 1 1 3 1;
#X connect 1 1 2 1;
#X connect 1 1 4 1;
#X connect 1 1 5 1;
#X connect 1 1 7 1;
#X connect 1 1 10 1;
#X connect 2 0 17 0;
#X connect 3 0 17 0;
#X connect 4 0 17 0;
#X connect 5 0 17 0;
#X connect 6 0 17 0;
#X connect 7 0 17 0;
#X connect 8 0 0 0;
#X connect 8 1 11 0;
#X connect 8 2 12 0;
#X connect 8 3 2 0;
#X connect 8 4 6 0;
#X connect 8 5 3 0;
#X connect 8 6 4 0;
#X connect 8 7 7 0;
#X connect 8 8 10 0;
#X connect 8 9 5 0;
#X connect 9 0 8 0;
#X connect 10 0 17 0;
#X connect 11 0 17 0;
#X connect 12 0 17 0;
#X connect 13 0 19 0;
#X connect 14 0 13 0;
#X connect 14 0 22 0;
#X connect 15 0 14 0;
#X connect 16 0 15 0;
#X connect 17 0 27 0;
#X connect 19 0 18 0;
#X connect 19 1 21 0;
#X connect 21 0 14 1;
#X connect 21 0 20 0;
#X connect 22 0 9 0;
#X connect 23 0 14 0;
#X connect 24 0 14 0;
#X connect 25 0 26 0;
#X connect 26 0 24 0;
#X connect 26 1 15 0;
#X connect 27 0 13 1;
#X connect 28 0 1 0;
#X restore 233 54 pd rhythm;
#X f 13;
#X obj 5 170 > 0;
#N canvas 1282 54 636 1000 make 0;
#X obj 176 57 list append;
#X obj 176 32 list append;
#X obj 259 3 inlet duration;
#X obj 8 3 inlet bang;
#X obj 86 3 inlet timbre;
#X obj 176 3 inlet pitch;
#X obj 8 105 list append;
#X obj 8 30 list store;
#X obj 8 128 outlet list;
#X obj 363 3 inlet legato;
#X obj 363 28 list append;
#X obj 453 3 inlet amp+flat;
#X connect 0 0 6 1;
#X connect 1 0 0 0;
#X connect 2 0 1 1;
#X connect 3 0 7 0;
#X connect 4 0 7 1;
#X connect 5 0 1 0;
#X connect 6 0 8 0;
#X connect 7 0 6 0;
#X connect 9 0 10 0;
#X connect 10 0 0 1;
#X connect 11 0 10 1;
#X restore 48 219 pd make list;
#X f 50;
#X obj 325 5 inlet legato;
#X obj 484 5 inlet flat_curve;
#N canvas 2 54 1916 1000 dynamics 0;
#X obj 11 13 inlet bang;
#N canvas 1282 54 636 1000 same 0;