-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path01_chord_maker.pd
1528 lines (1528 loc) · 36.9 KB
/
01_chord_maker.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 canvas -17 54 1222 891 10;
#N canvas 181 248 1256 747 nebulae 0;
#X obj 34 216 netreceive 3000;
#X obj 118 271 route start size density overlap blend window pitch
speed record file source reset freeze;
#X obj 532 268 route start_alt size_alt density_alt overlap_alt blend_alt
window_alt pitch_alt record_alt file_alt source_alt freeze_alt;
#X obj 527 452 s start_alt;
#X obj 545 427 s size_alt;
#X obj 560 404 s density_alt;
#X obj 578 379 s overlap_alt;
#X obj 661 458 s blend_alt;
#X obj 687 433 s window_alt;
#X obj 704 412 s pitch_alt;
#X obj 891 459 s freeze_alt;
#X obj 768 459 s record_alt;
#X obj 786 434 s file_alt;
#X obj 804 412 s source_alt;
#X obj 819 93 loadbang;
#X obj 819 115 delay 300;
#X obj 819 137 s initbang;
#X obj 1272 362 r initbang;
#X msg 1272 384 \; pd dsp 1;
#X text 2 191 Receive Controls via TCP;
#X text 261 231 primary controls;
#X text 560 228 secondary controls (accessible when source is held)
;
#X text 841 68 Initialization -- Turn DSP on;
#X obj 93 52 adc~;
#X obj 421 82 dac~;
#X text 127 81 Audio Bypass -- Input to Output;
#X obj 422 33 inlet~;
#X obj 443 61 inlet~;
#X obj 93 140 outlet~;
#X obj 115 117 outlet~;
#X msg 83 556 set \$1;
#X obj 83 577 s start-r;
#X msg 118 505 set \$1;
#X msg 140 455 set \$1;
#X msg 177 399 set \$1;
#X msg 204 332 set \$1;
#X msg 233 532 set \$1;
#X msg 282 395 set \$1;
#X msg 285 332 set \$1;
#X obj 118 526 s size-r;
#X obj 140 476 s density-r;
#X obj 177 420 s overlap-r;
#X obj 204 353 s blend-r;
#X obj 233 553 s window-r;
#X obj 282 416 s pitch-r;
#X obj 285 353 s speed-r;
#X msg 335 458 set \$1;
#X obj 335 479 s record-r;
#X msg 361 392 set \$1;
#X obj 361 413 s file-r;
#X msg 385 331 set \$1;
#X obj 385 352 s source-r;
#X msg 412 501 set \$1;
#X obj 412 522 s reset-r;
#X msg 442 413 set \$1;
#X obj 442 434 s freeze-r;
#X obj 119 603 s start-s;
#X obj 145 553 s size-s;
#X obj 170 498 s density-s;
#X obj 196 441 s overlap-s;
#X obj 222 376 s blend-s;
#X obj 300 375 s speed-s;
#X obj 274 438 s pitch-s;
#X obj 352 433 s file-s;
#X obj 326 500 s record-s;
#X obj 378 371 s source-s;
#X obj 430 455 s freeze-s;
#X obj 404 542 s reset-s;
#X obj 248 513 s window-s;
#X connect 0 0 1 0;
#X connect 1 0 56 0;
#X connect 1 0 30 0;
#X connect 1 1 32 0;
#X connect 1 1 57 0;
#X connect 1 2 33 0;
#X connect 1 2 58 0;
#X connect 1 3 34 0;
#X connect 1 3 59 0;
#X connect 1 4 35 0;
#X connect 1 4 60 0;
#X connect 1 5 36 0;
#X connect 1 5 68 0;
#X connect 1 6 37 0;
#X connect 1 6 62 0;
#X connect 1 7 38 0;
#X connect 1 7 61 0;
#X connect 1 8 46 0;
#X connect 1 8 64 0;
#X connect 1 9 48 0;
#X connect 1 9 63 0;
#X connect 1 10 50 0;
#X connect 1 10 65 0;
#X connect 1 11 52 0;
#X connect 1 11 67 0;
#X connect 1 12 54 0;
#X connect 1 12 66 0;
#X connect 1 13 2 0;
#X connect 2 0 3 0;
#X connect 2 1 4 0;
#X connect 2 2 5 0;
#X connect 2 3 6 0;
#X connect 2 4 7 0;
#X connect 2 5 8 0;
#X connect 2 6 9 0;
#X connect 2 7 11 0;
#X connect 2 8 12 0;
#X connect 2 9 13 0;
#X connect 2 10 10 0;
#X connect 14 0 15 0;
#X connect 15 0 16 0;
#X connect 17 0 18 0;
#X connect 23 0 28 0;
#X connect 23 1 29 0;
#X connect 26 0 24 0;
#X connect 27 0 24 1;
#X connect 30 0 31 0;
#X connect 32 0 39 0;
#X connect 33 0 40 0;
#X connect 34 0 41 0;
#X connect 35 0 42 0;
#X connect 36 0 43 0;
#X connect 37 0 44 0;
#X connect 38 0 45 0;
#X connect 46 0 47 0;
#X connect 48 0 49 0;
#X connect 50 0 51 0;
#X connect 52 0 53 0;
#X connect 54 0 55 0;
#X restore 617 835 pd nebulae;
#X obj 47 26 cnv 15 300 300 empty empty empty 20 12 0 14 #e0e0e0 #404040
0;
#X obj 60 126 hsl 61 40 0 1 0 0 density-s density-r density -2 -8 0
10 #000000 #fcfcfc #000000 0 1;
#X obj 80 196 hsl 61 40 0 1 0 0 blend-s blend-r blend -2 -8 0 10 #000000
#fcfcfc #000000 0 1;
#X obj 275 56 hsl 61 40 0 1 0 0 size-s size-r size\ [oct\ 2] -2 -8
0 10 #000000 #fcfcfc #000000 0 1;
#X obj 275 126 hsl 61 40 0 1 0 0 overlap-s overlap-r overlap -2 -8
0 10 #000000 #fcfcfc #000000 0 1;
#X obj 255 196 hsl 61 40 0 1 0 0 window-s window-r window -2 -8 0 10
#000000 #fcfcfc #000000 0 1;
#X obj 158 56 hsl 80 50 0 1 0 0 speed-s speed-r speed\ [key\ C] -2
-8 0 10 #000000 #fcfcfc #000000 0 1;
#X obj 158 126 hsl 80 50 0 1 0 0 pitch-s pitch-r pitch\ [I\ C] -2 -8
0 10 #000000 #fcfcfc #000000 0 1;
#X obj 80 274 tgl 30 0 record-s record-r record 0 -8 0 10 #000000 #fcfcfc
#000000 0 1;
#X obj 130 274 tgl 30 0 next-s next-r next 0 -8 0 10 #000000 #fcfcfc
#000000 0 1;
#X obj 180 274 tgl 30 0 source-s source-r source 0 -8 0 10 #000000
#fcfcfc #000000 0 1;
#X obj 230 274 tgl 30 0 reset-s reset-r reset 0 -8 0 10 #000000 #fcfcfc
#000000 0 1;
#X obj 280 274 tgl 30 0 freeze-s freeze-r freeze 0 -8 0 10 #000000
#fcfcfc #000000 0 1;
#X obj 652 420 r pitch-s;
#X obj 652 486 int;
#X obj 750 832 s pitch-r;
#N canvas 1154 39 450 533 lettername 0;
#X obj 28 9 inlet;
#X floatatom 262 117 5 0 0 0 - - - 0;
#X msg 28 122 C;
#X msg 59 122 D;
#X msg 91 122 E;
#X msg 101 144 F;
#X msg 132 144 G;
#X msg 164 144 A;
#X msg 195 144 B;
#X obj 28 97 sel 0 1 2 3 4 5 6 7 8 9 10 11;
#X obj 262 93 div 12;
#X obj 28 63 mod 12;
#X obj 43 367 outlet;
#X obj 43 229 symbol;
#X msg 64 277 set \$1;
#X obj 64 301 makefilename;
#X obj 28 33 t f f;
#X obj 64 253 makefilename %s%%i;
#X msg 43 337 \$1;
#X msg 38 144 Cs/Db;
#X msg 69 144 Ds/Eb;
#X msg 122 122 Fs/Gb;
#X msg 154 122 Gs/Ab;
#X msg 185 122 As/Bb;
#X connect 0 0 16 0;
#X connect 2 0 13 0;
#X connect 3 0 13 0;
#X connect 4 0 13 0;
#X connect 5 0 13 0;
#X connect 6 0 13 0;
#X connect 7 0 13 0;
#X connect 8 0 13 0;
#X connect 9 0 2 0;
#X connect 9 1 19 0;
#X connect 9 2 3 0;
#X connect 9 3 20 0;
#X connect 9 4 4 0;
#X connect 9 5 5 0;
#X connect 9 6 21 0;
#X connect 9 7 6 0;
#X connect 9 8 22 0;
#X connect 9 9 7 0;
#X connect 9 10 23 0;
#X connect 9 11 8 0;
#X connect 10 0 1 0;
#X connect 11 0 9 0;
#X connect 13 0 17 0;
#X connect 13 0 18 0;
#X connect 14 0 15 0;
#X connect 16 0 10 0;
#X connect 16 1 11 0;
#X connect 17 0 14 0;
#X connect 18 0 12 0;
#X connect 19 0 13 0;
#X connect 20 0 13 0;
#X connect 21 0 13 0;
#X connect 22 0 13 0;
#X connect 23 0 13 0;
#X restore 750 768 pd lettername;
#X obj 652 400 s speed-r;
#N canvas 1154 39 450 533 lettername 0;
#X obj 28 9 inlet;
#X msg 43 337 label \$1;
#X obj 43 367 outlet;
#X obj 43 229 symbol;
#X msg 64 277 set \$1;
#X obj 64 301 makefilename;
#X obj 28 33 t f f;
#X obj 64 253 makefilename %s%%i;
#X msg 217 152 Cm;
#X msg 248 152 Dm;
#X msg 258 174 Ebm;
#X msg 280 152 Em;
#X msg 290 174 Fm;
#X msg 321 174 Gm;
#X msg 353 174 Am;
#X msg 374 152 Bbm;
#X msg 384 174 Bm;
#X msg 227 174 Dbm;
#X msg 311 152 Gbm;
#X msg 343 152 Abm;
#X obj 28 97 sel 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
20 21 22 23;
#X floatatom 122 58 5 0 0 0 - - - 0;
#X obj 28 63 mod 24;
#X msg 28 152 C;
#X msg 38 174 Db;
#X msg 59 152 D;
#X msg 69 174 Eb;
#X msg 91 152 E;
#X msg 101 174 F;
#X msg 122 152 Gb;
#X msg 132 174 G;
#X msg 154 152 Ab;
#X msg 164 174 A;
#X msg 185 152 Bb;
#X msg 195 174 B;
#X connect 0 0 6 0;
#X connect 1 0 2 0;
#X connect 3 0 7 0;
#X connect 3 0 1 0;
#X connect 4 0 5 0;
#X connect 6 1 22 0;
#X connect 7 0 4 0;
#X connect 8 0 3 0;
#X connect 9 0 3 0;
#X connect 10 0 3 0;
#X connect 11 0 3 0;
#X connect 12 0 3 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 3 0;
#X connect 18 0 3 0;
#X connect 19 0 3 0;
#X connect 20 0 23 0;
#X connect 20 1 24 0;
#X connect 20 2 25 0;
#X connect 20 3 26 0;
#X connect 20 4 27 0;
#X connect 20 5 28 0;
#X connect 20 6 29 0;
#X connect 20 7 30 0;
#X connect 20 8 31 0;
#X connect 20 9 32 0;
#X connect 20 10 33 0;
#X connect 20 11 34 0;
#X connect 20 12 8 0;
#X connect 20 13 17 0;
#X connect 20 14 9 0;
#X connect 20 15 10 0;
#X connect 20 16 11 0;
#X connect 20 17 12 0;
#X connect 20 18 18 0;
#X connect 20 19 13 0;
#X connect 20 20 19 0;
#X connect 20 21 14 0;
#X connect 20 22 15 0;
#X connect 20 23 16 0;
#X connect 22 0 20 0;
#X connect 22 0 21 0;
#X connect 23 0 3 0;
#X connect 24 0 3 0;
#X connect 25 0 3 0;
#X connect 26 0 3 0;
#X connect 27 0 3 0;
#X connect 28 0 3 0;
#X connect 29 0 3 0;
#X connect 30 0 3 0;
#X connect 31 0 3 0;
#X connect 32 0 3 0;
#X connect 33 0 3 0;
#X connect 34 0 3 0;
#X restore 652 357 pd lettername;
#X floatatom 692 297 5 0 0 0 - - - 0;
#X obj 652 318 * 11;
#X obj 652 338 int;
#X obj 652 251 r speed-s;
#X msg 652 378 label speed\\\ [key\\\ \$1];
#X obj 971 183 array set \$0-scale;
#X text 1067 141 major;
#X obj 1017 98 sel 0 1;
#X obj 971 120 loadbang;
#X obj 1017 47 r source-s;
#X floatatom 504 222 5 0 0 0 - - - 0;
#N canvas 1154 39 450 533 lettername 0;
#X obj 28 9 inlet;
#X msg 28 122 C;
#X msg 38 144 Db;
#X msg 59 122 D;
#X msg 69 144 Eb;
#X msg 91 122 E;
#X msg 101 144 F;
#X msg 132 144 G;
#X msg 164 144 A;
#X msg 185 122 Bb;
#X msg 195 144 B;
#X obj 28 97 sel 0 1 2 3 4 5 6 7 8 9 10 11;
#X obj 28 63 mod 12;
#X obj 43 387 outlet;
#X obj 43 229 symbol;
#X msg 64 277 set \$1;
#X obj 64 301 makefilename;
#X obj 28 33 t f f;
#X obj 64 253 makefilename %s%%i;
#X msg 122 122 Gb;
#X msg 154 122 Ab;
#X obj 43 332 pack s f;
#X msg 43 357 label \$1\$2;
#X obj 200 288 outlet;
#X obj 229 18 inlet;
#X connect 0 0 17 0;
#X connect 1 0 14 0;
#X connect 2 0 14 0;
#X connect 3 0 14 0;
#X connect 4 0 14 0;
#X connect 5 0 14 0;
#X connect 6 0 14 0;
#X connect 7 0 14 0;
#X connect 8 0 14 0;
#X connect 9 0 14 0;
#X connect 10 0 14 0;
#X connect 11 0 1 0;
#X connect 11 1 2 0;
#X connect 11 2 3 0;
#X connect 11 3 4 0;
#X connect 11 4 5 0;
#X connect 11 5 6 0;
#X connect 11 6 19 0;
#X connect 11 7 7 0;
#X connect 11 8 20 0;
#X connect 11 9 8 0;
#X connect 11 10 9 0;
#X connect 11 11 10 0;
#X connect 12 0 11 0;
#X connect 12 0 23 0;
#X connect 14 0 18 0;
#X connect 14 0 21 0;
#X connect 15 0 16 0;
#X connect 17 1 12 0;
#X connect 18 0 15 0;
#X connect 19 0 14 0;
#X connect 20 0 14 0;
#X connect 21 0 22 0;
#X connect 22 0 13 0;
#X connect 24 0 21 1;
#X restore 385 470 pd lettername;
#X obj 454 191 r start-s;
#X obj 385 512 s start-r;
#X msg 385 491 label start\\\ [low\\\ \$1];
#X obj 60 56 hsl 61 40 0 1 0 0 start-s start-r start\ [low\ C0] -2
-8 0 10 #000000 #fcfcfc #000000 0 1;
#N canvas 0 50 450 300 chord 0;
#X text 136 77 triad;
#X text 136 96 seventh;
#X text 135 117 ninth;
#X msg 39 77 1 0 1 0 1 0 0;
#X msg 39 97 1 0 1 0 1 0 1;
#X msg 39 117 1 1 1 0 1 0 1;
#X restore 797 129 pd chord patterns;
#X obj 829 378 t b f;
#X obj 829 459 +;
#X obj 829 399 array get \$0-scale;
#X obj 829 480 mod 12;
#X floatatom 829 501 5 0 0 0 - - - 0;
#X obj 955 459 +;
#X obj 955 480 mod 12;
#X floatatom 955 501 5 0 0 0 - - - 0;
#X obj 871 459 +;
#X obj 871 480 mod 12;
#X floatatom 871 501 5 0 0 0 - - - 0;
#X obj 913 459 +;
#X obj 913 480 mod 12;
#X floatatom 913 501 5 0 0 0 - - - 0;
#X obj 837 519 +;
#X obj 837 540 mod 12;
#X floatatom 837 561 5 0 0 0 - - - 0;
#X obj 879 519 +;
#X obj 879 540 mod 12;
#X floatatom 879 561 5 0 0 0 - - - 0;
#X obj 921 519 +;
#X obj 921 540 mod 12;
#X floatatom 921 561 5 0 0 0 - - - 0;
#X obj 829 420 unpack f f f f f f f;
#X obj 828 581 pack f f f f f f f;
#X obj 866 65 table \$0-transp 7;
#X obj 866 44 table \$0-scale 7;
#X obj 828 602 array set \$0-transp;
#X obj 749 695 select 0 1 2 3 4 5 6, f 32;
#X obj 652 507 t f f;
#X obj 750 789 pack s s;
#X msg 729 716 symbol I;
#X msg 745 734 symbol ii;
#X msg 785 715 symbol iii;
#X msg 819 734 symbol IV;
#X msg 855 714 symbol V;
#X msg 912 734 symbol vi;
#X msg 929 713 symbol viio;
#X msg 750 811 label pitch\\\ [\$2\\\ \$1];
#X obj 652 441 change;
#X obj 454 233 * 35;
#X obj 454 254 int;
#X obj 454 275 change;
#X obj 454 336 mod 7;
#X obj 454 375 tabread \$0-transp;
#X obj 490 254 t b f;
#X floatatom 729 322 5 0 0 0 - - - 0;
#X obj 613 317 * 6;
#X obj 454 317 -;
#X obj 613 338 + 0.5;
#X obj 613 359 int;
#X obj 454 297 t f f;
#X obj 503 317 + 14;
#X text 373 531 lowest note;
#X text 750 850 chord root;
#X text 717 400 key signature;
#X msg 971 141 0 2 4 5 7 9 11;
#X obj 1017 68 t b f;
#X text 47 384 speed [key];
#X text 47 394 pitch [chord root];
#X text 47 404 start [lowest note];
#X text 47 414 size [closed/open/range];
#X text 47 424 density [amplitude];
#X text 47 434 overlap [number of notes];
#X text 47 444 blend [waveshape];
#X text 47 454 window [wave modulation];
#X text 47 464 file [classical/jazz];
#X text 47 474 pitch [chord root];
#X text 47 484 source [major/minor];
#X obj 122 555 r size-s;
#X obj 122 637 int;
#X obj 122 576 change;
#X obj 122 659 + 1;
#X obj 131 708 s size-r;
#X msg 131 687 label size\\\ [oct\\\ \$1];
#X obj 168 749 * 7;
#X obj 168 770 + 0.5;
#X obj 168 791 int;
#X obj 632 709 catch~ sound;
#X obj 184 554 loadbang;
#X msg 184 575 1;
#X obj 585 186 hradio 15 1 0 7 empty empty empty 0 -8 0 10 #fcfcfc
#000000 #000000 0;
#X obj 585 206 / 6;
#X floatatom 585 227 5 0 0 0 - - - 0;
#X obj 652 275 t f f;
#X floatatom 610 391 5 0 0 0 - - - 0;
#X obj 802 356 t b b f;
#X obj 614 297 f;
#X obj 503 338 div 7;
#X obj 503 356 - 1;
#X obj 582 150 hsl 128 15 0 6 0 0 empty empty empty -2 -8 0 10 #fcfcfc
#000000 #000000 0 1;
#X obj 324 461 +;
#X obj 339 442 * 12;
#X floatatom 338 560 5 0 0 0 - - - 0;
#X text 262 561 lowest chrom;
#X obj 486 541 pack f f f;
#X obj 312 606 r overlap-s;
#X obj 312 627 change;
#X obj 492 513 t b f;
#X obj 312 690 int;
#X obj 312 711 change;
#X obj 312 732 s numnotes;
#X obj 698 628 tabread \$0-transp;
#X floatatom 415 304 5 0 0 0 - - - 0;
#X text 358 269 transposition;
#X floatatom 416 356 5 0 0 0 - - - 0;
#X text 406 282 steps;
#X text 366 336 note transpo;
#X floatatom 531 357 5 0 0 0 - - - 0;
#X text 544 339 octave;
#X floatatom 454 409 5 0 0 0 - - - 0;
#X text 494 409 chromatic note;
#X text 502 422 transposition;
#X obj 64 758 s notespread;
#N canvas 858 775 450 300 root 0;
#X obj 60 26 inlet;
#X floatatom 70 96 5 0 0 0 - - - 0;
#X text 107 97 root;
#N canvas 104 104 450 300 transpo 0;
#X obj 49 26 inlet;
#X obj 186 28 inlet;
#X obj 321 29 inlet;
#X obj 48 61 tabread \$0-transp;
#X obj 186 101 t b f;
#X obj 48 171 outlet;
#X floatatom 129 182 5 0 0 0 - - - 0;
#X obj 48 150 expr if($f1<$f2 \, $f1+12+(12*$f3) \, $f1 + (12*$f3))
;
#X connect 0 0 3 0;
#X connect 1 0 4 0;
#X connect 2 0 7 2;
#X connect 3 0 7 0;
#X connect 4 0 7 0;
#X connect 4 1 7 1;
#X connect 7 0 5 0;
#X connect 7 0 6 0;
#X restore 60 76 pd transpo;
#X obj 60 264 throw~ sound;
#X obj 60 162 + 36;
#X obj 60 183 mtof;
#X obj 60 47 unpack f f f;
#X msg 60 204 \$1 1;
#X obj 60 225 line~;
#X floatatom 197 99 5 0 0 0 - - - 0;
#N canvas 801 245 1083 844 waves 0;
#X obj 301 82 *~ 2;
#X obj 287 110 -~ 1;
#X obj 222 191 abs~;
#X obj 222 215 *~ -2;
#X obj 222 239 +~ 1;
#X obj 130 253 sin~;
#X obj 130 229 +~ 0.75;
#X obj 301 33 phasor~ 800;
#X obj 313 201 expr~ $v1 > 0.5;
#X obj 313 225 *~ 2;
#X obj 313 249 -~ 1;
#X obj 387 32 pow 2;
#X obj 387 56 * 19.8;
#X obj 387 80 + 0.2;
#X obj 387 8 inlet modulation;
#X obj 508 8 inlet shape;
#X obj 620 243 - 0.5;
#X obj 663 329 - 0.75;
#X obj 576 148 - 0.25;
#X obj 510 111 expr if ($f1<0.25 \, if ($f1>0 \, 1-($f1*4) \, if ($f1>-0.25
\, 1 + ($f1* 4) \, 0)) \, 0);
#X obj 576 170 expr if ($f1<0.25 \, if ($f1>0 \, 1-($f1*4) \, if ($f1>-0.25
\, 1 + ($f1* 4) \, 0)) \, 0);
#X obj 620 265 expr if ($f1<0.25 \, if ($f1>0 \, 1-($f1*4) \, if ($f1>-0.25
\, 1 + ($f1* 4) \, 0)) \, 0);
#X obj 186 384 *~;
#X obj 216 384 *~;
#X obj 246 384 *~;
#X obj 276 384 *~;
#X msg 510 149 \$1 2;
#X obj 510 173 line~;
#X msg 576 208 \$1 2;
#X obj 576 232 line~;
#X msg 620 302 \$1 2;
#X obj 620 326 line~;
#X msg 663 387 \$1 2;
#X obj 663 411 line~;
#X obj 225 455 outlet~;
#X obj 301 9 inlet~;
#X obj 301 57 pow~;
#X msg 387 101 \$1 2;
#X obj 387 122 line~;
#X obj 663 351 expr if ($f1<0.25 \, if ($f1>0 \, 1 \, if ($f1>-0.25
\, 1 + ($f1* 4) \, 0)) \, 1);
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 0 25 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 23 0;
#X connect 5 0 22 0;
#X connect 6 0 5 0;
#X connect 7 0 36 0;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 10 0 24 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 37 0;
#X connect 14 0 11 0;
#X connect 15 0 19 0;
#X connect 15 0 17 0;
#X connect 15 0 16 0;
#X connect 15 0 18 0;
#X connect 16 0 21 0;
#X connect 17 0 39 0;
#X connect 18 0 20 0;
#X connect 19 0 26 0;
#X connect 20 0 28 0;
#X connect 21 0 30 0;
#X connect 22 0 34 0;
#X connect 23 0 34 0;
#X connect 24 0 34 0;
#X connect 25 0 34 0;
#X connect 26 0 27 0;
#X connect 27 0 22 1;
#X connect 28 0 29 0;
#X connect 29 0 23 1;
#X connect 30 0 31 0;
#X connect 31 0 24 1;
#X connect 32 0 33 0;
#X connect 33 0 25 1;
#X connect 35 0 7 0;
#X connect 36 0 0 0;
#X connect 36 0 8 0;
#X connect 36 0 6 0;
#X connect 37 0 38 0;
#X connect 38 0 36 1;
#X connect 39 0 32 0;
#X restore 60 245 pd waves;
#X obj 108 180 r window-s;
#X obj 131 200 r blend-s;
#X obj 236 197 env~;
#X floatatom 236 218 5 0 0 0 - - - 0;
#X floatatom 168 234 5 0 0 0 - - - 0;
#X floatatom 132 240 5 0 0 0 - - - 0;
#X connect 0 0 7 0;
#X connect 3 0 1 0;
#X connect 3 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 8 0;
#X connect 7 0 3 0;
#X connect 7 0 10 0;
#X connect 7 1 3 1;
#X connect 7 2 3 2;
#X connect 8 0 9 0;
#X connect 9 0 11 0;
#X connect 11 0 4 0;
#X connect 11 0 14 0;
#X connect 12 0 11 1;
#X connect 12 0 17 0;
#X connect 13 0 11 2;
#X connect 13 0 16 0;
#X connect 14 0 15 0;
#X restore 496 567 pd root;
#N canvas 1071 283 618 439 third 0;
#X obj 60 26 inlet;
#N canvas 0 50 450 300 transpo 0;
#X obj 49 26 inlet;
#X obj 186 28 inlet;
#X obj 321 29 inlet;
#X obj 48 61 tabread \$0-transp;
#X obj 186 101 t b f;
#X obj 48 171 outlet;
#X floatatom 129 182 5 0 0 0 - - - 0;
#X obj 48 150 expr if($f1<$f2 \, $f1+12+(12*$f3) \, $f1 + (12*$f3))
;
#X connect 0 0 3 0;
#X connect 1 0 4 0;
#X connect 2 0 7 2;
#X connect 3 0 7 0;
#X connect 4 0 7 0;
#X connect 4 1 7 1;
#X connect 7 0 5 0;
#X connect 7 0 6 0;
#X restore 60 116 pd transpo;
#X obj 60 324 throw~ sound;
#X obj 60 47 unpack f f f;
#X obj 60 90 mod 7;
#X obj 242 89 r numnotes;
#X obj 242 110 > 1;
#X obj 60 304 *~;
#X msg 242 131 \$1 2;
#X obj 242 152 line~;
#X floatatom 112 144 5 0 0 0 - - - 0;
#X obj 60 69 + 2;
#X obj 160 28 r notespread;
#X obj 160 49 t b f;
#X obj 187 68 * 12;
#X obj 187 89 + 36;
#X obj 60 172 + 36;
#X obj 60 193 mtof;
#X msg 60 214 \$1 1;
#X obj 60 235 line~;
#N canvas 156 156 1083 844 waves 0;
#X obj 301 82 *~ 2;
#X obj 301 106 -~ 1;
#X obj 222 191 abs~;
#X obj 222 215 *~ -2;
#X obj 222 239 +~ 1;
#X obj 130 253 sin~;
#X obj 130 229 +~ 0.75;
#X obj 301 33 phasor~ 800;
#X obj 313 201 expr~ $v1 > 0.5;
#X obj 313 225 *~ 2;
#X obj 313 249 -~ 1;
#X obj 387 32 pow 2;
#X obj 387 56 * 19.8;
#X obj 387 80 + 0.2;
#X obj 387 8 inlet modulation;
#X obj 508 8 inlet shape;
#X obj 620 243 - 0.5;
#X obj 663 329 - 0.75;
#X obj 576 148 - 0.25;
#X obj 510 111 expr if ($f1<0.25 \, if ($f1>0 \, 1-($f1*4) \, if ($f1>-0.25
\, 1 + ($f1* 4) \, 0)) \, 0);
#X obj 576 170 expr if ($f1<0.25 \, if ($f1>0 \, 1-($f1*4) \, if ($f1>-0.25
\, 1 + ($f1* 4) \, 0)) \, 0);
#X obj 620 265 expr if ($f1<0.25 \, if ($f1>0 \, 1-($f1*4) \, if ($f1>-0.25
\, 1 + ($f1* 4) \, 0)) \, 0);
#X obj 186 384 *~;
#X obj 216 384 *~;
#X obj 246 384 *~;
#X obj 276 384 *~;
#X msg 510 149 \$1 2;
#X obj 510 173 line~;
#X msg 576 208 \$1 2;
#X obj 576 232 line~;
#X msg 620 302 \$1 2;
#X obj 620 326 line~;
#X msg 663 387 \$1 2;
#X obj 663 411 line~;
#X obj 225 455 outlet~;
#X obj 301 9 inlet~;
#X obj 301 57 pow~;
#X msg 387 101 \$1 2;
#X obj 387 122 line~;
#X obj 663 351 expr if ($f1<0.25 \, if ($f1>0 \, 1 \, if ($f1>-0.25
\, 1 + ($f1* 4) \, 0)) \, 1);
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 0 25 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 23 0;
#X connect 5 0 22 0;
#X connect 6 0 5 0;
#X connect 7 0 36 0;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 10 0 24 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 37 0;
#X connect 14 0 11 0;
#X connect 15 0 19 0;
#X connect 15 0 17 0;
#X connect 15 0 16 0;
#X connect 15 0 18 0;
#X connect 16 0 21 0;
#X connect 17 0 39 0;
#X connect 18 0 20 0;
#X connect 19 0 26 0;
#X connect 20 0 28 0;
#X connect 21 0 30 0;
#X connect 22 0 34 0;
#X connect 23 0 34 0;
#X connect 24 0 34 0;
#X connect 25 0 34 0;
#X connect 26 0 27 0;
#X connect 27 0 22 1;
#X connect 28 0 29 0;
#X connect 29 0 23 1;
#X connect 30 0 31 0;
#X connect 31 0 24 1;
#X connect 32 0 33 0;
#X connect 33 0 25 1;
#X connect 35 0 7 0;
#X connect 36 0 0 0;
#X connect 36 0 8 0;
#X connect 36 0 6 0;
#X connect 37 0 38 0;
#X connect 38 0 36 1;
#X connect 39 0 32 0;
#X restore 60 255 pd waves;
#X obj 108 190 r window-s;
#X obj 131 210 r blend-s;
#X connect 0 0 3 0;
#X connect 1 0 10 0;
#X connect 1 0 16 0;
#X connect 3 0 11 0;
#X connect 3 1 1 1;
#X connect 3 2 1 2;
#X connect 4 0 1 0;
#X connect 5 0 6 0;
#X connect 6 0 8 0;
#X connect 7 0 2 0;
#X connect 8 0 9 0;
#X connect 9 0 7 1;
#X connect 11 0 4 0;
#X connect 12 0 13 0;
#X connect 13 0 16 0;
#X connect 13 1 14 0;
#X connect 14 0 15 0;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 18 0 19 0;
#X connect 19 0 20 0;
#X connect 20 0 7 0;
#X connect 21 0 20 1;
#X connect 22 0 20 2;
#X restore 476 589 pd third;
#N canvas 1034 166 471 454 fifth 0;
#X obj 60 6 inlet;
#N canvas 0 50 450 300 transpo 0;
#X obj 49 26 inlet;
#X obj 186 28 inlet;
#X obj 321 29 inlet;
#X obj 48 61 tabread \$0-transp;
#X obj 186 101 t b f;
#X obj 48 171 outlet;
#X floatatom 129 182 5 0 0 0 - - - 0;
#X obj 48 150 expr if($f1<$f2 \, $f1+12+(12*$f3) \, $f1 + (12*$f3))
;
#X connect 0 0 3 0;
#X connect 1 0 4 0;
#X connect 2 0 7 2;
#X connect 3 0 7 0;
#X connect 4 0 7 0;
#X connect 4 1 7 1;
#X connect 7 0 5 0;
#X connect 7 0 6 0;
#X restore 60 116 pd transpo;
#X obj 60 334 throw~ sound;
#X obj 60 162 + 36;
#X obj 60 27 unpack f f f;
#X obj 60 90 mod 7;
#X obj 60 69 + 4;
#X obj 254 28 r jazz;
#X obj 272 109 r numnotes;
#X obj 60 314 *~;
#X msg 272 151 \$1 2;
#X obj 272 172 line~;
#X obj 272 130 > 2;
#X floatatom 85 142 5 0 0 0 - - - 0;
#X obj 153 75 sel 4;
#X msg 179 93 36;
#X obj 153 118 f;
#X obj 153 139 + 36;
#X obj 60 48 t f f;
#X obj 60 193 mtof;
#X msg 60 214 \$1 1;
#X obj 60 235 line~;
#N canvas 156 156 1083 844 waves 0;
#X obj 301 82 *~ 2;
#X obj 301 106 -~ 1;
#X obj 222 191 abs~;
#X obj 222 215 *~ -2;
#X obj 222 239 +~ 1;
#X obj 130 253 sin~;
#X obj 130 229 +~ 0.75;
#X obj 301 33 phasor~ 800;
#X obj 313 201 expr~ $v1 > 0.5;
#X obj 313 225 *~ 2;
#X obj 313 249 -~ 1;
#X obj 387 32 pow 2;
#X obj 387 56 * 19.8;
#X obj 387 80 + 0.2;
#X obj 387 8 inlet modulation;
#X obj 508 8 inlet shape;
#X obj 620 243 - 0.5;
#X obj 663 329 - 0.75;
#X obj 576 148 - 0.25;
#X obj 510 111 expr if ($f1<0.25 \, if ($f1>0 \, 1-($f1*4) \, if ($f1>-0.25
\, 1 + ($f1* 4) \, 0)) \, 0);
#X obj 576 170 expr if ($f1<0.25 \, if ($f1>0 \, 1-($f1*4) \, if ($f1>-0.25
\, 1 + ($f1* 4) \, 0)) \, 0);
#X obj 620 265 expr if ($f1<0.25 \, if ($f1>0 \, 1-($f1*4) \, if ($f1>-0.25
\, 1 + ($f1* 4) \, 0)) \, 0);
#X obj 186 384 *~;
#X obj 216 384 *~;
#X obj 246 384 *~;
#X obj 276 384 *~;
#X msg 510 149 \$1 2;
#X obj 510 173 line~;
#X msg 576 208 \$1 2;
#X obj 576 232 line~;
#X msg 620 302 \$1 2;
#X obj 620 326 line~;
#X msg 663 387 \$1 2;
#X obj 663 411 line~;
#X obj 225 455 outlet~;
#X obj 301 9 inlet~;
#X obj 301 57 pow~;
#X msg 387 101 \$1 2;
#X obj 387 122 line~;
#X obj 663 351 expr if ($f1<0.25 \, if ($f1>0 \, 1 \, if ($f1>-0.25
\, 1 + ($f1* 4) \, 0)) \, 1);
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 0 25 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 23 0;
#X connect 5 0 22 0;
#X connect 6 0 5 0;
#X connect 7 0 36 0;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 10 0 24 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 37 0;
#X connect 14 0 11 0;
#X connect 15 0 19 0;
#X connect 15 0 17 0;
#X connect 15 0 16 0;
#X connect 15 0 18 0;
#X connect 16 0 21 0;
#X connect 17 0 39 0;
#X connect 18 0 20 0;
#X connect 19 0 26 0;
#X connect 20 0 28 0;
#X connect 21 0 30 0;
#X connect 22 0 34 0;
#X connect 23 0 34 0;
#X connect 24 0 34 0;
#X connect 25 0 34 0;
#X connect 26 0 27 0;
#X connect 27 0 22 1;
#X connect 28 0 29 0;
#X connect 29 0 23 1;
#X connect 30 0 31 0;
#X connect 31 0 24 1;
#X connect 32 0 33 0;
#X connect 33 0 25 1;
#X connect 35 0 7 0;
#X connect 36 0 0 0;
#X connect 36 0 8 0;
#X connect 36 0 6 0;
#X connect 37 0 38 0;
#X connect 38 0 36 1;
#X connect 39 0 32 0;
#X restore 60 255 pd waves;
#X obj 108 190 r window-s;
#X obj 131 210 r blend-s;
#X connect 0 0 4 0;
#X connect 1 0 3 0;
#X connect 1 0 13 0;
#X connect 3 0 19 0;
#X connect 4 0 18 0;
#X connect 4 1 1 1;
#X connect 4 2 1 2;
#X connect 5 0 1 0;
#X connect 6 0 5 0;
#X connect 7 0 16 1;
#X connect 8 0 12 0;
#X connect 9 0 2 0;
#X connect 10 0 11 0;
#X connect 11 0 9 1;
#X connect 12 0 10 0;
#X connect 14 0 16 0;
#X connect 14 1 15 0;
#X connect 15 0 3 1;
#X connect 16 0 17 0;
#X connect 17 0 3 1;
#X connect 18 0 6 0;
#X connect 18 1 14 0;
#X connect 19 0 20 0;
#X connect 20 0 21 0;
#X connect 21 0 22 0;
#X connect 22 0 9 0;
#X connect 23 0 22 1;
#X connect 24 0 22 2;
#X restore 498 610 pd fifth;
#N canvas 774 451 450 369 seventh 0;
#X obj 60 26 inlet;
#N canvas 0 50 450 300 transpo 0;
#X obj 49 26 inlet;
#X obj 186 28 inlet;
#X obj 321 29 inlet;
#X obj 48 61 tabread \$0-transp;
#X obj 186 101 t b f;
#X obj 48 171 outlet;
#X floatatom 129 182 5 0 0 0 - - - 0;
#X obj 48 150 expr if($f1<$f2 \, $f1+12+(12*$f3) \, $f1 + (12*$f3))
;
#X connect 0 0 3 0;