#N canvas 47 64 761 876 10; #X obj 47 18 cnv 15 650 50 empty empty constantq~ 20 18 0 24 -260818 -66577 0; #X msg 52 118 \; pd dsp 1; #X text 52 102 ON; #X obj 52 171 adc~; #X obj 57 574 route bang; #X obj 77 472 r \$0-cq; #X obj 146 94 cnv 15 550 320 empty empty empty 20 18 0 18 -233017 -66577 0; #X text 264 108 list of frequencies; #X obj 544 118 nbx 5 14 0.01 100 1 1 empty empty q 0 -8 0 10 -262130 -1 -1 5 256; #X msg 176 238 threshold \$1; #X obj 177 213 nbx 6 14 0.0001 0.1 1 1 empty empty threshold 0 -8 0 10 -262130 -1 -1 0.001 256; #X msg 257 212 0; #X obj 178 108 loadbang; #X msg 609 116 0; #X text 611 98 automatic; #X msg 177 354 wndalign \$1; #X msg 178 127 31 63 125 250 500 1000 2000 4000 8000 16000; #X msg 544 141 q \$1; #X text 256 197 exact (and slow); #X msg 608 164 getq; #X msg 246 259 getthreshold; #X msg 253 382 getwndalign; #X obj 543 164 s \$0-cq; #X obj 176 258 s \$0-cq; #X obj 177 382 s \$0-cq; #X text 175 302 window alignment; #X text 185 320 front/center/back; #X msg 500 231 window; #X text 554 230 no/boxcar window; #X obj 497 384 s \$0-cq; #X msg 563 384 getwindow; #X msg 499 254 window triangular; #X msg 499 274 window hamming; #X msg 499 294 window hann; #X msg 499 315 window cosine; #X msg 499 336 window bartlett; #X msg 498 358 window blackman; #X text 500 208 analysis window function; #X obj 178 147 s \$0-cq; #X obj 147 419 cnv 15 550 50 empty empty empty 20 18 0 18 -24198 -66577 0; #X msg 177 427 reset; #X text 245 427 recalculate kernel; #X text 246 443 (necessary after changing above parameters); #X obj 147 474 cnv 15 550 120 empty empty empty 20 18 0 18 -233017 -66577 0; #X obj 176 544 list prepend set; #X obj 176 565 list trim; #X msg 177 487 getlength; #X text 251 487 fft length; #X text 287 506 actual time resolution; #X obj 47 624 cnv 15 650 200 empty empty empty 20 18 0 18 -233017 -66577 0; #X obj 57 674 vsl 15 128 0.0001 1 1 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 75 674 vsl 15 128 0.0001 1 1 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 93 674 vsl 15 128 0.0001 1 1 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 111 674 vsl 15 128 0.0001 1 1 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 129 674 vsl 15 128 0.0001 1 1 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 147 674 vsl 15 128 0.0001 1 1 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 165 674 vsl 15 128 0.0001 1 1 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 183 674 vsl 15 128 0.0001 1 1 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 201 674 vsl 15 128 0.0001 1 1 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 219 674 vsl 15 128 0.0001 1 1 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 409 664 bng 15 250 50 0 empty empty empty 0 -8 0 10 -262144 -1 -1; #X msg 429 685 rate \$1; #X msg 547 664 -1; #X msg 428 664 0; #X text 546 649 auto; #X text 410 649 manual; #X text 476 649 timed(ms); #X msg 501 707 getrate; #X msg 477 664 100; #N canvas 0 22 450 300 (subpatch) 0; #X array spectrum 10 float 2; #X coords 0 0.02 10 0 100 140 1; #X restore 274 662 graph; #X msg 407 764 buffer; #X msg 470 765 buffer spectrum; #X msg 472 797 getbuffer; #X text 55 805 logarithmic sliders; #X text 278 807 linear values; #X obj 406 797 s \$0-cq; #X obj 429 707 s \$0-cq; #X text 411 635 analysis rate; #X text 406 746 as list; #X text 513 747 to buffer; #X text 312 547 dumped attributes; #X obj 57 652 unpack 0 0 0 0 0 0 0 0 0 0; #X obj 275 633 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 177 446 s \$0-cq; #X text 176 184 kernel sparsity threshold; #X msg 599 766 bufupd \$1; #X obj 599 747 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X text 598 785 redraw on/off; #X obj 180 336 hsl 128 15 -1 1 0 1 empty empty empty -2 -8 0 10 -262144 -1 -1 6350 1; #X floatatom 272 356 5 0 0 0 - - -; #N canvas 56 468 455 473 more 0; #X obj 66 412 s \$0-cq; #X msg 151 376 reset; #X msg 149 411 getfrqs; #X text 265 68 third steps; #X text 265 128 quarter tone steps; #X msg 214 411 getq; #X text 66 23 calculate frequencies and qfactors at once; #X text 203 377 recalculate kernel; #X text 149 318 double resolution; #X msg 66 68 octfrqs 50 15000 3; #X msg 66 128 octfrqs 50 15000 24; #X text 265 98 semitone steps; #X msg 66 97 octfrqs 50 15000; #X text 172 97 12 is default; #X msg 66 202 logfrqs 50 15000 50; #X text 211 207 logarithmically spaced bands; #X text 213 193 divide frequency range into 50; #X text 213 236 divide frequency range into 50; #X msg 66 243 melfrqs 50 15000 50; #X text 211 250 mel-spaced bands; #X msg 66 295 barkfrqs; #X msg 66 318 barkfrqs 2; #X text 147 296 divide bark scale in 24 "critical bands"; #X connect 1 0 0 0; #X connect 2 0 0 0; #X connect 5 0 0 0; #X connect 9 0 0 0; #X connect 10 0 0 0; #X connect 12 0 0 0; #X connect 14 0 0 0; #X connect 18 0 0 0; #X connect 20 0 0 0; #X connect 21 0 0 0; #X restore 402 151 pd more frqs; #X msg 247 148 getfrqs; #X obj 57 527 constantq~; #X msg 177 506 getgranularity; #X msg 501 505 loudness \$1; #X obj 500 486 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X msg 501 548 fmasking \$1; #X obj 501 571 s \$0-cq; #X obj 500 529 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 594 529 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X msg 595 548 tmasking \$1; #X obj 57 629 spigot; #X obj 105 630 tgl 15 0 empty empty on 17 7 0 10 -262144 -1 -1 0 1 ; #X obj 146 610 list length; #X floatatom 146 629 5 0 0 0 - - -; #X text 532 42 (c)2008-2012 gr@grrrr.org; #X text 533 24 version 0.2; #X msg 312 566; #X connect 3 0 92 0; #X connect 3 1 92 0; #X connect 4 0 82 0; #X connect 4 1 101 0; #X connect 4 1 103 0; #X connect 5 0 92 0; #X connect 8 0 17 0; #X connect 9 0 23 0; #X connect 10 0 9 0; #X connect 11 0 9 0; #X connect 12 0 16 0; #X connect 13 0 17 0; #X connect 15 0 24 0; #X connect 16 0 38 0; #X connect 17 0 22 0; #X connect 19 0 17 0; #X connect 20 0 23 0; #X connect 21 0 24 0; #X connect 27 0 29 0; #X connect 30 0 29 0; #X connect 31 0 29 0; #X connect 32 0 29 0; #X connect 33 0 29 0; #X connect 34 0 29 0; #X connect 35 0 29 0; #X connect 36 0 29 0; #X connect 40 0 83 0; #X connect 44 0 45 0; #X connect 45 0 107 0; #X connect 46 0 92 0; #X connect 60 0 76 0; #X connect 61 0 76 0; #X connect 62 0 61 0; #X connect 63 0 61 0; #X connect 67 0 76 0; #X connect 68 0 61 0; #X connect 70 0 75 0; #X connect 71 0 75 0; #X connect 72 0 75 0; #X connect 81 0 50 0; #X connect 81 1 51 0; #X connect 81 2 52 0; #X connect 81 3 53 0; #X connect 81 4 54 0; #X connect 81 5 55 0; #X connect 81 6 56 0; #X connect 81 7 57 0; #X connect 81 8 58 0; #X connect 81 9 59 0; #X connect 85 0 75 0; #X connect 86 0 85 0; #X connect 88 0 15 0; #X connect 88 0 89 0; #X connect 91 0 38 0; #X connect 92 0 4 0; #X connect 92 1 44 0; #X connect 93 0 92 0; #X connect 94 0 97 0; #X connect 95 0 94 0; #X connect 96 0 97 0; #X connect 98 0 96 0; #X connect 99 0 100 0; #X connect 100 0 97 0; #X connect 101 0 81 0; #X connect 102 0 101 1; #X connect 103 0 104 0;