#N canvas -9 -9 1920 976 10; #X obj 978 59 loadbang; #X obj 1076 82 table \$0-cos2; #X obj 1076 52 table \$0-cos1; #X obj 1035 183 s \$0-cos1; #X obj 1054 153 s \$0-cos2; #X obj 978 83 t b b; #X msg 1035 114 cosinesum 512 0 1; #X obj 978 215 until; #X obj 978 149 t b b; #X msg 978 184 258; #X msg 1027 215 0; #X obj 978 263 f; #X obj 1011 263 + 1; #X obj 1090 331 + 256; #X obj 978 289 t f f; #X obj 978 390 tabwrite \$0-cos2; #X obj 978 331 tabread \$0-cos2; #X obj 978 359 * -1; #X obj 90 141 tabosc4~ \$0-cos1; #X obj 160 273 osc~; #X obj 764 58 loadbang; #X msg 205 86 0; #N canvas 0 22 450 278 (subpatch) 0; #X array \$0-asym 800 float 0; #X coords 0 1 799 -1 400 300 1 0 0; #X restore 250 454 graph; #N canvas 0 22 450 278 (subpatch) 0; #X array \$0-sym 800 float 0; #X coords 0 1 799 -1 400 300 1 0 0; #X restore 700 454 graph; #X obj 171 339 tabwrite~ \$0-asym; #X obj 400 273 osc~; #X msg 445 86 0; #X obj 322 50 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X text 322 26 reset phase; #X obj 411 349 tabwrite~ \$0-sym; #X obj 330 141 tabosc4~ \$0-cos2; #N canvas -9 -9 1920 976 \$0-switch 0; #X obj 67 42 inlet; #X obj 113 377 outlet~; #X obj 75 145 receive~ \$0-asym; #X obj 206 145 receive~ \$0-sym; #X obj 454 57 loadbang; #X msg 454 84 0; #X obj 454 111 s \$0-radio; #X obj 282 59 sel 0; #X msg 282 102 label asym; #X obj 348 131 s \$0-radio; #X msg 362 102 label sym; #X obj 75 334 *~; #X obj 191 334 *~; #X obj 142 247 line~; #X obj 67 77 s \$0-line; #X obj 142 193 r \$0-line; #X obj 103 277 *~ -1; #X obj 103 304 +~ 1; #X msg 142 219 \$1 250; #X connect 0 0 7 0; #X connect 0 0 14 0; #X connect 2 0 11 0; #X connect 3 0 12 1; #X connect 4 0 5 0; #X connect 5 0 6 0; #X connect 7 0 8 0; #X connect 7 1 10 0; #X connect 8 0 9 0; #X connect 10 0 9 0; #X connect 11 0 1 0; #X connect 12 0 1 0; #X connect 13 0 12 0; #X connect 13 0 16 0; #X connect 15 0 18 0; #X connect 16 0 17 0; #X connect 17 0 11 1; #X connect 18 0 13 0; #X restore 59 451 pd \$0-switch; #X obj 213 300 r \$0-metro; #X obj 556 200 s \$0-metro; #X obj 556 143 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X obj 556 59 loadbang; #X obj 556 176 metro 290.25; #X obj 625 142 /; #X obj 625 83 t b b; #X obj 688 113 samplerate~; #X obj 625 59 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X text 612 33 reset metro; #X floatatom 646 176 0 0 0 0 - - -; #X msg 625 113 1.28e+007; #X text 977 23 populate tables; #X obj 824 83 samplerate~; #X obj 824 113 / 512; #X obj 824 59 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X text 804 34 reset freq; #X obj 824 179 s \$0-freq; #X obj 90 114 r \$0-freq; #X obj 330 114 r \$0-freq; #X obj 105 205 * 6.28319; #X obj 90 231 *~; #X obj 105 180 r \$0-freq; #X obj 345 205 * 6.28319; #X obj 345 180 r \$0-freq; #X obj 330 231 *~; #X floatatom 846 146 0 0 0 0 - - -; #X obj 160 369 send~ \$0-asym; #X obj 400 379 send~ \$0-sym; #X obj 59 410 hradio 30 1 0 2 empty \$0-radio asym 0 -12 0 14 -262144 -1 -1 0; #X text 1055 264 make \$0-cos2 symmetrical \; (remove DC); #X obj 453 300 r \$0-metro; #X obj 160 300 *~ 0.95; #X obj 400 300 *~ 0.95; #X obj 129 502 dac~; #X text 566 358 source: https://lists.puredata.info/pipermail/pd-list/2015-11/112244.html https://lists.puredata.info/pipermail/pd-list/2015-11/112248.html; #X connect 0 0 5 0; #X connect 5 0 8 0; #X connect 5 1 6 0; #X connect 6 0 3 0; #X connect 6 0 4 0; #X connect 7 0 11 0; #X connect 8 0 9 0; #X connect 8 1 10 0; #X connect 9 0 7 0; #X connect 10 0 11 1; #X connect 11 0 12 0; #X connect 11 0 14 0; #X connect 12 0 11 1; #X connect 13 0 15 1; #X connect 14 0 16 0; #X connect 14 1 13 0; #X connect 16 0 17 0; #X connect 17 0 15 0; #X connect 18 0 53 0; #X connect 19 0 64 0; #X connect 20 0 45 0; #X connect 21 0 18 1; #X connect 21 0 19 1; #X connect 25 0 65 0; #X connect 26 0 25 1; #X connect 26 0 30 1; #X connect 27 0 21 0; #X connect 27 0 26 0; #X connect 30 0 57 0; #X connect 31 0 66 0; #X connect 32 0 24 0; #X connect 34 0 36 0; #X connect 35 0 34 0; #X connect 35 0 38 0; #X connect 36 0 33 0; #X connect 37 0 36 1; #X connect 37 0 42 0; #X connect 38 0 43 0; #X connect 38 1 39 0; #X connect 39 0 37 1; #X connect 40 0 38 0; #X connect 43 0 37 0; #X connect 45 0 46 0; #X connect 46 0 49 0; #X connect 46 0 58 0; #X connect 47 0 45 0; #X connect 50 0 18 0; #X connect 51 0 30 0; #X connect 52 0 53 1; #X connect 53 0 19 0; #X connect 54 0 52 0; #X connect 55 0 57 1; #X connect 56 0 55 0; #X connect 57 0 25 0; #X connect 61 0 31 0; #X connect 63 0 29 0; #X connect 64 0 24 0; #X connect 64 0 59 0; #X connect 65 0 29 0; #X connect 65 0 60 0;