#N canvas 0 0 733 472 10; #N canvas 0 0 383 778 synth1 0; #X obj -15 723 *~ 0.2; #X obj -16 601 bp~ 100 3; #X obj -16 622 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 496 t b f; #X obj 21 389 t b f; #X obj 13 520 + 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 663 pd envelope; #X obj -15 686 *~; #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 558 r \$0-aenva; #X obj 73 620 r \$0-aenvd; #X obj 22 698 r \$0-amp; #X obj 42 537 r \$0-fres; #X obj 21 337 r \$0-frng; #X obj 24 447 r \$0-frle; #X obj -16 753 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 473 * 3000; #X obj 42 559 * 6; #X obj 42 579 + 0.5; #X obj 84 600 * 2000; #X obj 73 641 * 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 13 308 + 0.2; #X connect 0 0 21 0; #X connect 1 0 2 0; #X connect 2 0 10 0; #X connect 3 0 44 0; #X connect 4 0 8 0; #X connect 5 0 1 0; #X connect 6 0 8 0; #X connect 6 1 8 1; #X connect 7 0 4 0; #X connect 7 1 4 1; #X connect 8 0 1 1; #X connect 9 0 10 1; #X connect 10 0 0 0; #X connect 11 0 28 0; #X connect 12 0 5 1; #X connect 13 0 30 0; #X connect 14 0 31 0; #X connect 15 0 36 0; #X connect 16 0 37 0; #X connect 17 0 0 1; #X connect 18 0 34 0; #X connect 19 0 32 0; #X connect 20 0 33 0; #X connect 22 0 24 0; #X connect 23 0 9 0; #X connect 23 1 3 0; #X connect 24 0 29 0; #X connect 24 1 23 0; #X connect 25 0 5 0; #X connect 26 0 27 0; #X connect 27 0 25 0; #X connect 28 0 26 0; #X connect 29 0 27 0; #X connect 29 1 27 1; #X connect 30 0 42 0; #X connect 31 0 43 0; #X connect 32 0 7 0; #X connect 33 0 6 0; #X connect 34 0 35 0; #X connect 35 0 1 2; #X connect 36 0 9 1; #X connect 37 0 9 2; #X connect 42 0 3 1; #X connect 43 0 3 2; #X connect 44 0 4 0; #X restore 4 364 pd synth1; #X obj 5 403 dac~; #N canvas 614 223 579 466 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 101 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 0 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 0 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 4706 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 0 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 0 1; #X obj 324 164 vsl 12 60 0 1 0 0 empty \$0-filterresonance-r RES 0 -8 1 8 -262144 -33289 -262144 0 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 2644 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 4939 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 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.472321 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.0787537 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 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 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 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 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.393781 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 text -14 78 We changed all the sliders to log and normalised their ranges to 1 - 0; #X text -89 341 to adjust display -->; #X obj 100 101 cnv 15 300 30 empty empty PLUTO 20 12 1 18 -258699 -262144 0; #X symbolatom 237 113 20 0 0 2 patchname #0-patchname -; #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 coords 0 -1 1 1 300 270 1 100 100; #X restore 407 169 pd interface; #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 239 185 pd control interface; #X text 99 4 Six simple synthesisers 115; #X obj 4 231 notein; #X obj 114 231 ctlin; #X obj 4 316 spigot; #X obj 138 256 == 1; #X obj 114 317 spigot; #X obj 114 363 s \$0-filterlevel-r; #X obj 114 341 / 127; #X obj 47 255 == 1; #X obj 22 255 > 0; #X obj 22 285 &&; #X obj 171 255 == 1; #X obj 151 279 &&; #X text 164 230 Mod wheel; #X text 10 202 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 270 363 pd preset patches; #X obj 270 231 pgmin; #X obj 307 260 == 1; #X obj 270 285 spigot; #X text 40 34 Last we add a midi interface. Notein unit is masked for midi channel 1 and note-on events.; #X text 39 69 Midi channels also need setting for the [ctlin] and [pgmin] units which receive controller and program change data.; #X text 40 102 The preset patch programs are stored away and can be selected by a simple number message.; #X text 41 140 Try playing and sending wheel data from a midi keyboard. ; #X text 317 232 Patch change; #X text 60 231 Note; #X connect 0 0 1 0; #X connect 0 0 1 1; #X connect 5 0 7 0; #X connect 5 1 13 0; #X connect 5 2 12 0; #X connect 6 0 9 0; #X connect 6 1 8 0; #X connect 6 2 15 0; #X connect 7 0 0 0; #X connect 8 0 16 0; #X connect 9 0 11 0; #X connect 11 0 10 0; #X connect 12 0 14 1; #X connect 13 0 14 0; #X connect 14 0 7 1; #X connect 15 0 16 1; #X connect 16 0 9 1; #X connect 20 0 22 0; #X connect 20 1 21 0; #X connect 21 0 22 1; #X connect 22 0 19 0;