#N canvas 1586 197 523 473 10; #X declare -lib Gem; #X declare -lib Gem; #X text -7 -41 Description: FFT spectral graphical analysis; #X obj -4 7 gemhead; #X obj 57 111 t f f; #X msg 145 281 \$1 0.5 1; #X obj 283 -21 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1; #X obj -4 66 mtl/gemsDuplicate 128; #X obj 57 90 tof/increment; #X obj 145 301 mtl/hsvToRgb; #X obj -4 356 color; #N canvas 0 63 968 641 fft 0; #N canvas 997 194 427 326 fft 0; #X obj 46 64 inlet~; #X obj 46 94 rfft~; #X obj 46 127 *~; #X obj 77 127 *~; #X obj 46 157 sqrt~; #X obj 216 60 inlet; #X obj 278 96 block~ 1024 1; #X obj 53 204 clip~ 0 500; #X obj 144 265 tabwrite~ \$0-fft; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 1 0 2 1; #X connect 1 1 3 0; #X connect 1 1 3 1; #X connect 2 0 4 0; #X connect 3 0 4 0; #X connect 4 0 7 0; #X connect 5 0 8 0; #X connect 7 0 8 0; #X restore 311 350 pd fft; #X obj 312 75 inlet~; #X obj 451 293 metro 20; #X msg 456 224 1; #X obj 456 204 loadbang; #X obj 312 301 hip~ 50; #X obj 312 321 *~ 1; #X obj 300 452 table \$0-fft 128; #X obj 193 196 tabread \$0-fft; #X obj 194 173 clip 0 127; #X obj 74 69 inlet tabread.index; #X obj 125 522 outlet tabread.values; #X connect 1 0 5 0; #X connect 2 0 0 1; #X connect 3 0 2 0; #X connect 4 0 3 0; #X connect 5 0 6 0; #X connect 6 0 0 0; #X connect 8 0 11 0; #X connect 9 0 8 0; #X connect 10 0 9 0; #X restore 145 160 pd fft; #X obj 283 1 mtl/gemsWin /dimen 640 480; #X obj 57 157 - 1; #X obj 57 134 / 64; #X obj -4 378 rectangle 0.008 0.008; #X obj 145 184 clip 0 100; #X obj 145 236 + 0.5; #X obj 145 258 maxlib/wrap 0 1; #X obj 145 214 maxlib/scale 0 100 0 0.5; #X obj 178 123 readsf~; #X obj 178 78 openpanel; #X obj 178 59 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X msg 178 100 open \$1 \, start; #X obj 284 126 adc~; #X text 201 56 <- read a soundfile; #X text 319 124 <- talk into your mic; #X obj -4 331 translateXYZ 0 0 0; #X obj 374 -34 import Gem; #X obj 252 159 mtl/out~; #X text -9 -24 Authors: Alexandre Quessy and TOF; #X obj -4 39 mtl/gemsStretch; #X obj 248 259 maxlib/scale 0 100 0.001 1; #X connect 1 0 29 0; #X connect 2 0 12 0; #X connect 2 1 9 0; #X connect 3 0 7 0; #X connect 4 0 10 0; #X connect 5 0 25 0; #X connect 5 1 6 0; #X connect 5 2 6 1; #X connect 6 0 2 0; #X connect 7 0 8 1; #X connect 8 0 13 0; #X connect 9 0 14 0; #X connect 11 0 25 1; #X connect 12 0 11 0; #X connect 14 0 17 0; #X connect 14 0 30 0; #X connect 15 0 16 0; #X connect 16 0 3 0; #X connect 17 0 15 0; #X connect 18 0 9 1; #X connect 18 0 27 0; #X connect 18 0 27 1; #X connect 19 0 21 0; #X connect 20 0 19 0; #X connect 21 0 18 0; #X connect 22 0 9 1; #X connect 25 0 8 0; #X connect 29 0 5 0; #X connect 30 0 13 2;