Hallo, hard off hat gesagt: // hard off wrote:
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.
That's not quite correct. The data, that the FFT gives you, not only has the frequency content of a block encoded, but also the phase. In my little tutorial I compare it to a bank of [osc~] objects that are tuned in fixed integer multiples of SR/blocksize from 0 to SR/2, where FFT gives you the amplitude of each osc~ plus its phase (second inlet of [osc~]).
So we're dealing not with single numbers here, but with pairs of numbers that specify how loud and at which phase the osc~ sounds. Pairs of numbers are like coordinates into a 2-dimensional space. They could be cartesian (x and y) or polar (angle and radius). Complex numbers are just pairs of numbers as well. FFT gives out cartesian coordinates (re = x, im = y) that are connected to phase and magnitude, if you view the latter as the respective polar coordinates for that fft-bin.
To convert from cartesian to polar you can use:
magn = sqrt(re^2 + im^2) <-- cf. pythagoras here phs = arctan(im/re)
You can convert back as well using similar formula.
Why does FFT give cartesian coordinates? Well, as you can convert between both representations it could give polar directly as well. (You could make a little abstractions to get a polar [fft~] object.) For some calculations polar, for others cartesian coordinates are easier to use. To quote Miller:
The main reason we use complex numbers in electronic music is because they magically automate trigonometric calculations. We frequently have to add angles together in order to talk about the changing phase of an audio signal as time progresses (or as it is shifted in time, as in this chapter). It turns out that, if you multiply two complex numbers, the argument of the product is the sum of the arguments of the two factors.
http://crca.ucsd.edu/~msp/techniques/latest/book-html/node105.html
"Argument" is the angle here.
Frank Barknecht _ ______footils.org__