#N canvas 54 36 882 556 12; #X floatatom 306 344; #X floatatom 68 337; #N canvas 72 0 896 679 fft-analysis 0; #X obj 140 447 *~; #X obj 54 705 *~; #X obj 139 612 *~; #X floatatom 206 267; #X obj 185 349 *~; #X obj 356 188 + 1; #X msg 447 257 0; #X obj 173 181 *~; #X obj 57 89 *~; #X obj 95 641 *~; #X obj 57 49 inlet~; #X obj 54 642 *~; #X obj 126 68 tabreceive~ hanning; #X obj 57 136 rfft~; #X obj 54 672 rifft~; #X obj 55 743 outlet~; #X text 132 50 Hanning window; #X text 63 115 forward real FFT; #X text 72 721 inverse real FFT; #X graph graph1 0 0 1024 20 491 631 891 331; #X array mask 1024 float; #X pop; #X obj 134 180 *~; #X obj 134 209 +~; #X msg 447 132 0; #X obj 317 129 float; #X obj 377 149 + 1; #X obj 318 72 bang~; #X obj 318 101 spigot; #X obj 449 186 < 10; #X floatatom 497 185; #X obj 256 306 tabreceive~ mask; #X obj 357 267 /; #X msg 357 237 1; #X obj 230 350 -~; #X obj 370 331 sig~; #X obj 447 232 sel 0; #X obj 348 356 *~; #X obj 331 387 +~; #X obj 330 412 tabsend~ mask; #X floatatom 448 287; #X obj 316 156 t f f; #X obj 446 56 r make-mask; #X obj 206 296 sig~; #X obj 206 241 r mask-level; #X obj 140 414 /~; #X obj 356 212 t b f; #X obj 177 612 sig~ 0.001; #X obj 29 781 block~ 1024 4; #X obj 663 76 r window-size; #X obj 447 84 t b f; #X obj 676 137 t b f; #X obj 663 171 /; #X obj 661 194 * 250; #X text 728 202 hop size in msec; #X obj 497 107 /; #X text 497 206 number of; #X text 505 221 frames; #X text 439 12 calculate a mask using N msec of; #X text 438 30 background noise; #X obj 176 415 sig~ 1e-20; #X text 152 467 multiply the signal by the; #X text 153 485 quantity s/(s+m) where "s"; #X text 152 505 is signal power and "m" is mask.; #X text 153 527 The multiplier is close to 1 if; #X text 155 549 s>>m \, but close to 0 if s<