#N canvas 141 73 1133 606 10; #N canvas 0 0 450 300 (subpatch) 0; #X array \$0-orig 128 float 2; #X coords 0 1 128 0 200 140 1; #X restore 634 35 graph; #N canvas 0 0 450 300 (subpatch) 0; #X array \$0-delayed 128 float 2; #X coords 0 1 128 0 200 140 1; #X restore 634 195 graph; #X obj 212 305 tabwrite~ \$0-orig; #X obj 139 394 tabwrite~ \$0-delayed; #N canvas 0 0 450 300 (subpatch) 0; #X array \$0-delayed2 128 float 2; #X coords 0 1 128 0 200 140 1; #X restore 634 355 graph; #X obj 212 230 phasor~ 1000; #X obj 436 347 tabwrite~ \$0-delayed2; #X obj 155 366 r \$0-plot; #X obj 452 316 r \$0-plot; #X obj 221 284 r \$0-plot; #X obj 906 120 s \$0-plot; #N canvas 0 0 450 300 (subpatch) 0; #X array \$0-orig-del 128 float 2; #X coords 0 1 128 -1 200 140 1; #X restore 854 195 graph; #X obj 89 429 -~; #X obj 119 429 r \$0-plot; #X obj 90 465 tabwrite~ \$0-orig-del; #N canvas 0 0 450 300 (subpatch) 0; #X array \$0-orig-del2 128 float 2; #X coords 0 1 128 -1 200 140 1; #X restore 854 355 graph; #X obj 345 426 -~; #X obj 355 451 r \$0-plot; #X obj 346 472 tabwrite~ \$0-orig-del2; #N canvas 0 0 418 241 format 0; #X obj 55 107 s \$0-orig; #X obj 55 131 s \$0-delayed; #X obj 55 25 loadbang; #X obj 55 159 s \$0-delayed2; #X obj 256 187 s \$0-orig-del; #X obj 245 133 s \$0-orig-del2; #X msg 245 108 bounds 0 1 128 -1; #X msg 263 73 const 0; #X msg 55 81 xticks 32 32 64; #X msg 55 53 bounds 0 1 128 0; #X connect 2 0 9 0; #X connect 2 0 8 0; #X connect 2 0 6 0; #X connect 6 0 5 0; #X connect 6 0 4 0; #X connect 7 0 5 0; #X connect 7 0 0 0; #X connect 7 0 1 0; #X connect 7 0 3 0; #X connect 7 0 4 0; #X connect 8 0 0 0; #X connect 8 0 1 0; #X connect 8 0 3 0; #X connect 8 0 4 0; #X connect 8 0 5 0; #X connect 9 0 0 0; #X connect 9 0 1 0; #X connect 9 0 3 0; #X restore 906 146 pd format; #X floatatom 212 208 5 0 0 0 - - -; #X obj 212 182 *; #X obj 265 144 samplerate~; #X msg 265 118 bang; #X floatatom 212 99 5 0 0 2 block-multiple-frequency - -; #X msg 906 41 bang; #X obj 265 172 / 64; #X obj 316 120 loadbang; #X obj 212 120 / 100; #X obj 43 229 cnv 15 100 30 empty empty Good: 20 12 1 14 -233017 -66577 0; #X obj 417 225 cnv 15 100 30 empty empty Bad: 20 12 1 14 -233017 -66577 0; #X text 142 494 differences between orig and sent signal; #X obj 918 76 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X obj 918 97 metro 200; #N canvas 475 185 600 400 sender1 0; #X obj 18 207 outlet~; #X obj 18 81 inlet~; #X obj 29 106 s~ \$0-del; #X connect 1 0 0 0; #X connect 1 0 2 0; #X restore 76 309 pd sender1; #N canvas 0 0 280 330 receiv1 0; #X obj 96 108 inlet~; #X obj 96 264 outlet~; #X obj 162 205 outlet~; #X obj 163 126 r~ \$0-del; #X connect 0 0 1 0; #X connect 3 0 2 0; #X restore 75 367 pd receiv1; #N canvas 475 185 600 400 receiv2 0; #X obj 18 207 outlet~; #X obj 18 81 inlet~; #X obj 162 205 outlet~; #X obj 163 126 r~ \$0-del2; #X connect 1 0 0 0; #X connect 3 0 2 0; #X restore 371 317 pd receiv2; #N canvas 0 0 543 485 sender2 0; #X obj 96 108 inlet~; #X obj 96 264 outlet~; #X obj 125 142 s~ \$0-del2; #X connect 0 0 1 0; #X connect 0 0 2 0; #X restore 370 375 pd sender2; #X msg 389 82 125; #X obj 389 60 loadbang; #X msg 423 82 100; #X obj 264 191 t b a; #X text 14 16 Ordering DSP execution using subpatches to avoid unwanted block-delays in s~ and r~:; #X msg 459 82 150; #X connect 5 0 34 0; #X connect 5 0 2 0; #X connect 5 0 36 0; #X connect 5 0 12 0; #X connect 5 0 16 0; #X connect 7 0 3 0; #X connect 8 0 6 0; #X connect 9 0 2 0; #X connect 12 0 14 0; #X connect 13 0 14 0; #X connect 16 0 18 0; #X connect 17 0 18 0; #X connect 20 0 5 0; #X connect 21 0 20 0; #X connect 22 0 26 0; #X connect 23 0 22 0; #X connect 24 0 28 0; #X connect 25 0 10 0; #X connect 26 0 41 0; #X connect 27 0 22 0; #X connect 28 0 21 0; #X connect 32 0 33 0; #X connect 33 0 10 0; #X connect 34 0 35 0; #X connect 35 1 3 0; #X connect 35 1 12 1; #X connect 36 0 37 0; #X connect 36 1 6 0; #X connect 36 1 16 1; #X connect 38 0 24 0; #X connect 39 0 38 0; #X connect 40 0 24 0; #X connect 41 0 21 0; #X connect 41 1 21 1; #X connect 43 0 24 0;