view pd patch/targetSynth7.pd @ 52:89944ab3e129 tip

fix oF linker errors ios8
author Robert Tubb <rt300@eecs.qmul.ac.uk>
date Tue, 03 Feb 2015 13:18:23 +0000
parents a223551fdc1f
children
line wrap: on
line source
#N canvas 406 189 1013 774 10;
#X obj 109 189 dac~;
#X obj 100 162 +~;
#X obj 133 163 +~;
#X text 180 159 to do swap between with short fade to prevent reverb
mixing up;
#X text 278 110 to do: remove sine osc or make it FM and do something
clever;
#X obj 136 -68 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 313 -71 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 206 -267 r fromOF;
#X obj 200 -237 route list;
#X obj 153 -128 route candidateSynth;
#X obj 286 -128 route targetSynth;
#N canvas 0 22 450 300 alternator 0;
#X obj 126 64 inlet;
#X obj 65 234 outlet;
#X obj 245 232 outlet;
#X text 39 23 sends bangs to alternate outlets at certain interval
;
#X obj 126 119 metro 1000;
#X obj 181 64 inlet;
#X text 121 46 on off;
#X obj 181 91 * 2;
#X obj 244 188 delay 500;
#X connect 0 0 4 0;
#X connect 4 0 1 0;
#X connect 4 0 8 0;
#X connect 5 0 7 0;
#X connect 5 0 8 1;
#X connect 7 0 4 1;
#X connect 8 0 2 0;
#X restore 449 -111 pd alternator;
#X obj 448 -148 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
1 1;
#X obj 523 -157 loadbang;
#X obj 523 -133 int 500;
#X obj 446 -182 route startAlternator;
#X obj 467 -232 loadbang;
#X obj 288 -99 route playSound;
#X obj 141 -93 route playSound;
#X obj 468 -207 int 0;
#N canvas 830 119 910 816 candidateSynth 0;
#X obj 83 467 outlet~;
#X obj 143 466 outlet~;
#X obj 659 -257 inlet;
#X obj 181 -294 inlet;
#X obj 96 296 *~;
#X obj 73 375 clip~ -1 1;
#X obj 664 -65 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 80 56 / 127;
#X obj 119 57 / 127;
#X text 81 -112 attack;
#X text 124 -112 decay;
#X text -53 -112 pitch;
#X text -7 -114 duration;
#X obj 258 49 / 127;
#X text 299 -115 ftype;
#X text 342 -115 ffreq;
#X text 464 -117 reson;
#X text 562 -111 reverb;
#X obj 92 335 *~ 0.1;
#X text 35 -102 wavef;
#X text 655 -95 trigger;
#X obj -38 -168 route pitch;
#X obj 44 -169 route waveform;
#X obj 138 -169 route attack;
#X obj 221 -171 route decay;
#X obj 301 -170 route fType;
#X obj 378 -167 route fFreq;
#X obj 459 -169 route reson;
#X obj 547 -172 route reverb;
#N canvas 42 77 1074 773 filterT 0;
#X obj 44 22 inlet~;
#X obj 165 84 route filtFreq;
#X obj 855 112 route reson;
#X obj 99 639 outlet~;
#X obj 169 306 mtof~;
#X obj 167 43 route list;
#X obj 165 11 r fromOF;
#X obj 316 19 inlet~;
#X text 362 19 envelope;
#X obj 171 189 sig~;
#X obj 174 250 +~;
#X obj 662 265 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
-1 -1 0 1;
#X text 565 230 filetr freq;
#X text 645 226 resonance;
#X floatatom 822 416 5 0 0 0 - - -;
#X msg 363 391 \$1 100;
#X obj 363 415 line~;
#X obj 407 303 hsl 128 15 0 1 0 1 empty empty empty -2 -8 0 10 -262144
-1 -1 5600 1;
#X text 284 273 Mode: 0 = lowpass \, 0.5 = resonant bandpass \, 1 =
highpass;
#X floatatom 403 356 5 0 0 0 - - -;
#X obj 820 472 + 100;
#X obj 820 496 dbtorms;
#X floatatom 820 525 5 0 0 0 - - -;
#X obj 820 443 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
-262144 -1 -1 3 256;
#X obj 364 149 route fType;
#X obj 820 356 / 5;
#X obj 98 558 multimode_libpd.mmb~;
#X obj 99 598 biquad_libpd.mmb~;
#X floatatom 659 420 5 0 0 0 - - -;
#X obj 167 280 clip~ 20 128;
#X obj 169 220 lop~ 50;
#X obj 169 122 * 0.6;
#X obj 172 158 + 30;
#X obj 238 221 *~ 110;
#X obj 882 28 r fromOF;
#X obj 815 553 lop~ 50;
#X obj 881 57 route list;
#X obj 891 81 route smoothing;
#X text 38 2 audio in;
#X text 478 17 ftype;
#X text 590 17 ffreq;
#X obj 544 17 inlet;
#X obj 432 17 inlet;
#X obj 646 17 inlet;
#X text 692 17 reson;
#X floatatom 195 386 5 0 0 0 - - -;
#X obj 820 389 + 3;
#X connect 0 0 27 0;
#X connect 1 0 31 0;
#X connect 2 0 25 0;
#X connect 4 0 26 0;
#X connect 5 0 1 0;
#X connect 5 0 2 0;
#X connect 5 0 24 0;
#X connect 6 0 5 0;
#X connect 7 0 33 0;
#X connect 9 0 30 0;
#X connect 10 0 29 0;
#X connect 11 0 25 0;
#X connect 11 0 28 0;
#X connect 14 0 23 0;
#X connect 15 0 16 0;
#X connect 16 0 26 2;
#X connect 17 0 19 0;
#X connect 17 0 15 0;
#X connect 20 0 21 0;
#X connect 21 0 22 0;
#X connect 22 0 35 0;
#X connect 23 0 20 0;
#X connect 24 0 15 0;
#X connect 25 0 46 0;
#X connect 26 0 27 1;
#X connect 26 1 27 2;
#X connect 26 2 27 3;
#X connect 26 3 27 4;
#X connect 26 4 27 5;
#X connect 27 0 3 0;
#X connect 29 0 4 0;
#X connect 30 0 10 0;
#X connect 31 0 32 0;
#X connect 32 0 9 0;
#X connect 33 0 10 1;
#X connect 34 0 36 0;
#X connect 35 0 26 1;
#X connect 36 0 37 0;
#X connect 37 0 35 1;
#X connect 37 0 30 1;
#X connect 41 0 31 0;
#X connect 42 0 15 0;
#X connect 43 0 25 0;
#X connect 46 0 14 0;
#X restore 77 250 pd filterT;
#X obj 92 -86 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
-1 -1 0 1;
#X obj 120 -86 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
-1 -1 1400 1;
#X obj 268 -93 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
-1 -1 0 1;
#X obj 346 -83 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
-1 -1 7600 1;
#X obj 457 -94 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
-1 -1 0 1;
#X obj 565 -75 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
-1 -1 0 1;
#N canvas 76 137 871 723 oscillatorC 0;
#X obj 83 269 phasor~;
#X obj 430 -51 inlet;
#X text 73 522 audio out;
#X obj 79 501 outlet~;
#X obj 402 171 mtof;
#X text 292 -112 "pWidth" \, "sqVol" \, "sawVol" \, "sineVol" \, "FMAmt"
;
#X obj 321 233 +~;
#X obj 402 193 sig~;
#X floatatom 564 131 5 0 0 0 - - -;
#X text 627 93 fm rfeq;
#X obj 353 113 loadbang;
#X obj 262 398 osc~ 220;
#X text 29 390 subtract out of phase one;
#X obj 84 377 -~;
#X obj 151 327 wrap~;
#X obj 150 302 +~ 0.5;
#X obj 83 437 -~ 0.5;
#X obj 568 186 *~ 0;
#X obj 562 156 osc~;
#X obj 561 105 mtof;
#X obj 731 -83 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
-1 -1 0 1;
#X obj 723 64 / 127;
#X obj 548 29 * 100;
#X obj 765 -85 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
-1 -1 0 1;
#X obj 764 62 / 127;
#X obj 152 354 *~ 0;
#X obj 263 429 *~ 1;
#X obj 616 129 * 3500;
#X obj 559 81 +;
#X obj 560 54 - 40;
#X text 408 -73 pitch freq;
#X obj 552 1 route FMFreq FMAmt;
#X obj 564 218 lop~ 20;
#X obj 680 172 r fromOF;
#X obj 679 201 route list;
#X obj 677 226 route smoothing;
#X obj 84 346 *~ 1;
#X obj 66 124 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 0 1;
#X obj 16 122 inlet;
#X text 52 93 waveform;
#X floatatom 42 198 5 0 0 0 - - -;
#X floatatom 93 201 5 0 0 0 - - -;
#X floatatom 141 205 5 0 0 0 - - -;
#X floatatom 190 203 5 0 0 0 - - -;
#X obj 29 -16 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 101 -16 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 170 -14 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 31 19 float 10;
#X obj 103 19 float 64;
#X obj 173 21 float 120;
#X text 192 219 sineVol;
#X text 30 218 saw vol;
#X text 92 221 sq vol;
#N canvas 71 22 1849 1017 interpolatorWave 0;
#X obj 80 -91 inlet;
#X text 75 -113 slider control;
#X obj 217 74 < 32;
#X obj 202 100 &&;
#X floatatom 211 122 5 0 0 0 - - -;
#X obj 186 74 >= 0;
#X obj 279 99 &&;
#X obj 359 98 &&;
#X obj 444 97 &&;
#X obj 263 73 >= 32;
#X obj 300 73 < 64;
#X obj 339 73 >= 64;
#X obj 380 72 < 96;
#X obj 428 71 >= 96;
#X obj 465 71 < 128;
#X floatatom 273 121 5 0 0 0 - - -;
#X floatatom 354 119 5 0 0 0 - - -;
#X floatatom 438 118 5 0 0 0 - - -;
#X obj 273 148 * 2;
#X obj 355 147 * 3;
#X obj 436 147 * 4;
#X obj 246 205 +;
#X obj 398 200 +;
#X obj 315 246 +;
#X floatatom 105 352 5 0 0 0 - - -;
#X floatatom 181 356 5 0 0 0 - - -;
#X floatatom 246 356 5 0 0 0 - - -;
#X floatatom 316 352 5 0 0 0 - - -;
#X obj -125 824 outlet;
#X obj 116 408 / 32;
#X obj 181 408 / 32;
#X obj 243 410 / 32;
#X obj 316 408 / 32;
#X obj 177 381 - 32;
#X obj 245 382 - 64;
#X obj 317 378 - 96;
#X text 544 477 calc frac;
#X obj 35 498 -;
#X obj 35 479 float 1;
#X obj 159 626 loadbang;
#X obj -134 764 + 0;
#X floatatom 85 526 5 0 0 0 - - -;
#X floatatom 36 527 5 0 0 0 - - -;
#X obj -150 736 * 0.1;
#X obj -113 736 * 0.15;
#X obj -42 760 + 0;
#X obj -58 732 * 0.1;
#X obj -21 732 * 0.15;
#X obj 45 761 + 0;
#X obj 138 762 + 0;
#X obj 153 506 -;
#X obj 153 487 float 1;
#X floatatom 200 526 5 0 0 0 - - -;
#X floatatom 154 528 5 0 0 0 - - -;
#X obj 286 502 -;
#X obj 286 483 float 1;
#X floatatom 335 526 5 0 0 0 - - -;
#X floatatom 287 524 5 0 0 0 - - -;
#X text 6 678 insert values at points here;
#X obj 416 505 -;
#X obj 416 486 float 1;
#X floatatom 467 526 5 0 0 0 - - -;
#X floatatom 417 527 5 0 0 0 - - -;
#X obj 29 733 * 30;
#X obj 66 733 * 60;
#X obj 119 733 * 60;
#X obj 159 734 * 90;
#X obj -543 849 outlet;
#X obj -557 676 loadbang;
#X obj -552 789 + 0;
#X obj -568 761 * 0.1;
#X obj -531 761 * 0.15;
#X obj -460 785 + 0;
#X obj -476 757 * 0.1;
#X obj -439 757 * 0.15;
#X obj -373 786 + 0;
#X obj -280 787 + 0;
#X text -630 702 insert values at points here;
#X obj -389 758 * 30;
#X obj -352 758 * 60;
#X obj -299 758 * 60;
#X obj -259 759 * 90;
#X text -541 827 comment;
#X obj -543 728 float 0;
#X obj -262 725 float 1;
#X text -595 848 saw vol;
#X text -207 825 pulse volume;
#X obj -470 726 float 0;
#X obj -402 728 float 1;
#X obj -330 726 float 1;
#X obj -125 703 float 0;
#X obj -52 701 float 0;
#X obj 16 703 float 0;
#X obj 88 701 float 1;
#X obj 157 701 float 1;
#X obj 264 818 outlet;
#X obj 548 620 loadbang;
#X obj 255 758 + 0;
#X obj 239 730 * 0.1;
#X obj 276 730 * 0.15;
#X obj 347 754 + 0;
#X obj 331 726 * 0.1;
#X obj 368 726 * 0.15;
#X obj 434 755 + 0;
#X obj 527 756 + 0;
#X text 373 667 insert values at points here;
#X obj 418 727 * 30;
#X obj 455 727 * 60;
#X obj 508 727 * 60;
#X obj 548 728 * 90;
#X text 182 819 pulse width;
#X obj 677 819 outlet;
#X obj 961 621 loadbang;
#X obj 668 759 + 0;
#X obj 652 731 * 0.1;
#X obj 689 731 * 0.15;
#X obj 760 755 + 0;
#X obj 744 727 * 0.1;
#X obj 781 727 * 0.15;
#X obj 847 756 + 0;
#X obj 940 757 + 0;
#X text 682 664 insert values at points here;
#X obj 831 728 * 30;
#X obj 868 728 * 60;
#X obj 921 728 * 60;
#X obj 961 729 * 90;
#X obj 397 174 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 315 224 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 246 175 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 255 28 t f f f f f f f f;
#X obj 117 -57 t f f;
#X obj 415 462 t b f f;
#X obj 283 458 t b f f;
#X obj 155 463 t b f f;
#X obj 36 452 t b f f;
#X text 266 796 comment;
#X text -124 801 comment;
#X obj 959 696 float 0;
#X text 595 820 sine volume;
#X obj 677 698 float 1;
#X obj 750 696 float 1;
#X obj 818 698 float 0;
#X obj 891 696 float 0;
#X obj 477 695 float 0.5;
#X obj 405 697 float 0.5;
#X obj 337 695 float 0.5;
#X obj 264 697 float 0.5;
#X obj 166 308 route 1 2 3 4;
#X obj 164 281 pack;
#X obj 546 695 float 0.01;
#X obj 1061 811 outlet;
#X obj 1345 613 loadbang;
#X obj 1052 751 + 0;
#X obj 1036 723 * 0.1;
#X obj 1073 723 * 0.15;
#X obj 1144 747 + 0;
#X obj 1124 720 * 0.1;
#X obj 1165 719 * 0.15;
#X obj 1231 748 + 0;
#X obj 1324 749 + 0;
#X text 1066 656 insert values at points here;
#X obj 1215 720 * 30;
#X obj 1252 720 * 60;
#X obj 1305 720 * 60;
#X obj 1345 721 * 90;
#X obj 1343 688 float 0;
#X obj 1275 688 float 0;
#X text 979 812 FM Freq;
#X obj 1492 672 outlet;
#X obj 1776 474 loadbang;
#X obj 1483 612 + 0;
#X obj 1467 584 * 0.1;
#X obj 1504 584 * 0.15;
#X obj 1575 608 + 0;
#X obj 1555 581 * 0.1;
#X obj 1596 580 * 0.15;
#X obj 1662 609 + 0;
#X obj 1755 610 + 0;
#X text 1497 517 insert values at points here;
#X obj 1646 581 * 30;
#X obj 1683 581 * 60;
#X obj 1736 581 * 60;
#X obj 1776 582 * 90;
#X obj 1774 549 float 0;
#X obj 1492 551 float 1;
#X obj 1633 551 float 0;
#X obj 1706 549 float 0;
#X text 1436 674 FM Amt;
#X obj 1565 549 float 0.01;
#X obj 1134 688 float 0.7;
#X obj 1202 690 float 0.6;
#X obj 1061 690 float 1;
#X connect 0 0 130 0;
#X connect 2 0 3 1;
#X connect 3 0 4 0;
#X connect 4 0 21 0;
#X connect 5 0 3 0;
#X connect 6 0 15 0;
#X connect 7 0 16 0;
#X connect 8 0 17 0;
#X connect 9 0 6 0;
#X connect 10 0 6 1;
#X connect 11 0 7 0;
#X connect 12 0 7 1;
#X connect 13 0 8 0;
#X connect 14 0 8 1;
#X connect 15 0 18 0;
#X connect 16 0 19 0;
#X connect 17 0 20 0;
#X connect 18 0 21 1;
#X connect 18 0 128 0;
#X connect 19 0 22 0;
#X connect 20 0 22 1;
#X connect 20 0 126 0;
#X connect 21 0 23 0;
#X connect 22 0 23 1;
#X connect 22 0 127 0;
#X connect 23 0 148 0;
#X connect 24 0 29 0;
#X connect 25 0 33 0;
#X connect 26 0 34 0;
#X connect 27 0 35 0;
#X connect 29 0 134 0;
#X connect 30 0 133 0;
#X connect 31 0 132 0;
#X connect 32 0 131 0;
#X connect 33 0 30 0;
#X connect 34 0 31 0;
#X connect 35 0 32 0;
#X connect 37 0 42 0;
#X connect 38 0 37 0;
#X connect 39 0 90 0;
#X connect 39 0 91 0;
#X connect 39 0 92 0;
#X connect 39 0 93 0;
#X connect 39 0 94 0;
#X connect 40 0 28 0;
#X connect 41 0 44 0;
#X connect 41 0 71 0;
#X connect 41 0 99 0;
#X connect 41 0 115 0;
#X connect 41 0 154 0;
#X connect 41 0 172 0;
#X connect 42 0 43 0;
#X connect 42 0 70 0;
#X connect 42 0 98 0;
#X connect 42 0 114 0;
#X connect 42 0 153 0;
#X connect 42 0 171 0;
#X connect 43 0 40 0;
#X connect 44 0 40 1;
#X connect 45 0 28 0;
#X connect 46 0 45 0;
#X connect 47 0 45 1;
#X connect 48 0 28 0;
#X connect 49 0 28 0;
#X connect 50 0 53 0;
#X connect 51 0 50 0;
#X connect 52 0 47 0;
#X connect 52 0 74 0;
#X connect 52 0 102 0;
#X connect 52 0 118 0;
#X connect 52 0 157 0;
#X connect 52 0 175 0;
#X connect 53 0 46 0;
#X connect 53 0 73 0;
#X connect 53 0 101 0;
#X connect 53 0 117 0;
#X connect 53 0 156 0;
#X connect 53 0 174 0;
#X connect 54 0 57 0;
#X connect 55 0 54 0;
#X connect 56 0 64 0;
#X connect 56 0 79 0;
#X connect 56 0 107 0;
#X connect 56 0 123 0;
#X connect 56 0 162 0;
#X connect 56 0 180 0;
#X connect 57 0 63 0;
#X connect 57 0 78 0;
#X connect 57 0 106 0;
#X connect 57 0 122 0;
#X connect 57 0 161 0;
#X connect 57 0 179 0;
#X connect 59 0 62 0;
#X connect 60 0 59 0;
#X connect 61 0 66 0;
#X connect 61 0 81 0;
#X connect 61 0 109 0;
#X connect 61 0 125 0;
#X connect 61 0 164 0;
#X connect 61 0 182 0;
#X connect 62 0 65 0;
#X connect 62 0 80 0;
#X connect 62 0 108 0;
#X connect 62 0 124 0;
#X connect 62 0 163 0;
#X connect 62 0 181 0;
#X connect 63 0 48 0;
#X connect 64 0 48 1;
#X connect 65 0 49 0;
#X connect 66 0 49 1;
#X connect 68 0 83 0;
#X connect 68 0 84 0;
#X connect 68 0 87 0;
#X connect 68 0 88 0;
#X connect 68 0 89 0;
#X connect 69 0 67 0;
#X connect 70 0 69 0;
#X connect 71 0 69 1;
#X connect 72 0 67 0;
#X connect 73 0 72 0;
#X connect 74 0 72 1;
#X connect 75 0 67 0;
#X connect 76 0 67 0;
#X connect 78 0 75 0;
#X connect 79 0 75 1;
#X connect 80 0 76 0;
#X connect 81 0 76 1;
#X connect 83 0 70 1;
#X connect 84 0 81 1;
#X connect 87 0 71 1;
#X connect 87 0 73 1;
#X connect 88 0 74 1;
#X connect 88 0 78 1;
#X connect 89 0 79 1;
#X connect 89 0 80 1;
#X connect 90 0 43 1;
#X connect 91 0 44 1;
#X connect 91 0 46 1;
#X connect 92 0 47 1;
#X connect 92 0 63 1;
#X connect 93 0 64 1;
#X connect 93 0 65 1;
#X connect 94 0 66 1;
#X connect 96 0 143 0;
#X connect 96 0 144 0;
#X connect 96 0 145 0;
#X connect 96 0 146 0;
#X connect 96 0 149 0;
#X connect 97 0 95 0;
#X connect 98 0 97 0;
#X connect 99 0 97 1;
#X connect 100 0 95 0;
#X connect 101 0 100 0;
#X connect 102 0 100 1;
#X connect 103 0 95 0;
#X connect 104 0 95 0;
#X connect 106 0 103 0;
#X connect 107 0 103 1;
#X connect 108 0 104 0;
#X connect 109 0 104 1;
#X connect 112 0 137 0;
#X connect 112 0 139 0;
#X connect 112 0 140 0;
#X connect 112 0 141 0;
#X connect 112 0 142 0;
#X connect 113 0 111 0;
#X connect 114 0 113 0;
#X connect 115 0 113 1;
#X connect 116 0 111 0;
#X connect 117 0 116 0;
#X connect 118 0 116 1;
#X connect 119 0 111 0;
#X connect 120 0 111 0;
#X connect 122 0 119 0;
#X connect 123 0 119 1;
#X connect 124 0 120 0;
#X connect 125 0 120 1;
#X connect 126 0 22 0;
#X connect 127 0 23 0;
#X connect 128 0 21 0;
#X connect 129 0 5 0;
#X connect 129 1 2 0;
#X connect 129 2 9 0;
#X connect 129 3 10 0;
#X connect 129 4 11 0;
#X connect 129 5 12 0;
#X connect 129 6 13 0;
#X connect 129 7 14 0;
#X connect 130 0 129 0;
#X connect 130 1 148 1;
#X connect 131 0 60 0;
#X connect 131 1 59 1;
#X connect 131 2 61 0;
#X connect 132 0 55 0;
#X connect 132 1 54 1;
#X connect 132 2 56 0;
#X connect 133 0 51 0;
#X connect 133 1 50 1;
#X connect 133 2 52 0;
#X connect 134 0 38 0;
#X connect 134 1 37 1;
#X connect 134 2 41 0;
#X connect 137 0 125 1;
#X connect 139 0 114 1;
#X connect 140 0 115 1;
#X connect 140 0 117 1;
#X connect 141 0 118 1;
#X connect 141 0 122 1;
#X connect 142 0 123 1;
#X connect 142 0 124 1;
#X connect 143 0 107 1;
#X connect 143 0 108 1;
#X connect 144 0 102 1;
#X connect 144 0 106 1;
#X connect 145 0 99 1;
#X connect 145 0 101 1;
#X connect 146 0 98 1;
#X connect 147 0 24 0;
#X connect 147 1 25 0;
#X connect 147 2 26 0;
#X connect 147 3 27 0;
#X connect 148 0 147 0;
#X connect 149 0 109 1;
#X connect 151 0 165 0;
#X connect 151 0 166 0;
#X connect 151 0 189 0;
#X connect 151 0 190 0;
#X connect 151 0 191 0;
#X connect 152 0 150 0;
#X connect 153 0 152 0;
#X connect 154 0 152 1;
#X connect 155 0 150 0;
#X connect 156 0 155 0;
#X connect 157 0 155 1;
#X connect 158 0 150 0;
#X connect 159 0 150 0;
#X connect 161 0 158 0;
#X connect 162 0 158 1;
#X connect 163 0 159 0;
#X connect 164 0 159 1;
#X connect 165 0 164 1;
#X connect 166 0 162 1;
#X connect 166 0 163 1;
#X connect 169 0 183 0;
#X connect 169 0 184 0;
#X connect 169 0 185 0;
#X connect 169 0 186 0;
#X connect 169 0 188 0;
#X connect 170 0 168 0;
#X connect 171 0 170 0;
#X connect 172 0 170 1;
#X connect 173 0 168 0;
#X connect 174 0 173 0;
#X connect 175 0 173 1;
#X connect 176 0 168 0;
#X connect 177 0 168 0;
#X connect 179 0 176 0;
#X connect 180 0 176 1;
#X connect 181 0 177 0;
#X connect 182 0 177 1;
#X connect 183 0 182 1;
#X connect 184 0 171 1;
#X connect 185 0 175 1;
#X connect 185 0 179 1;
#X connect 186 0 180 1;
#X connect 186 0 181 1;
#X connect 188 0 172 1;
#X connect 188 0 174 1;
#X connect 189 0 154 1;
#X connect 189 0 156 1;
#X connect 190 0 157 1;
#X connect 190 0 161 1;
#X connect 191 0 153 1;
#X restore 44 163 pd interpolatorWave;
#X floatatom 246 201 5 0 0 0 - - -;
#X text 248 217 FMFreq;
#X floatatom 289 199 5 0 0 0 - - -;
#X text 291 215 FMAmt;
#X obj 354 136 int 40;
#X connect 0 0 15 0;
#X connect 0 0 36 0;
#X connect 1 0 4 0;
#X connect 1 0 28 1;
#X connect 4 0 7 0;
#X connect 6 0 11 0;
#X connect 6 0 0 0;
#X connect 7 0 6 0;
#X connect 8 0 18 0;
#X connect 10 0 58 0;
#X connect 11 0 26 0;
#X connect 13 0 16 0;
#X connect 14 0 25 0;
#X connect 15 0 14 0;
#X connect 16 0 3 0;
#X connect 17 0 32 0;
#X connect 18 0 17 0;
#X connect 19 0 8 0;
#X connect 20 0 21 0;
#X connect 21 0 22 0;
#X connect 22 0 29 0;
#X connect 23 0 24 0;
#X connect 24 0 27 0;
#X connect 25 0 13 1;
#X connect 26 0 3 0;
#X connect 27 0 17 1;
#X connect 28 0 19 0;
#X connect 29 0 28 0;
#X connect 31 0 22 0;
#X connect 31 1 27 0;
#X connect 32 0 6 1;
#X connect 33 0 34 0;
#X connect 34 0 35 0;
#X connect 35 0 32 1;
#X connect 36 0 13 0;
#X connect 37 0 53 0;
#X connect 38 0 53 0;
#X connect 40 0 36 1;
#X connect 41 0 25 1;
#X connect 42 0 15 1;
#X connect 43 0 26 1;
#X connect 44 0 47 0;
#X connect 45 0 48 0;
#X connect 46 0 49 0;
#X connect 47 0 37 0;
#X connect 48 0 37 0;
#X connect 49 0 37 0;
#X connect 53 0 40 0;
#X connect 53 1 41 0;
#X connect 53 2 42 0;
#X connect 53 3 43 0;
#X connect 53 4 54 0;
#X connect 53 5 56 0;
#X connect 54 0 22 0;
#X connect 56 0 27 0;
#X connect 58 0 4 0;
#X restore 76 221 pd oscillatorC;
#N canvas 525 162 1052 736 fenvelopeC 0;
#X obj 113 33 inlet;
#X text 162 27 tribber;
#X obj 347 0 inlet;
#X obj 216 137 * 123;
#X obj 306 163 * 123;
#X text 474 63 proportion of level that is allways on;
#X obj 471 317 -;
#X obj 465 262 t b f;
#X floatatom 465 235 5 0 0 0 - - -;
#X obj 308 134 * 6;
#X obj 123 176 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 262 301 delay 100;
#X obj 253 431 line~ 10 10;
#X obj 146 369 pack 1 1;
#X obj 260 395 pack 0 1;
#X obj 469 289 f 1;
#X obj 239 225 + 1;
#X obj 142 341 f 1;
#X obj 253 368 f 0;
#X obj 309 271 + 3;
#X obj 134 680 outlet~;
#X text 82 678 filter;
#X obj 316 461 *~ 1;
#X obj 303 368 f 125;
#X obj 182 339 f 1;
#X obj 330 559 *~ 1;
#X obj 306 191 + 10;
#X obj 404 0 inlet;
#X text 345 -20 attack;
#X text 406 -23 decay;
#X obj 494 5 inlet;
#X text 488 -16 duration;
#X obj 262 330 t b b;
#X obj 121 203 t b b b;
#X connect 0 0 10 0;
#X connect 2 0 3 0;
#X connect 3 0 16 0;
#X connect 4 0 26 0;
#X connect 6 0 22 1;
#X connect 7 0 15 0;
#X connect 7 1 6 1;
#X connect 8 0 7 0;
#X connect 9 0 4 0;
#X connect 10 0 33 0;
#X connect 11 0 32 0;
#X connect 12 0 22 0;
#X connect 13 0 12 0;
#X connect 14 0 12 0;
#X connect 15 0 6 0;
#X connect 16 0 19 0;
#X connect 16 0 24 1;
#X connect 17 0 13 0;
#X connect 18 0 14 0;
#X connect 19 0 11 1;
#X connect 22 0 25 0;
#X connect 23 0 14 1;
#X connect 24 0 13 1;
#X connect 25 0 20 0;
#X connect 26 0 23 1;
#X connect 27 0 9 0;
#X connect 30 0 3 1;
#X connect 30 0 4 1;
#X connect 32 0 18 0;
#X connect 32 1 23 0;
#X connect 33 0 17 0;
#X connect 33 1 24 0;
#X connect 33 2 11 0;
#X restore 167 221 pd fenvelopeC;
#N canvas 867 125 1052 736 aenvelope 0;
#X obj 113 33 inlet;
#X obj 539 46 inlet;
#X obj 216 137 * 123;
#X obj 341 162 * 123;
#X obj 468 202 route sustain;
#X obj 471 317 -;
#X obj 465 262 t b f;
#X floatatom 465 235 5 0 0 0 - - -;
#X obj 343 133 * 6;
#X obj 341 190 + 50;
#X obj 113 186 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 270 303 delay 100;
#X obj 253 431 line~ 10 10;
#X obj 146 369 pack 1 1;
#X obj 271 381 pack 0 1;
#X obj 257 645 clip~ -1 1;
#X obj 312 580 dbtorms~;
#X obj 254 682 outlet~;
#X obj 469 289 f 1;
#X obj 316 520 *~ 60;
#X obj 316 547 +~ 40;
#X obj 218 161 + 1;
#X obj 142 341 f 1;
#X obj 269 349 f 0;
#X obj 309 271 + 3;
#X text 318 681 amplitude;
#X obj 316 461 *~ 1;
#X obj 318 490 +~ 0;
#X obj 319 348 f 125;
#X obj 182 339 f 1;
#X obj 296 608 lop~ 50;
#X obj 484 511 r fromOF;
#X obj 481 565 route smoothing;
#X obj 483 538 route list;
#X obj 224 49 inlet;
#X obj 322 49 inlet;
#X text 232 28 attack;
#X text 330 28 decay;
#X text 162 28 trigger;
#X text 532 18 total time;
#X obj 237 225 t f f;
#X obj 102 243 t b b b;
#X obj 280 325 t b b;
#X connect 0 0 10 0;
#X connect 1 0 2 1;
#X connect 1 0 3 1;
#X connect 2 0 21 0;
#X connect 3 0 9 0;
#X connect 4 0 7 0;
#X connect 5 0 26 1;
#X connect 6 0 18 0;
#X connect 6 1 5 1;
#X connect 7 0 6 0;
#X connect 7 0 27 1;
#X connect 8 0 3 0;
#X connect 9 0 28 1;
#X connect 10 0 41 0;
#X connect 11 0 23 0;
#X connect 11 0 42 0;
#X connect 12 0 26 0;
#X connect 13 0 12 0;
#X connect 14 0 12 0;
#X connect 15 0 17 0;
#X connect 16 0 30 0;
#X connect 18 0 5 0;
#X connect 19 0 20 0;
#X connect 20 0 16 0;
#X connect 21 0 40 0;
#X connect 22 0 13 0;
#X connect 23 0 14 0;
#X connect 24 0 11 1;
#X connect 26 0 27 0;
#X connect 27 0 19 0;
#X connect 28 0 14 1;
#X connect 29 0 13 1;
#X connect 30 0 15 0;
#X connect 31 0 33 0;
#X connect 32 0 30 1;
#X connect 33 0 32 0;
#X connect 34 0 2 0;
#X connect 35 0 8 0;
#X connect 40 0 29 1;
#X connect 40 1 24 0;
#X connect 41 0 22 0;
#X connect 41 1 29 0;
#X connect 41 2 11 0;
#X connect 42 0 23 0;
#X connect 42 1 28 0;
#X restore 259 222 pd aenvelope;
#X text 182 -40 CANDIDATE;
#X obj -40 33 / 127;
#X obj -38 63 * 12;
#X obj -42 102 + 40;
#N canvas 0 22 450 300 ftypeResInterp 0;
#X obj 140 50 inlet;
#X obj 141 223 outlet;
#X text 70 13 resonance peaks in middle for band pass \, and goes down
at ends for lp and hp;
#X obj 254 107 > 0.5;
#X obj 232 151 spigot;
#X obj 53 136 spigot;
#X obj 97 96 <= 0.5;
#X obj 53 96 * 255;
#X obj 192 86 * -255;
#X obj 200 117 + 255;
#X connect 0 0 3 0;
#X connect 0 0 7 0;
#X connect 0 0 6 0;
#X connect 0 0 8 0;
#X connect 3 0 4 1;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 5 1;
#X connect 7 0 5 0;
#X connect 8 0 9 0;
#X connect 9 0 4 0;
#X restore 210 75 pd ftypeResInterp;
#X obj 344 82 * 0.8;
#X obj 331 105 - 150;
#X connect 2 0 6 0;
#X connect 3 0 21 0;
#X connect 3 0 22 0;
#X connect 3 0 23 0;
#X connect 3 0 24 0;
#X connect 3 0 25 0;
#X connect 3 0 26 0;
#X connect 3 0 27 0;
#X connect 3 0 28 0;
#X connect 4 0 18 0;
#X connect 5 0 0 0;
#X connect 5 0 1 0;
#X connect 6 0 37 0;
#X connect 6 0 38 0;
#X connect 7 0 37 1;
#X connect 7 0 38 1;
#X connect 8 0 37 2;
#X connect 8 0 38 2;
#X connect 13 0 29 2;
#X connect 13 0 43 0;
#X connect 18 0 5 0;
#X connect 21 0 40 0;
#X connect 22 0 36 0;
#X connect 23 0 30 0;
#X connect 24 0 31 0;
#X connect 25 0 32 0;
#X connect 26 0 33 0;
#X connect 27 0 34 0;
#X connect 28 0 35 0;
#X connect 29 0 4 0;
#X connect 30 0 7 0;
#X connect 31 0 8 0;
#X connect 32 0 13 0;
#X connect 33 0 44 0;
#X connect 36 0 29 0;
#X connect 37 0 29 1;
#X connect 38 0 4 1;
#X connect 40 0 41 0;
#X connect 41 0 42 0;
#X connect 42 0 36 1;
#X connect 43 0 29 4;
#X connect 44 0 45 0;
#X connect 45 0 29 3;
#X restore 47 -40 pd candidateSynth;
#N canvas 830 119 910 816 targetSynth 0;
#X obj 83 467 outlet~;
#X obj 143 466 outlet~;
#X obj 659 -257 inlet;
#X obj 181 -294 inlet;
#X obj 96 296 *~;
#X obj 73 375 clip~ -1 1;
#X obj 664 -65 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 80 56 / 127;
#X obj 119 57 / 127;
#X text 81 -112 attack;
#X text 124 -112 decay;
#X text -53 -112 pitch;
#X text -7 -114 duration;
#X obj 258 49 / 127;
#X text 299 -115 ftype;
#X text 342 -115 ffreq;
#X text 464 -117 reson;
#X text 562 -111 reverb;
#X obj 92 335 *~ 0.1;
#X text 35 -102 wavef;
#X text 655 -95 trigger;
#X obj -38 -168 route pitch;
#X obj 44 -169 route waveform;
#X obj 138 -169 route attack;
#X obj 221 -171 route decay;
#X obj 301 -170 route fType;
#X obj 378 -167 route fFreq;
#X obj 459 -169 route reson;
#X obj 547 -172 route reverb;
#N canvas 42 77 1074 773 filterT 0;
#X obj 44 22 inlet~;
#X obj 165 84 route filtFreq;
#X obj 855 112 route reson;
#X obj 99 639 outlet~;
#X obj 169 306 mtof~;
#X obj 167 43 route list;
#X obj 165 11 r fromOF;
#X obj 316 19 inlet~;
#X text 362 19 envelope;
#X obj 171 189 sig~;
#X obj 174 250 +~;
#X obj 662 265 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
-1 -1 0 1;
#X text 565 230 filetr freq;
#X text 645 226 resonance;
#X floatatom 822 416 5 0 0 0 - - -;
#X msg 363 391 \$1 100;
#X obj 363 415 line~;
#X obj 407 303 hsl 128 15 0 1 0 1 empty empty empty -2 -8 0 10 -262144
-1 -1 5600 1;
#X text 284 273 Mode: 0 = lowpass \, 0.5 = resonant bandpass \, 1 =
highpass;
#X floatatom 403 356 5 0 0 0 - - -;
#X obj 820 472 + 100;
#X obj 820 496 dbtorms;
#X floatatom 820 525 5 0 0 0 - - -;
#X obj 820 443 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
-262144 -1 -1 3 256;
#X obj 364 149 route fType;
#X obj 820 356 / 5;
#X obj 98 558 multimode_libpd.mmb~;
#X obj 99 598 biquad_libpd.mmb~;
#X floatatom 659 420 5 0 0 0 - - -;
#X obj 167 280 clip~ 20 128;
#X obj 169 220 lop~ 50;
#X obj 169 122 * 0.6;
#X obj 172 158 + 30;
#X obj 238 221 *~ 110;
#X obj 882 28 r fromOF;
#X obj 815 553 lop~ 50;
#X obj 881 57 route list;
#X obj 891 81 route smoothing;
#X text 38 2 audio in;
#X text 478 17 ftype;
#X text 590 17 ffreq;
#X obj 544 17 inlet;
#X obj 432 17 inlet;
#X obj 646 17 inlet;
#X text 692 17 reson;
#X floatatom 195 386 5 0 0 0 - - -;
#X obj 820 389 + 3;
#X connect 0 0 27 0;
#X connect 1 0 31 0;
#X connect 2 0 25 0;
#X connect 4 0 26 0;
#X connect 5 0 1 0;
#X connect 5 0 2 0;
#X connect 5 0 24 0;
#X connect 6 0 5 0;
#X connect 7 0 33 0;
#X connect 9 0 30 0;
#X connect 10 0 29 0;
#X connect 11 0 25 0;
#X connect 11 0 28 0;
#X connect 14 0 23 0;
#X connect 15 0 16 0;
#X connect 16 0 26 2;
#X connect 17 0 19 0;
#X connect 17 0 15 0;
#X connect 20 0 21 0;
#X connect 21 0 22 0;
#X connect 22 0 35 0;
#X connect 23 0 20 0;
#X connect 24 0 15 0;
#X connect 25 0 46 0;
#X connect 26 0 27 1;
#X connect 26 1 27 2;
#X connect 26 2 27 3;
#X connect 26 3 27 4;
#X connect 26 4 27 5;
#X connect 27 0 3 0;
#X connect 29 0 4 0;
#X connect 30 0 10 0;
#X connect 31 0 32 0;
#X connect 32 0 9 0;
#X connect 33 0 10 1;
#X connect 34 0 36 0;
#X connect 35 0 26 1;
#X connect 36 0 37 0;
#X connect 37 0 35 1;
#X connect 37 0 30 1;
#X connect 41 0 31 0;
#X connect 42 0 15 0;
#X connect 43 0 25 0;
#X connect 46 0 14 0;
#X restore 77 250 pd filterT;
#X obj 92 -86 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
-1 -1 0 1;
#X obj 120 -86 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
-1 -1 0 1;
#X obj 268 -93 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
-1 -1 0 1;
#X obj 346 -83 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
-1 -1 0 1;
#X obj 457 -94 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
-1 -1 0 1;
#X obj 565 -75 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
-1 -1 0 1;
#N canvas 76 137 871 723 oscillatorC 0;
#X obj 83 269 phasor~;
#X obj 430 -51 inlet;
#X text 73 522 audio out;
#X obj 79 501 outlet~;
#X obj 402 171 mtof;
#X text 292 -112 "pWidth" \, "sqVol" \, "sawVol" \, "sineVol" \, "FMAmt"
;
#X obj 321 233 +~;
#X obj 402 193 sig~;
#X floatatom 564 131 5 0 0 0 - - -;
#X text 627 93 fm rfeq;
#X obj 353 113 loadbang;
#X obj 262 398 osc~ 220;
#X text 29 390 subtract out of phase one;
#X obj 84 377 -~;
#X obj 151 327 wrap~;
#X obj 150 302 +~ 0.5;
#X obj 83 437 -~ 0.5;
#X obj 568 186 *~ 0;
#X obj 562 156 osc~;
#X obj 561 105 mtof;
#X obj 731 -83 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
-1 -1 0 1;
#X obj 723 64 / 127;
#X obj 548 29 * 100;
#X obj 765 -85 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
-1 -1 0 1;
#X obj 764 62 / 127;
#X obj 152 354 *~ 0;
#X obj 263 429 *~ 1;
#X obj 616 129 * 3500;
#X obj 559 81 +;
#X obj 560 54 - 40;
#X text 408 -73 pitch freq;
#X obj 552 1 route FMFreq FMAmt;
#X obj 564 218 lop~ 20;
#X obj 680 172 r fromOF;
#X obj 679 201 route list;
#X obj 677 226 route smoothing;
#X obj 84 346 *~ 1;
#X obj 66 124 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 0 1;
#X obj 16 122 inlet;
#X text 52 93 waveform;
#X floatatom 42 198 5 0 0 0 - - -;
#X floatatom 93 201 5 0 0 0 - - -;
#X floatatom 141 205 5 0 0 0 - - -;
#X floatatom 190 203 5 0 0 0 - - -;
#X obj 29 -16 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 101 -16 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 170 -14 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 31 19 float 10;
#X obj 103 19 float 64;
#X obj 173 21 float 120;
#X text 192 219 sineVol;
#X text 30 218 saw vol;
#X text 92 221 sq vol;
#N canvas 71 22 1849 1017 interpolatorWave 0;
#X obj 80 -91 inlet;
#X text 75 -113 slider control;
#X obj 217 74 < 32;
#X obj 202 100 &&;
#X floatatom 211 122 5 0 0 0 - - -;
#X obj 186 74 >= 0;
#X obj 279 99 &&;
#X obj 359 98 &&;
#X obj 444 97 &&;
#X obj 263 73 >= 32;
#X obj 300 73 < 64;
#X obj 339 73 >= 64;
#X obj 380 72 < 96;
#X obj 428 71 >= 96;
#X obj 465 71 < 128;
#X floatatom 273 121 5 0 0 0 - - -;
#X floatatom 354 119 5 0 0 0 - - -;
#X floatatom 438 118 5 0 0 0 - - -;
#X obj 273 148 * 2;
#X obj 355 147 * 3;
#X obj 436 147 * 4;
#X obj 246 205 +;
#X obj 398 200 +;
#X obj 315 246 +;
#X floatatom 105 352 5 0 0 0 - - -;
#X floatatom 181 356 5 0 0 0 - - -;
#X floatatom 246 356 5 0 0 0 - - -;
#X floatatom 316 352 5 0 0 0 - - -;
#X obj -125 824 outlet;
#X obj 116 408 / 32;
#X obj 181 408 / 32;
#X obj 243 410 / 32;
#X obj 316 408 / 32;
#X obj 177 381 - 32;
#X obj 245 382 - 64;
#X obj 317 378 - 96;
#X text 544 477 calc frac;
#X obj 35 498 -;
#X obj 35 479 float 1;
#X obj 159 626 loadbang;
#X obj -134 764 + 0;
#X floatatom 85 526 5 0 0 0 - - -;
#X floatatom 36 527 5 0 0 0 - - -;
#X obj -150 736 * 0.1;
#X obj -113 736 * 0.15;
#X obj -42 760 + 0;
#X obj -58 732 * 0.1;
#X obj -21 732 * 0.15;
#X obj 45 761 + 0;
#X obj 138 762 + 0;
#X obj 153 506 -;
#X obj 153 487 float 1;
#X floatatom 200 526 5 0 0 0 - - -;
#X floatatom 154 528 5 0 0 0 - - -;
#X obj 286 502 -;
#X obj 286 483 float 1;
#X floatatom 335 526 5 0 0 0 - - -;
#X floatatom 287 524 5 0 0 0 - - -;
#X text 6 678 insert values at points here;
#X obj 416 505 -;
#X obj 416 486 float 1;
#X floatatom 467 526 5 0 0 0 - - -;
#X floatatom 417 527 5 0 0 0 - - -;
#X obj 29 733 * 30;
#X obj 66 733 * 60;
#X obj 119 733 * 60;
#X obj 159 734 * 90;
#X obj -543 849 outlet;
#X obj -557 676 loadbang;
#X obj -552 789 + 0;
#X obj -568 761 * 0.1;
#X obj -531 761 * 0.15;
#X obj -460 785 + 0;
#X obj -476 757 * 0.1;
#X obj -439 757 * 0.15;
#X obj -373 786 + 0;
#X obj -280 787 + 0;
#X text -630 702 insert values at points here;
#X obj -389 758 * 30;
#X obj -352 758 * 60;
#X obj -299 758 * 60;
#X obj -259 759 * 90;
#X text -541 827 comment;
#X obj -543 728 float 0;
#X obj -262 725 float 1;
#X text -595 848 saw vol;
#X text -207 825 pulse volume;
#X obj -470 726 float 0;
#X obj -402 728 float 1;
#X obj -330 726 float 1;
#X obj -125 703 float 0;
#X obj -52 701 float 0;
#X obj 16 703 float 0;
#X obj 88 701 float 1;
#X obj 157 701 float 1;
#X obj 264 818 outlet;
#X obj 548 620 loadbang;
#X obj 255 758 + 0;
#X obj 239 730 * 0.1;
#X obj 276 730 * 0.15;
#X obj 347 754 + 0;
#X obj 331 726 * 0.1;
#X obj 368 726 * 0.15;
#X obj 434 755 + 0;
#X obj 527 756 + 0;
#X text 373 667 insert values at points here;
#X obj 418 727 * 30;
#X obj 455 727 * 60;
#X obj 508 727 * 60;
#X obj 548 728 * 90;
#X text 182 819 pulse width;
#X obj 677 819 outlet;
#X obj 961 621 loadbang;
#X obj 668 759 + 0;
#X obj 652 731 * 0.1;
#X obj 689 731 * 0.15;
#X obj 760 755 + 0;
#X obj 744 727 * 0.1;
#X obj 781 727 * 0.15;
#X obj 847 756 + 0;
#X obj 940 757 + 0;
#X text 682 664 insert values at points here;
#X obj 831 728 * 30;
#X obj 868 728 * 60;
#X obj 921 728 * 60;
#X obj 961 729 * 90;
#X obj 397 174 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 315 224 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 246 175 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 255 28 t f f f f f f f f;
#X obj 117 -57 t f f;
#X obj 415 462 t b f f;
#X obj 283 458 t b f f;
#X obj 155 463 t b f f;
#X obj 36 452 t b f f;
#X text 266 796 comment;
#X text -124 801 comment;
#X obj 959 696 float 0;
#X text 595 820 sine volume;
#X obj 677 698 float 1;
#X obj 750 696 float 1;
#X obj 818 698 float 0;
#X obj 891 696 float 0;
#X obj 477 695 float 0.5;
#X obj 405 697 float 0.5;
#X obj 337 695 float 0.5;
#X obj 264 697 float 0.5;
#X obj 166 308 route 1 2 3 4;
#X obj 164 281 pack;
#X obj 546 695 float 0.01;
#X obj 1061 811 outlet;
#X obj 1345 613 loadbang;
#X obj 1052 751 + 0;
#X obj 1036 723 * 0.1;
#X obj 1073 723 * 0.15;
#X obj 1144 747 + 0;
#X obj 1124 720 * 0.1;
#X obj 1165 719 * 0.15;
#X obj 1231 748 + 0;
#X obj 1324 749 + 0;
#X text 1066 656 insert values at points here;
#X obj 1215 720 * 30;
#X obj 1252 720 * 60;
#X obj 1305 720 * 60;
#X obj 1345 721 * 90;
#X obj 1343 688 float 0;
#X obj 1275 688 float 0;
#X text 979 812 FM Freq;
#X obj 1492 672 outlet;
#X obj 1776 474 loadbang;
#X obj 1483 612 + 0;
#X obj 1467 584 * 0.1;
#X obj 1504 584 * 0.15;
#X obj 1575 608 + 0;
#X obj 1555 581 * 0.1;
#X obj 1596 580 * 0.15;
#X obj 1662 609 + 0;
#X obj 1755 610 + 0;
#X text 1497 517 insert values at points here;
#X obj 1646 581 * 30;
#X obj 1683 581 * 60;
#X obj 1736 581 * 60;
#X obj 1776 582 * 90;
#X obj 1774 549 float 0;
#X obj 1492 551 float 1;
#X obj 1633 551 float 0;
#X obj 1706 549 float 0;
#X text 1436 674 FM Amt;
#X obj 1565 549 float 0.01;
#X obj 1134 688 float 0.7;
#X obj 1202 690 float 0.6;
#X obj 1061 690 float 1;
#X connect 0 0 130 0;
#X connect 2 0 3 1;
#X connect 3 0 4 0;
#X connect 4 0 21 0;
#X connect 5 0 3 0;
#X connect 6 0 15 0;
#X connect 7 0 16 0;
#X connect 8 0 17 0;
#X connect 9 0 6 0;
#X connect 10 0 6 1;
#X connect 11 0 7 0;
#X connect 12 0 7 1;
#X connect 13 0 8 0;
#X connect 14 0 8 1;
#X connect 15 0 18 0;
#X connect 16 0 19 0;
#X connect 17 0 20 0;
#X connect 18 0 21 1;
#X connect 18 0 128 0;
#X connect 19 0 22 0;
#X connect 20 0 22 1;
#X connect 20 0 126 0;
#X connect 21 0 23 0;
#X connect 22 0 23 1;
#X connect 22 0 127 0;
#X connect 23 0 148 0;
#X connect 24 0 29 0;
#X connect 25 0 33 0;
#X connect 26 0 34 0;
#X connect 27 0 35 0;
#X connect 29 0 134 0;
#X connect 30 0 133 0;
#X connect 31 0 132 0;
#X connect 32 0 131 0;
#X connect 33 0 30 0;
#X connect 34 0 31 0;
#X connect 35 0 32 0;
#X connect 37 0 42 0;
#X connect 38 0 37 0;
#X connect 39 0 90 0;
#X connect 39 0 91 0;
#X connect 39 0 92 0;
#X connect 39 0 93 0;
#X connect 39 0 94 0;
#X connect 40 0 28 0;
#X connect 41 0 44 0;
#X connect 41 0 71 0;
#X connect 41 0 99 0;
#X connect 41 0 115 0;
#X connect 41 0 154 0;
#X connect 41 0 172 0;
#X connect 42 0 43 0;
#X connect 42 0 70 0;
#X connect 42 0 98 0;
#X connect 42 0 114 0;
#X connect 42 0 153 0;
#X connect 42 0 171 0;
#X connect 43 0 40 0;
#X connect 44 0 40 1;
#X connect 45 0 28 0;
#X connect 46 0 45 0;
#X connect 47 0 45 1;
#X connect 48 0 28 0;
#X connect 49 0 28 0;
#X connect 50 0 53 0;
#X connect 51 0 50 0;
#X connect 52 0 47 0;
#X connect 52 0 74 0;
#X connect 52 0 102 0;
#X connect 52 0 118 0;
#X connect 52 0 157 0;
#X connect 52 0 175 0;
#X connect 53 0 46 0;
#X connect 53 0 73 0;
#X connect 53 0 101 0;
#X connect 53 0 117 0;
#X connect 53 0 156 0;
#X connect 53 0 174 0;
#X connect 54 0 57 0;
#X connect 55 0 54 0;
#X connect 56 0 64 0;
#X connect 56 0 79 0;
#X connect 56 0 107 0;
#X connect 56 0 123 0;
#X connect 56 0 162 0;
#X connect 56 0 180 0;
#X connect 57 0 63 0;
#X connect 57 0 78 0;
#X connect 57 0 106 0;
#X connect 57 0 122 0;
#X connect 57 0 161 0;
#X connect 57 0 179 0;
#X connect 59 0 62 0;
#X connect 60 0 59 0;
#X connect 61 0 66 0;
#X connect 61 0 81 0;
#X connect 61 0 109 0;
#X connect 61 0 125 0;
#X connect 61 0 164 0;
#X connect 61 0 182 0;
#X connect 62 0 65 0;
#X connect 62 0 80 0;
#X connect 62 0 108 0;
#X connect 62 0 124 0;
#X connect 62 0 163 0;
#X connect 62 0 181 0;
#X connect 63 0 48 0;
#X connect 64 0 48 1;
#X connect 65 0 49 0;
#X connect 66 0 49 1;
#X connect 68 0 83 0;
#X connect 68 0 84 0;
#X connect 68 0 87 0;
#X connect 68 0 88 0;
#X connect 68 0 89 0;
#X connect 69 0 67 0;
#X connect 70 0 69 0;
#X connect 71 0 69 1;
#X connect 72 0 67 0;
#X connect 73 0 72 0;
#X connect 74 0 72 1;
#X connect 75 0 67 0;
#X connect 76 0 67 0;
#X connect 78 0 75 0;
#X connect 79 0 75 1;
#X connect 80 0 76 0;
#X connect 81 0 76 1;
#X connect 83 0 70 1;
#X connect 84 0 81 1;
#X connect 87 0 71 1;
#X connect 87 0 73 1;
#X connect 88 0 74 1;
#X connect 88 0 78 1;
#X connect 89 0 79 1;
#X connect 89 0 80 1;
#X connect 90 0 43 1;
#X connect 91 0 44 1;
#X connect 91 0 46 1;
#X connect 92 0 47 1;
#X connect 92 0 63 1;
#X connect 93 0 64 1;
#X connect 93 0 65 1;
#X connect 94 0 66 1;
#X connect 96 0 143 0;
#X connect 96 0 144 0;
#X connect 96 0 145 0;
#X connect 96 0 146 0;
#X connect 96 0 149 0;
#X connect 97 0 95 0;
#X connect 98 0 97 0;
#X connect 99 0 97 1;
#X connect 100 0 95 0;
#X connect 101 0 100 0;
#X connect 102 0 100 1;
#X connect 103 0 95 0;
#X connect 104 0 95 0;
#X connect 106 0 103 0;
#X connect 107 0 103 1;
#X connect 108 0 104 0;
#X connect 109 0 104 1;
#X connect 112 0 137 0;
#X connect 112 0 139 0;
#X connect 112 0 140 0;
#X connect 112 0 141 0;
#X connect 112 0 142 0;
#X connect 113 0 111 0;
#X connect 114 0 113 0;
#X connect 115 0 113 1;
#X connect 116 0 111 0;
#X connect 117 0 116 0;
#X connect 118 0 116 1;
#X connect 119 0 111 0;
#X connect 120 0 111 0;
#X connect 122 0 119 0;
#X connect 123 0 119 1;
#X connect 124 0 120 0;
#X connect 125 0 120 1;
#X connect 126 0 22 0;
#X connect 127 0 23 0;
#X connect 128 0 21 0;
#X connect 129 0 5 0;
#X connect 129 1 2 0;
#X connect 129 2 9 0;
#X connect 129 3 10 0;
#X connect 129 4 11 0;
#X connect 129 5 12 0;
#X connect 129 6 13 0;
#X connect 129 7 14 0;
#X connect 130 0 129 0;
#X connect 130 1 148 1;
#X connect 131 0 60 0;
#X connect 131 1 59 1;
#X connect 131 2 61 0;
#X connect 132 0 55 0;
#X connect 132 1 54 1;
#X connect 132 2 56 0;
#X connect 133 0 51 0;
#X connect 133 1 50 1;
#X connect 133 2 52 0;
#X connect 134 0 38 0;
#X connect 134 1 37 1;
#X connect 134 2 41 0;
#X connect 137 0 125 1;
#X connect 139 0 114 1;
#X connect 140 0 115 1;
#X connect 140 0 117 1;
#X connect 141 0 118 1;
#X connect 141 0 122 1;
#X connect 142 0 123 1;
#X connect 142 0 124 1;
#X connect 143 0 107 1;
#X connect 143 0 108 1;
#X connect 144 0 102 1;
#X connect 144 0 106 1;
#X connect 145 0 99 1;
#X connect 145 0 101 1;
#X connect 146 0 98 1;
#X connect 147 0 24 0;
#X connect 147 1 25 0;
#X connect 147 2 26 0;
#X connect 147 3 27 0;
#X connect 148 0 147 0;
#X connect 149 0 109 1;
#X connect 151 0 165 0;
#X connect 151 0 166 0;
#X connect 151 0 189 0;
#X connect 151 0 190 0;
#X connect 151 0 191 0;
#X connect 152 0 150 0;
#X connect 153 0 152 0;
#X connect 154 0 152 1;
#X connect 155 0 150 0;
#X connect 156 0 155 0;
#X connect 157 0 155 1;
#X connect 158 0 150 0;
#X connect 159 0 150 0;
#X connect 161 0 158 0;
#X connect 162 0 158 1;
#X connect 163 0 159 0;
#X connect 164 0 159 1;
#X connect 165 0 164 1;
#X connect 166 0 162 1;
#X connect 166 0 163 1;
#X connect 169 0 183 0;
#X connect 169 0 184 0;
#X connect 169 0 185 0;
#X connect 169 0 186 0;
#X connect 169 0 188 0;
#X connect 170 0 168 0;
#X connect 171 0 170 0;
#X connect 172 0 170 1;
#X connect 173 0 168 0;
#X connect 174 0 173 0;
#X connect 175 0 173 1;
#X connect 176 0 168 0;
#X connect 177 0 168 0;
#X connect 179 0 176 0;
#X connect 180 0 176 1;
#X connect 181 0 177 0;
#X connect 182 0 177 1;
#X connect 183 0 182 1;
#X connect 184 0 171 1;
#X connect 185 0 175 1;
#X connect 185 0 179 1;
#X connect 186 0 180 1;
#X connect 186 0 181 1;
#X connect 188 0 172 1;
#X connect 188 0 174 1;
#X connect 189 0 154 1;
#X connect 189 0 156 1;
#X connect 190 0 157 1;
#X connect 190 0 161 1;
#X connect 191 0 153 1;
#X restore 44 163 pd interpolatorWave;
#X floatatom 246 201 5 0 0 0 - - -;
#X text 248 217 FMFreq;
#X floatatom 289 199 5 0 0 0 - - -;
#X text 291 215 FMAmt;
#X obj 354 136 int 40;
#X connect 0 0 15 0;
#X connect 0 0 36 0;
#X connect 1 0 4 0;
#X connect 1 0 28 1;
#X connect 4 0 7 0;
#X connect 6 0 11 0;
#X connect 6 0 0 0;
#X connect 7 0 6 0;
#X connect 8 0 18 0;
#X connect 10 0 58 0;
#X connect 11 0 26 0;
#X connect 13 0 16 0;
#X connect 14 0 25 0;
#X connect 15 0 14 0;
#X connect 16 0 3 0;
#X connect 17 0 32 0;
#X connect 18 0 17 0;
#X connect 19 0 8 0;
#X connect 20 0 21 0;
#X connect 21 0 22 0;
#X connect 22 0 29 0;
#X connect 23 0 24 0;
#X connect 24 0 27 0;
#X connect 25 0 13 1;
#X connect 26 0 3 0;
#X connect 27 0 17 1;
#X connect 28 0 19 0;
#X connect 29 0 28 0;
#X connect 31 0 22 0;
#X connect 31 1 27 0;
#X connect 32 0 6 1;
#X connect 33 0 34 0;
#X connect 34 0 35 0;
#X connect 35 0 32 1;
#X connect 36 0 13 0;
#X connect 37 0 53 0;
#X connect 38 0 53 0;
#X connect 40 0 36 1;
#X connect 41 0 25 1;
#X connect 42 0 15 1;
#X connect 43 0 26 1;
#X connect 44 0 47 0;
#X connect 45 0 48 0;
#X connect 46 0 49 0;
#X connect 47 0 37 0;
#X connect 48 0 37 0;
#X connect 49 0 37 0;
#X connect 53 0 40 0;
#X connect 53 1 41 0;
#X connect 53 2 42 0;
#X connect 53 3 43 0;
#X connect 53 4 54 0;
#X connect 53 5 56 0;
#X connect 54 0 22 0;
#X connect 56 0 27 0;
#X connect 58 0 4 0;
#X restore 76 221 pd oscillatorC;
#N canvas 525 162 1052 736 fenvelopeC 0;
#X obj 113 33 inlet;
#X text 162 27 tribber;
#X obj 347 0 inlet;
#X obj 216 137 * 123;
#X obj 306 163 * 123;
#X text 474 63 proportion of level that is allways on;
#X obj 471 317 -;
#X obj 465 262 t b f;
#X floatatom 465 235 5 0 0 0 - - -;
#X obj 308 134 * 6;
#X obj 123 176 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 262 301 delay 100;
#X obj 253 431 line~ 10 10;
#X obj 146 369 pack 1 1;
#X obj 260 395 pack 0 1;
#X obj 469 289 f 1;
#X obj 239 225 + 1;
#X obj 142 341 f 1;
#X obj 253 368 f 0;
#X obj 309 271 + 3;
#X obj 134 680 outlet~;
#X text 82 678 filter;
#X obj 316 461 *~ 1;
#X obj 303 368 f 125;
#X obj 182 339 f 1;
#X obj 330 559 *~ 1;
#X obj 306 191 + 10;
#X obj 404 0 inlet;
#X text 345 -20 attack;
#X text 406 -23 decay;
#X obj 494 5 inlet;
#X text 488 -16 duration;
#X obj 262 330 t b b;
#X obj 121 203 t b b b;
#X connect 0 0 10 0;
#X connect 2 0 3 0;
#X connect 3 0 16 0;
#X connect 4 0 26 0;
#X connect 6 0 22 1;
#X connect 7 0 15 0;
#X connect 7 1 6 1;
#X connect 8 0 7 0;
#X connect 9 0 4 0;
#X connect 10 0 33 0;
#X connect 11 0 32 0;
#X connect 12 0 22 0;
#X connect 13 0 12 0;
#X connect 14 0 12 0;
#X connect 15 0 6 0;
#X connect 16 0 19 0;
#X connect 16 0 24 1;
#X connect 17 0 13 0;
#X connect 18 0 14 0;
#X connect 19 0 11 1;
#X connect 22 0 25 0;
#X connect 23 0 14 1;
#X connect 24 0 13 1;
#X connect 25 0 20 0;
#X connect 26 0 23 1;
#X connect 27 0 9 0;
#X connect 30 0 3 1;
#X connect 30 0 4 1;
#X connect 32 0 18 0;
#X connect 32 1 23 0;
#X connect 33 0 17 0;
#X connect 33 1 24 0;
#X connect 33 2 11 0;
#X restore 167 221 pd fenvelopeC;
#N canvas 867 125 1052 736 aenvelope 0;
#X obj 113 33 inlet;
#X obj 539 46 inlet;
#X obj 216 137 * 123;
#X obj 341 162 * 123;
#X obj 468 202 route sustain;
#X obj 471 317 -;
#X obj 465 262 t b f;
#X floatatom 465 235 5 0 0 0 - - -;
#X obj 343 133 * 6;
#X obj 341 190 + 50;
#X obj 113 186 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 270 303 delay 100;
#X obj 253 431 line~ 10 10;
#X obj 146 369 pack 1 1;
#X obj 271 381 pack 0 1;
#X obj 257 645 clip~ -1 1;
#X obj 312 580 dbtorms~;
#X obj 254 682 outlet~;
#X obj 469 289 f 1;
#X obj 316 520 *~ 60;
#X obj 316 547 +~ 40;
#X obj 218 161 + 1;
#X obj 142 341 f 1;
#X obj 269 349 f 0;
#X obj 309 271 + 3;
#X text 318 681 amplitude;
#X obj 316 461 *~ 1;
#X obj 318 490 +~ 0;
#X obj 319 348 f 125;
#X obj 182 339 f 1;
#X obj 296 608 lop~ 50;
#X obj 484 511 r fromOF;
#X obj 481 565 route smoothing;
#X obj 483 538 route list;
#X obj 224 49 inlet;
#X obj 322 49 inlet;
#X text 232 28 attack;
#X text 330 28 decay;
#X text 162 28 trigger;
#X text 532 18 total time;
#X obj 237 225 t f f;
#X obj 102 243 t b b b;
#X obj 280 325 t b b;
#X connect 0 0 10 0;
#X connect 1 0 2 1;
#X connect 1 0 3 1;
#X connect 2 0 21 0;
#X connect 3 0 9 0;
#X connect 4 0 7 0;
#X connect 5 0 26 1;
#X connect 6 0 18 0;
#X connect 6 1 5 1;
#X connect 7 0 6 0;
#X connect 7 0 27 1;
#X connect 8 0 3 0;
#X connect 9 0 28 1;
#X connect 10 0 41 0;
#X connect 11 0 23 0;
#X connect 11 0 42 0;
#X connect 12 0 26 0;
#X connect 13 0 12 0;
#X connect 14 0 12 0;
#X connect 15 0 17 0;
#X connect 16 0 30 0;
#X connect 18 0 5 0;
#X connect 19 0 20 0;
#X connect 20 0 16 0;
#X connect 21 0 40 0;
#X connect 22 0 13 0;
#X connect 23 0 14 0;
#X connect 24 0 11 1;
#X connect 26 0 27 0;
#X connect 27 0 19 0;
#X connect 28 0 14 1;
#X connect 29 0 13 1;
#X connect 30 0 15 0;
#X connect 31 0 33 0;
#X connect 32 0 30 1;
#X connect 33 0 32 0;
#X connect 34 0 2 0;
#X connect 35 0 8 0;
#X connect 40 0 29 1;
#X connect 40 1 24 0;
#X connect 41 0 22 0;
#X connect 41 1 29 0;
#X connect 41 2 11 0;
#X connect 42 0 23 0;
#X connect 42 1 28 0;
#X restore 259 222 pd aenvelope;
#X obj -40 33 / 127;
#X obj -38 63 * 12;
#X obj -42 102 + 40;
#N canvas 0 22 450 300 ftypeResInterp 0;
#X obj 140 50 inlet;
#X obj 141 223 outlet;
#X text 70 13 resonance peaks in middle for band pass \, and goes down
at ends for lp and hp;
#X obj 254 107 > 0.5;
#X obj 232 151 spigot;
#X obj 53 136 spigot;
#X obj 97 96 <= 0.5;
#X obj 53 96 * 255;
#X obj 192 86 * -255;
#X obj 200 117 + 255;
#X connect 0 0 3 0;
#X connect 0 0 7 0;
#X connect 0 0 6 0;
#X connect 0 0 8 0;
#X connect 3 0 4 1;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 5 1;
#X connect 7 0 5 0;
#X connect 8 0 9 0;
#X connect 9 0 4 0;
#X restore 210 75 pd ftypeResInterp;
#X obj 344 82 * 0.8;
#X obj 331 105 - 150;
#X text 184 -41 TARGET;
#X connect 2 0 6 0;
#X connect 3 0 21 0;
#X connect 3 0 22 0;
#X connect 3 0 23 0;
#X connect 3 0 24 0;
#X connect 3 0 25 0;
#X connect 3 0 26 0;
#X connect 3 0 27 0;
#X connect 3 0 28 0;
#X connect 4 0 18 0;
#X connect 5 0 0 0;
#X connect 5 0 1 0;
#X connect 6 0 37 0;
#X connect 6 0 38 0;
#X connect 7 0 37 1;
#X connect 7 0 38 1;
#X connect 8 0 37 2;
#X connect 8 0 38 2;
#X connect 13 0 29 2;
#X connect 13 0 42 0;
#X connect 18 0 5 0;
#X connect 21 0 39 0;
#X connect 22 0 36 0;
#X connect 23 0 30 0;
#X connect 24 0 31 0;
#X connect 25 0 32 0;
#X connect 26 0 33 0;
#X connect 27 0 34 0;
#X connect 28 0 35 0;
#X connect 29 0 4 0;
#X connect 30 0 7 0;
#X connect 31 0 8 0;
#X connect 32 0 13 0;
#X connect 33 0 43 0;
#X connect 36 0 29 0;
#X connect 37 0 29 1;
#X connect 38 0 4 1;
#X connect 39 0 40 0;
#X connect 40 0 41 0;
#X connect 41 0 36 1;
#X connect 42 0 29 4;
#X connect 43 0 44 0;
#X connect 44 0 29 3;
#X restore 215 -31 pd targetSynth;
#X connect 1 0 0 0;
#X connect 2 0 0 1;
#X connect 5 0 20 1;
#X connect 6 0 21 1;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 8 0 10 0;
#X connect 8 0 15 0;
#X connect 9 0 18 0;
#X connect 9 0 20 0;
#X connect 10 0 17 0;
#X connect 10 0 21 0;
#X connect 11 0 5 0;
#X connect 11 1 6 0;
#X connect 12 0 11 0;
#X connect 13 0 14 0;
#X connect 14 0 11 1;
#X connect 15 0 12 0;
#X connect 16 0 19 0;
#X connect 17 0 6 0;
#X connect 18 0 5 0;
#X connect 19 0 12 0;
#X connect 20 0 1 0;
#X connect 20 1 2 0;
#X connect 21 0 1 1;
#X connect 21 1 2 1;