#N canvas 280 260 1458 900 12; #X obj 96 48 hsl 128 15 100 1000 1 1 empty empty freq -2 -8 0 10 -262130 -1 -1 11500 1; #X floatatom 93 68 5 0 0 0 - - -; #X obj 93 88 phasor~; #X obj 93 109 hip~ 20; #X obj 112 446 *~; #X obj 112 488 sqrt~; #X obj 112 564 snapshot~; #X floatatom 112 585 10 0 0 0 - - -; #X obj 130 542 metro 200; #X obj 130 521 tgl 15 0 empty empty capture_2 17 7 0 10 -257985 -1 -1 0 1; #N canvas 801 84 1017 726 fftMagnitudes 0; #X obj 736 164 r \$0_clearArrays; #X msg 736 188 const 0; #X obj 736 211 s termAvgMagnitudes; #X obj 69 29 inlet~; #X obj 68 183 rfft~; #X obj 639 38 loadbang; #X obj 686 99 s \$0_windowSize; #X obj 86 55 tabreceive~ \$0_hann; #X msg 605 74 \; pd dsp 1; #X obj 59 239 *~; #X obj 90 239 *~; #X obj 67 268 +~; #X msg 686 74 1024; #X obj 617 218 bang~; #X obj 611 193 loadbang; #X obj 575 247 f 0; #X obj 611 274 + 1; #X obj 374 205 switch~ 1024 4; #X obj 338 33 inlet; #X obj 403 145 s \$0_resetCounter; #X obj 575 164 r \$0_resetCounter; #X msg 575 188 0; #X obj 421 117 s \$0_clearArrays; #X obj 510 302 s \$0_nrValues; #X obj 338 60 select 0 1; #X obj 371 86 t b b; #X msg 391 173 1; #X obj 320 86 t b b; #X msg 352 173 0; #X obj 320 233 s \$0_showResults; #X obj 104 355 r \$0_nrValues; #X obj 86 385 *~; #X obj 67 417 +~; #X obj 611 301 s \$0_newNrValues; #X obj 67 470 /~; #X obj 85 443 r \$0_newNrValues; #X obj 67 292 sqrt~; #X obj 86 326 tabreceive~ termAvgMagnitudes; #X obj 67 499 tabsend~ termAvgMagnitudes; #X obj 68 160 *~; #X obj 120 81 sig~ 1; #X obj 85 131 *~; #X obj 120 131 *~; #X obj 182 82 tgl 15 1 empty empty use_window 17 7 0 10 -262144 -1 -1 0 1; #X obj 182 103 == 0; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 3 0 39 0; #X connect 4 0 9 0; #X connect 4 0 9 1; #X connect 4 1 10 0; #X connect 4 1 10 1; #X connect 5 0 8 0; #X connect 5 0 12 0; #X connect 7 0 41 0; #X connect 9 0 11 0; #X connect 10 0 11 1; #X connect 11 0 36 0; #X connect 12 0 6 0; #X connect 13 0 15 0; #X connect 14 0 15 0; #X connect 15 0 16 0; #X connect 15 0 23 0; #X connect 16 0 15 1; #X connect 16 0 33 0; #X connect 18 0 24 0; #X connect 20 0 21 0; #X connect 21 0 15 0; #X connect 24 0 27 0; #X connect 24 1 25 0; #X connect 25 0 26 0; #X connect 25 1 19 0; #X connect 25 1 22 0; #X connect 26 0 17 0; #X connect 27 0 29 0; #X connect 27 1 28 0; #X connect 28 0 17 0; #X connect 30 0 31 1; #X connect 31 0 32 1; #X connect 32 0 34 0; #X connect 34 0 38 0; #X connect 35 0 34 1; #X connect 36 0 32 0; #X connect 37 0 31 0; #X connect 39 0 4 0; #X connect 40 0 42 0; #X connect 41 0 39 1; #X connect 42 0 39 1; #X connect 43 0 41 1; #X connect 43 0 44 0; #X connect 44 0 42 1; #X restore 199 414 pd fftMagnitudes; #N canvas 0 50 450 250 (subpatch) 0; #X array termAvgMagnitudes 1024 float 2; #X coords 0 70 1023 -1 1024 140 1 0 0; #X restore 294 50 graph; #X obj 308 390 tgl 15 0 empty empty capture_1 17 7 0 10 -257985 -1 -1 0 1; #X obj 111 344 *~; #X obj 183 315 hsl 128 15 0.125 2 1 1 empty empty volume -2 -8 0 10 -262130 -1 -1 9800 1; #X floatatom 197 338 5 0 0 0 - - -; #X msg 425 314 512; #X obj 425 335 until; #X obj 460 356 + 1; #X obj 496 356 mod 512; #X obj 425 401 tabread termAvgMagnitudes; #X obj 425 266 t b b; #X obj 425 243 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 425 356 f 0; #X obj 457 291 s resetSum; #X obj 425 530 +; #X obj 472 486 r resetSum; #X msg 472 507 0; #X obj 460 550 + 0; #X floatatom 425 619 10 0 0 0 - - -; #N canvas 0 50 718 413 hannWindow 0; #N canvas 0 0 450 300 (subpatch) 0; #X array \$0_hann 1024 float 0; #X coords 0 1 1023 0 300 100 1 0 0; #X restore 319 73 graph; #X obj 140 175 osc~; #X obj 140 200 *~ -0.5; #X obj 140 224 +~ 0.5; #X msg 210 117 resize \$1; #X msg 165 148 0; #X obj 65 102 pow -1; #X obj 65 126 * 44100; #X obj 102 74 t f b f; #X obj 125 257 tabwrite~ \$0_hann; #X obj 210 141 s \$0_hann; #X obj 102 48 r \$0_windowSize; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 3 0 9 0; #X connect 4 0 10 0; #X connect 5 0 1 1; #X connect 6 0 7 0; #X connect 7 0 1 0; #X connect 8 0 6 0; #X connect 8 1 5 0; #X connect 8 1 9 0; #X connect 8 2 4 0; #X connect 11 0 8 0; #X restore 220 440 pd hannWindow; #X obj 425 221 r \$0_showResults; #X obj 272 673 /; #X floatatom 272 694 10 0 0 0 ratio - -; #X obj 155 161 noise~; #X obj 425 422 pow 2; #X obj 425 570 sqrt; #X text 509 421 add up each term's magnitude as uncorrelated signals ; #X obj 30 163 cos~; #X obj 111 139 hradio 15 1 1 4 empty empty select_signal 0 -8 0 10 -262130 -1 -1 2; #X obj 30 223 *~; #X obj 48 201 == 0; #X obj 93 222 *~; #X obj 111 200 == 1; #X obj 154 222 *~; #X obj 172 200 == 2; #X text 56 457 RMS; #X text 30 484 ala solipp; #X obj 210 223 *~; #X obj 211 162 sig~ 1; #X obj 228 201 == 3; #X text 481 596 scale from the fft coef range 0-1024; #X obj 425 598 / 1024; #X obj 425 377 t f f; #X obj 472 432 > 0; #X obj 472 453 + 1; #X obj 425 479 *; #X obj 112 467 lop~ 0.2; #X text 507 452 multiply AC bins by 2 because the rfft doesn't output the symmetrical upper half of the bins; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 2 0 38 0; #X connect 3 0 42 0; #X connect 4 0 57 0; #X connect 5 0 6 0; #X connect 6 0 7 0; #X connect 7 0 32 0; #X connect 8 0 6 0; #X connect 9 0 8 0; #X connect 12 0 10 1; #X connect 13 0 10 0; #X connect 13 0 4 0; #X connect 13 0 4 1; #X connect 14 0 13 1; #X connect 14 0 15 0; #X connect 16 0 17 0; #X connect 17 0 23 0; #X connect 18 0 19 0; #X connect 19 0 23 1; #X connect 20 0 35 0; #X connect 21 0 16 0; #X connect 21 1 24 0; #X connect 22 0 21 0; #X connect 23 0 18 0; #X connect 23 0 53 0; #X connect 25 0 28 0; #X connect 25 0 36 0; #X connect 26 0 27 0; #X connect 27 0 25 1; #X connect 28 0 25 1; #X connect 29 0 32 1; #X connect 31 0 22 0; #X connect 32 0 33 0; #X connect 34 0 44 0; #X connect 35 0 56 0; #X connect 36 0 52 0; #X connect 38 0 40 0; #X connect 39 0 41 0; #X connect 39 0 43 0; #X connect 39 0 45 0; #X connect 39 0 50 0; #X connect 40 0 13 0; #X connect 41 0 40 1; #X connect 42 0 13 0; #X connect 43 0 42 1; #X connect 44 0 13 0; #X connect 45 0 44 1; #X connect 48 0 13 0; #X connect 49 0 48 0; #X connect 50 0 48 1; #X connect 52 0 29 0; #X connect 53 0 20 0; #X connect 53 1 54 0; #X connect 54 0 55 0; #X connect 55 0 56 1; #X connect 56 0 25 0; #X connect 57 0 5 0;