[PD] fft beginner question

hard off hard.off at gmail.com
Tue Nov 20 16:03:17 CET 2007

so, i don't know too much about fft, but here's what i can gather.
hopefully some people who actually understand it can explain where i
am wrong:

fft analyzes a 'block' of samples.  a block is just a section of
consecutive samples.  pd's default block size is 64 samples, which is
why you get 64 numbers for each FFT analysis in pd with default block

the maximum frequency fft analysis will give you is half of your
sampling rate.

for a block size of 2, the only frequency FFT tells you about is half
the samplerate (SR/2)

for a block size of 4, FFT can then tell you about SR/4 and
2xSR/4..so, for a sampling rate of 44100hz, you'd get info on 11025
and 22050 hz

for a block size of 8, you can now find out about 4 frequencies:
SR/8, 2xSR/8, 3xSR/8, 4xSR/8   (ie, 5512, 11025, 16538, 22050)

for a block size of 16, you can find out about SR/16, 2xSR/16,
3xSR/16, 4xSR/16, 5xSR/16, 6xSR/16, 7xSR/16, and 8xSR/16

and so on...always until you reach half the sample rate.  ..i think
you also get info on 0hz, and i guess that is also somehow important
when it comes to resynthesis, but i'm not too sure if or how or why.

once you get up to a block of 64 or 128 samples or more, you start to
get pretty good info on the basic waves which make up that block of

i'm really not sure about this next bit...but i think the reason why
you get a real part and an imaginary part is because the analysis
finds the angle between one sample and the next one.  ..if it's a
steep angle, then that's a high frequency...if it's a flatter angle,
then that's a lower frequency.

and the way to find an angle is derived from pythagoras' equation....a^2+b^2=c^2

so...that works fine when the samples lie above the zero axis...but
when they go below the zero axis, then to get the angle you have to
take the square route of a negative number.  hence the imaginary part.

i could be way off the mark here,.,,,but that's just what i could guess.

pd uber pro's.. how wrong am I?

More information about the Pd-list mailing list