#N canvas 710 127 750 388 12;
#X text 84 173 frequency;
#X floatatom 30 180 7 0 0 0 - - - 0;
#X floatatom 30 72 4 0 63 0 - - - 0;
#X text 84 190 in Hz.;
#X obj 30 243 rfft~;
#X obj 30 155 / 64;
#X msg 180 185 \; pd dsp 1;
#X obj 49 21 framp~;
#X text 112 20 - estimate frequency and amplitude of FFT components
;
#X obj 28 277 framp~;
#X obj 103 336 print~ frequency;
#X obj 118 311 print~ amplitude;
#X obj 30 211 osc~;
#X text 304 104 Framp~ takes as input a rectangular-windowed FFT and
outputs \, for each FFT channel \, the estimated amplitude and frequency
of any component feeding that channel. A sinusoidal component should
appear in four components (or three in the special case of a sinusoid
exactly tuned to a bin.) Frequency output is in bins \, i.e. \, units
of SR/N.;
#X text 80 70 frequency in bins (< 63);
#X obj 30 97 t f b;
#X obj 62 128 samplerate~;
#X obj 30 127 *;
#X text 491 330 updated for Pd version 0.47;
#X text 304 216 The estimation is done according to the hop-1 trick
described in Puckette&Brown \, Accuracy of Frequency Estimates Using
the Phase Vocoder \, using a Hann window. A more sophisticated version
of this technique is used in the sigmund~ object.;
#X obj 103 263 bng 20 250 50 0 empty empty empty 17 7 0 10 #fcfcfc
#000000 #000000;
#X text 129 264 <= print analysis;
#X obj 180 161 tgl 17 0 empty empty empty 17 7 0 10 #fcfcfc #000000
#000000 0 1;
#X text 203 160 DSP on/off;
#X connect 1 0 12 0;
#X connect 2 0 15 0;
#X connect 4 0 9 0;
#X connect 4 1 9 1;
#X connect 5 0 1 0;
#X connect 9 0 10 0;
#X connect 9 1 11 0;
#X connect 12 0 4 0;
#X connect 15 0 17 0;
#X connect 15 1 16 0;
#X connect 16 0 17 1;
#X connect 17 0 5 0;
#X connect 20 0 10 0;
#X connect 20 0 11 0;
#X connect 22 0 6 0;
