#N canvas 0 0 481 432 10; #N canvas 191 152 944 457 interface 0; #X obj 100 253 cnv 15 100 120 empty empty OSC 8 12 1 14 -258699 -262144 0; #X obj 201 253 cnv 15 200 120 empty empty AMP 8 12 1 14 -260818 -262144 0; #X obj 100 132 cnv 15 300 120 empty empty FILTER 8 12 1 14 -62784 -262144 0; #X obj 322 287 vsl 12 60 0.01 1 1 0 empty \$0-amplevel-r L 0 -8 1 8 -262144 -1 -262144 4420 1; #X obj 285 164 vsl 12 60 0.01 1 1 0 empty \$0-filterlevel-r LEV 0 -8 1 8 -262144 -1 -262144 3163 1; #X obj 116 164 vsl 12 60 0.01 1 1 1 empty \$0-filterattack-r A 0 -8 1 8 -262144 -1 -262144 2644 1; #X obj 156 164 vsl 12 60 0.01 1 1 1 empty \$0-filterdecay-r D 0 -8 1 8 -262144 -1 -262144 2644 1; #X obj 246 164 vsl 12 60 0.01 1 1 0 empty \$0-filteramount-r AMT 0 -8 1 8 -262144 -1 -262144 3532 1; #X obj 157 286 vsl 12 60 0.01 1 1 0 empty \$0-oscfatness-r FAT 0 -8 1 8 -262144 -1 -262144 582 1; #X obj 324 164 vsl 12 60 0 1 0 0 empty \$0-filterresonance-r RES 0 -8 1 8 -262144 -33289 -262144 1858 1; #X obj 244 287 vsl 12 60 0.01 1 1 1 empty \$0-ampattack-r A 0 -8 1 8 -262144 -1 -262144 868 1; #X obj 283 287 vsl 12 60 0.01 1 1 1 empty \$0-ampdecay-r D 0 -8 1 8 -262144 -1 -262144 1756 1; #X obj 53 420 s \$0-oscf; #X obj 130 421 s \$0-oscfat; #X obj 54 391 s \$0-fenva; #X obj 131 390 s \$0-fenvd; #X obj 217 421 s \$0-aenva; #X obj 295 421 s \$0-aenvd; #X obj 374 421 s \$0-amp; #X obj 377 389 s \$0-fres; #X obj 218 391 s \$0-frng; #X obj 298 390 s \$0-frle; #X obj 322 355 nbx 3 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 -260818 -262144 -1 0.314996 256; #X obj 283 355 nbx 3 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 -260818 -262144 -1 0.0393781 256; #X obj 244 355 nbx 3 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 -260818 -262144 -1 0.0196896 256; #X obj 157 352 nbx 3 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 -258699 -262144 -1 0.0157503 256; #X obj 112 351 nbx 3 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 -258699 -262144 -1 0 256; #X obj 324 234 nbx 3 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 -62784 -262144 -1 0.314915 256; #X obj 285 234 nbx 3 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 -62784 -262144 -1 0.118087 256; #X obj 246 234 nbx 3 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 -62784 -262144 -1 0.157503 256; #X obj 156 234 nbx 3 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 -62784 -262144 -1 0.0787537 256; #X obj 116 234 nbx 3 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10 -62784 -262144 -1 0.0787537 256; #X obj 112 285 vradio 12 1 1 5 empty \$0-oscoctave-r OCT 0 -6 1 8 -262144 -1 -262144 2; #X obj 74 339 - 2; #X obj 100 101 cnv 15 300 30 empty empty PLUTO 20 12 1 18 -258699 -262144 0; #X symbolatom 324 115 10 0 0 2 patchname #0-patchname -; #N canvas 0 0 380 847 synth1 0; #X obj -15 782 *~ 0.2; #X obj -16 681 hip~ 60; #N canvas 0 0 450 300 envelope 0; #X obj 175 243 line; #X msg 194 219 1 \$1; #X msg 150 218 0 \$1; #X obj 150 146 t b b; #X obj 175 267 outlet; #X obj 187 46 inlet attack; #X obj 289 45 inlet decay; #X obj 77 46 inlet trigger; #X obj 187 87 t f f; #X obj 150 196 f 50; #X obj 194 197 f 50; #X text 235 199 <-- default values 50 ms; #X text 236 88 <-- set floats nicely; #X obj 150 173 del 50; #X text 151 9 envelope subpatch; #X connect 0 0 4 0; #X connect 1 0 0 0; #X connect 2 0 0 0; #X connect 3 0 13 0; #X connect 3 1 10 0; #X connect 5 0 8 0; #X connect 6 0 9 1; #X connect 7 0 3 0; #X connect 8 0 13 1; #X connect 8 1 10 1; #X connect 9 0 2 0; #X connect 10 0 1 0; #X connect 13 0 9 0; #X restore 13 283 pd envelope; #X obj 13 413 * 3000; #N canvas 0 0 450 300 fatoscillator 0; #X obj 113 206 +~; #X obj 61 165 -~ 0.5; #X obj 147 164 -~ 0.5; #X obj 60 8 inlet pitch; #X obj 146 108 +; #X obj 60 109 -; #X obj 149 7 inlet fatness; #X obj 149 31 * 5; #X obj 112 238 outlet~; #X obj 60 137 phasor~ 55; #X obj 146 136 phasor~ 55; #X obj 149 53 t b b f f; #X connect 0 0 8 0; #X connect 1 0 0 0; #X connect 2 0 0 1; #X connect 3 0 5 0; #X connect 3 0 4 0; #X connect 4 0 10 0; #X connect 5 0 9 0; #X connect 6 0 7 0; #X connect 7 0 11 0; #X connect 9 0 1 0; #X connect 10 0 2 0; #X connect 11 0 5 0; #X connect 11 1 4 0; #X connect 11 2 5 1; #X connect 11 3 4 1; #X restore -16 180 pd fatoscillator; #X obj 23 526 t b f; #X obj 21 389 t b f; #X obj 13 550 + 20; #N canvas 0 0 450 300 envelope 0; #X obj 175 243 line; #X msg 194 219 1 \$1; #X msg 150 218 0 \$1; #X obj 150 146 t b b; #X obj 175 267 outlet; #X obj 187 46 inlet attack; #X obj 289 45 inlet decay; #X obj 77 46 inlet trigger; #X obj 187 87 t f f; #X obj 150 196 f 50; #X obj 194 197 f 50; #X text 235 199 <-- default values 50 ms; #X text 236 88 <-- set floats nicely; #X obj 150 173 del 50; #X text 151 9 envelope subpatch; #X connect 0 0 4 0; #X connect 1 0 0 0; #X connect 2 0 0 0; #X connect 3 0 13 0; #X connect 3 1 10 0; #X connect 5 0 8 0; #X connect 6 0 9 1; #X connect 7 0 3 0; #X connect 8 0 13 1; #X connect 8 1 10 1; #X connect 9 0 2 0; #X connect 10 0 1 0; #X connect 13 0 9 0; #X restore 1 722 pd envelope; #X obj -15 745 *~; #X obj -16 30 r \$0-oscf; #X obj 91 153 r \$0-oscfat; #X obj 49 217 r \$0-fenva; #X obj 123 177 r \$0-fenvd; #X obj 84 588 r \$0-aenva; #X obj 73 679 r \$0-aenvd; #X obj 22 757 r \$0-amp; #X obj 42 567 r \$0-fres; #X obj 21 337 r \$0-frng; #X obj 24 477 r \$0-frle; #X obj -16 812 outlet~; #X obj 53 4 inlet; #X obj 83 112 t b b; #X obj 53 29 t f b; #X obj -16 155 mtof; #X obj -16 79 * 12; #X obj -16 132 +; #X obj -16 55 - 2; #X obj -7 102 t b f; #X obj 49 238 * 2000; #X obj 123 200 * 2000; #X obj 21 364 * 3000; #X obj 23 503 * 3000; #X obj 42 609 + 0.5; #X obj 84 659 * 2000; #X obj 73 700 * 2000; #X text 173 201 <---- added multipliers; #X text 164 241 <------------ and offsets; #X text 68 304 <---- offset to stop clicks when; #X text 110 321 filter is zero; #X obj 49 262 + 10; #X obj 123 240 + 10; #X obj -15 655 moog~; #X obj 5 630 sig~; #X obj 38 630 sig~; #X obj 42 589 * 3.1; #X obj 13 308 + 0.1; #X obj 13 437 +; #X connect 0 0 20 0; #X connect 1 0 9 0; #X connect 2 0 46 0; #X connect 3 0 47 0; #X connect 4 0 42 0; #X connect 5 0 7 0; #X connect 5 1 7 1; #X connect 6 0 3 0; #X connect 6 1 3 1; #X connect 7 0 43 0; #X connect 8 0 9 1; #X connect 9 0 0 0; #X connect 10 0 27 0; #X connect 11 0 4 1; #X connect 12 0 29 0; #X connect 13 0 30 0; #X connect 14 0 34 0; #X connect 15 0 35 0; #X connect 16 0 0 1; #X connect 17 0 45 0; #X connect 18 0 31 0; #X connect 19 0 32 0; #X connect 21 0 23 0; #X connect 22 0 8 0; #X connect 22 1 2 0; #X connect 23 0 28 0; #X connect 23 1 22 0; #X connect 24 0 4 0; #X connect 24 0 47 1; #X connect 25 0 26 0; #X connect 26 0 24 0; #X connect 27 0 25 0; #X connect 28 0 26 0; #X connect 28 1 26 1; #X connect 29 0 40 0; #X connect 30 0 41 0; #X connect 31 0 6 0; #X connect 32 0 5 0; #X connect 33 0 44 0; #X connect 34 0 8 1; #X connect 35 0 8 2; #X connect 40 0 2 1; #X connect 41 0 2 2; #X connect 42 0 1 0; #X connect 43 0 42 1; #X connect 44 0 42 2; #X connect 45 0 33 0; #X connect 46 0 3 0; #X connect 47 0 7 0; #X restore 483 382 pd synth1; #N canvas 0 0 460 548 control 0; #X obj 39 204 s \$0-filterattack-r; #X obj 39 224 s \$0-filterdecay-r; #X obj 39 244 s \$0-filteramount-r; #X obj 39 264 s \$0-filterlevel-r; #X obj 39 284 s \$0-filterresonance-r; #X obj 39 304 s \$0-oscoctave-r; #X obj 39 324 s \$0-oscfatness-r; #X obj 39 344 s \$0-ampattack-r; #X obj 39 364 s \$0-ampdecay-r; #X obj 39 384 s \$0-amplevel-r; #X obj 39 55 route fak fdy fam flv fre ooc oft aak ady alv; #X obj 39 7 r pluto; #X obj 3 90 / 127; #X obj 43 90 / 127; #X obj 83 90 / 127; #X obj 123 90 / 127; #X obj 163 90 / 127; #X obj 203 90 / 127; #X obj 243 90 / 127; #X obj 283 90 / 127; #X obj 323 90 / 127; #X obj 363 90 / 127; #X obj 203 110 * 5; #X obj 348 168 route name; #X obj 348 218 s \$0-patchname; #X obj 348 194 symbol; #X connect 10 0 12 0; #X connect 10 1 13 0; #X connect 10 2 14 0; #X connect 10 3 15 0; #X connect 10 4 16 0; #X connect 10 5 17 0; #X connect 10 6 18 0; #X connect 10 7 19 0; #X connect 10 8 20 0; #X connect 10 9 21 0; #X connect 10 10 23 0; #X connect 11 0 10 0; #X connect 12 0 0 0; #X connect 13 0 1 0; #X connect 14 0 2 0; #X connect 15 0 3 0; #X connect 16 0 4 0; #X connect 17 0 22 0; #X connect 18 0 6 0; #X connect 19 0 7 0; #X connect 20 0 8 0; #X connect 21 0 9 0; #X connect 22 0 5 0; #X connect 23 0 25 0; #X connect 25 0 24 0; #X restore 534 117 pd control interface; #X obj 483 206 notein; #X obj 566 208 ctlin; #X obj 483 290 spigot; #X obj 603 231 == 1; #X obj 566 291 spigot; #X obj 566 337 s \$0-filterlevel-r; #X obj 566 315 / 127; #X obj 526 229 == 1; #X obj 501 229 > 0; #X obj 501 259 &&; #X obj 636 230 == 1; #X obj 616 254 &&; #X text 621 206 Mod wheel; #X text 474 176 Fix channel to 1; #N canvas 0 0 450 300 preset 0; #X msg 12 89 \; pluto name brassy \, fak 10 \, fdy 50 \, fam 50 \, flv 50 \, fre 20 \, ooc 60 \, oft 20 \, aak 10 \, ady 60 \, alv 20 ; #X msg 13 137 \; pluto name synbass \, fak 2 \, fdy 10 \, fam 40 \, flv 10 \, fre 40 \, ooc 30 \, oft 1 \, aak 1 \, ady 4 \, alv 40; #X msg 13 186 \; pluto name stringy \, fak 10 \, fdy 10 \, fam 20 \, flv 15 \, fre 40 \, ooc 60 \, oft 2 \, aak 2.5 \, ady 5 \, alv 40; #X obj 85 3 inlet; #X obj 85 29 sel 1 2 3 4 5 6 7 8; #X connect 3 0 4 0; #X connect 4 0 0 0; #X connect 4 1 1 0; #X connect 4 2 2 0; #X restore 706 375 pd preset patches; #X obj 712 207 pgmin; #X obj 742 236 == 1; #X obj 705 261 spigot; #X text 625 87 MIDI code; #X obj 483 404 outlet~; #X obj 493 314 b; #X obj 493 358 s \$0-midilight; #X obj 212 112 bng 15 60 50 0 empty \$0-midilight midi 0 -6 1 8 -258699 -262144 -1; #X obj 283 116 hradio 12 1 0 3 \$0-patch-s \$0-patch-r patch 0 -8 1 9 -258699 -262144 -1 2; #X obj 705 305 s \$0-patch-r; #X obj 706 329 r \$0-patch-s; #X obj 705 283 - 1; #X obj 706 351 + 1; #X obj 239 115 hradio 12 1 0 3 \$0-midichan-s empty chan 0 -6 1 8 -258699 -262144 -1 0; #X obj 689 117 r \$0-midichan-s; #X obj 689 163 t f f f; #X obj 689 140 + 1; #X obj 454 156 r \$0-demonotes; #X connect 3 0 18 0; #X connect 3 0 22 0; #X connect 4 0 21 0; #X connect 4 0 28 0; #X connect 5 0 14 0; #X connect 5 0 31 0; #X connect 6 0 15 0; #X connect 6 0 30 0; #X connect 7 0 20 0; #X connect 7 0 29 0; #X connect 8 0 13 0; #X connect 8 0 25 0; #X connect 9 0 19 0; #X connect 9 0 27 0; #X connect 10 0 16 0; #X connect 10 0 24 0; #X connect 11 0 17 0; #X connect 11 0 23 0; #X connect 32 0 12 0; #X connect 32 0 33 0; #X connect 33 0 26 0; #X connect 36 0 57 0; #X connect 38 0 40 0; #X connect 38 1 46 0; #X connect 38 2 45 0; #X connect 39 0 42 0; #X connect 39 1 41 0; #X connect 39 2 48 0; #X connect 40 0 36 0; #X connect 40 0 58 0; #X connect 41 0 49 0; #X connect 42 0 44 0; #X connect 44 0 43 0; #X connect 45 0 47 1; #X connect 46 0 47 0; #X connect 47 0 40 1; #X connect 48 0 49 1; #X connect 49 0 42 1; #X connect 53 0 55 0; #X connect 53 1 54 0; #X connect 54 0 55 1; #X connect 55 0 64 0; #X connect 58 0 59 0; #X connect 63 0 65 0; #X connect 64 0 62 0; #X connect 65 0 52 0; #X connect 67 0 69 0; #X connect 68 0 45 1; #X connect 68 1 48 1; #X connect 68 2 54 1; #X connect 69 0 68 0; #X connect 70 0 36 0; #X coords 0 -1 1 1 300 270 1 100 100; #X restore 139 93 pd interface; #X text 40 34 Everything cleaned up into one subpatch object. This could be turned into an abstraction now because we used \$0-local notation everywhere.; #X obj 130 376 dac~; #X obj 14 107 tgl 15 0 empty empty on-off 0 -6 1 8 -262144 -1 -1 0 1; #X floatatom 14 153 5 0 0 0 - - -; #N canvas 0 0 450 300 test 0; #X obj 55 101 metro 100; #X obj 55 214 outlet; #X obj 81 46 loadbang; #X msg 81 69 1; #X obj 32 46 inlet; #X obj 55 188 + 36; #X obj 120 215 s \$0-demonotes; #X obj 55 125 random 5; #X obj 55 153 * 6; #X connect 0 0 7 0; #X connect 2 0 3 0; #X connect 3 0 0 0; #X connect 4 0 0 0; #X connect 5 0 1 0; #X connect 5 0 6 0; #X connect 7 0 8 0; #X connect 8 0 5 0; #X restore 14 129 pd test notes; #X text 99 4 Six simple synthesisers 116; #X connect 0 0 2 0; #X connect 0 0 2 1; #X connect 3 0 5 0; #X connect 5 0 4 0;