#N canvas 679 202 1064 701 10; #X obj 96 280 osc~; #X obj 186 248 osc~; #X obj 96 341 +~; #X obj 186 304 *~; #X obj 234 246 vline~; #X msg 437 170 1 20 \, 0.7 20 20 \, 0.5 80 40 \, 0 40 120; #N canvas 0 22 450 300 (subpatch) 0; #X array scope 1000 float 5; #A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; #X coords 0 1 999 -1 200 140 1; #X restore 422 365 graph; #X text 695 170 a.d.s.r.; #X obj 96 421 *~; #X obj 134 379 vline~; #X floatatom 96 219 5 0 0 0 - - -; #X floatatom 186 220 5 0 0 0 - - -; #X obj 96 379 cos~; #X obj 134 341 r carrier_env; #X obj 234 218 r modulator_env; #X obj 437 305 s carrier_env; #X obj 534 305 s modulator_env; #X msg 33 15 \; carrier 50 \; modulator 60; #X obj 96 497 *~ 0.5; #X obj 96 535 dac~; #N canvas 94 622 450 300 spectrum 0; #X obj 209 88 block~ 2048; #X obj 156 120 rfft~; #X obj 156 157 *~; #X obj 188 157 *~; #X obj 156 191 +~; #X obj 156 262 tabwrite~ spectrum; #X obj 156 88 inlet~; #X obj 297 138 metro 100; #X obj 297 88 inlet; #X obj 156 225 /~ 64; #X connect 1 0 2 0; #X connect 1 0 2 1; #X connect 1 1 3 0; #X connect 1 1 3 1; #X connect 2 0 4 0; #X connect 3 0 4 1; #X connect 4 0 9 0; #X connect 6 0 1 0; #X connect 7 0 5 0; #X connect 8 0 7 0; #X connect 9 0 5 0; #X restore 195 529 pd spectrum; #N canvas 0 22 450 300 (subpatch) 0; #X array spectrum 512 float 5; #A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; #X coords 0 2048 511 0 400 140 1; #X restore 624 365 graph; #X msg 127 15 \; carrier 100 \; modulator 1000; #X msg 480 193 1 200 \, 0.7 200 200 \, 0.5 800 400 \, 0 400 1200; #X msg 510 219 1 2000 \, 0.7 2000 2000 \, 0.5 8000 4000 \, 0 4000 12000 ; #X msg 235 15 \; carrier 3 \; modulator 300; #X msg 336 15 \; carrier 30 \; modulator 440; #X msg 692 248 1 3000 \, 0 3000 3000; #X msg 547 248 1 3000 \, 0 3000 3000; #X msg 691 269 1 200 \, 0.7 200 200 \, 0.5 800 400 \, 0 400 1200; #X text 831 249 triangle; #N canvas 121 564 450 300 scope 0; #X obj 189 124 inlet~; #X obj 252 193 tabwrite~ scope; #X obj 252 158 metro 100; #X obj 280 121 inlet; #X connect 0 0 1 0; #X connect 2 0 1 0; #X connect 3 0 2 0; #X restore 196 508 pd scope; #X obj 269 468 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 437 143 r note; #X obj 539 70 qlist; #X msg 539 16 read chowning.txt; #X msg 549 38 rewind; #X obj 517 16 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 96 152 mtof; #X obj 186 126 r modulator; #X obj 96 125 r pitch; #X obj 26 125 r carrier; #X obj 139 172 / 50; #X text 53 197 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; #X text 53 449 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; #X text 42 -71 this patch is based on the basic chowning fm instrument (as described in his 1973 paper "the synthesis of complex audio spectra by means of frequency modulation") and uses a rudimentary sequencer to control the "fm instrument"; #X connect 0 0 2 0; #X connect 1 0 3 0; #X connect 2 0 12 0; #X connect 3 0 2 1; #X connect 4 0 3 1; #X connect 5 0 15 0; #X connect 5 0 16 0; #X connect 8 0 18 0; #X connect 8 0 20 0; #X connect 8 0 31 0; #X connect 9 0 8 1; #X connect 10 0 0 0; #X connect 11 0 1 0; #X connect 12 0 8 0; #X connect 13 0 9 0; #X connect 14 0 4 0; #X connect 18 0 19 0; #X connect 18 0 19 1; #X connect 23 0 16 0; #X connect 23 0 15 0; #X connect 24 0 15 0; #X connect 24 0 16 0; #X connect 27 0 16 0; #X connect 28 0 15 0; #X connect 29 0 16 0; #X connect 32 0 31 1; #X connect 32 0 20 1; #X connect 33 0 5 0; #X connect 35 0 34 0; #X connect 36 0 34 0; #X connect 37 0 34 0; #X connect 38 0 10 0; #X connect 38 0 42 0; #X connect 39 0 11 0; #X connect 40 0 38 0; #X connect 41 0 10 0; #X connect 42 0 11 0;