Hi
The theoretical background probably most appropriate for the FFT (check out some Berkeley courses for instance , as I recall some woman there having a good web-cast about the subject) is the Electrical Engineering interpretation and (as I'm formally educated in) the Network Theory related to it: it's a shortened (from infinite) convolution filter.

No matter what you do with it, unless you know exactly what you're theoretically basing yourself on, the analysis of frequencies with the FFT will have serious limitations (and of course interesting possibilities), and Inverse FFT-ing some data will probably have side effects you don't count on (but of course it's fun).

The averaging of either the frequency (and don't forget the phase information, otherwise you might get deluded that actual music can be summed up with one phase as if it was a sine-wave) data or the IFFT-ed sample set (which is also subject to DA converter resampling, no matter how hard you hope the FFT will alleviate this need) generally makes of course a somewhat smoother audio signal (as intended I suppose). But, it doesn't solve all the problems of "hacking" transients and inaccurate frequency components.

Lets say you FFT any signal you want (of course with no aliasing frequencies), it is very likely that the signal won't exactly "fit" in the length of the FFT, that is: there is a discontinuity between the current FFT frame and the previous, ot otherwise put, if you'd want to repeat the current FFT frame, the last sample is most likely not close to the first sample, and higher order continuity is even more unlikely. The frequency data associated with this will indicate all kinds of frequency components to reflect this, and which are not coming from a more reasonable interpretation of the input samples in frequency domain. This will not properly resolve by averaging data in almost any case of of musical data, at all, ever.

Also, averaging the output of the IFFT is indeed some sort of a FIR low frequency filter which cannot exactly do what you'd normally want (a great smooth signal with all the right properties, low distortion and some frequency domain transform), and will always be audible.

So unless you like the effect (in some cases that is certainly reasonable), or unless you use the FFT and some sensible frequency domain filter response and pre- and post filter you data (like happens in the "studio data path" example I presented) the averaging effects coming from it and the "jaggy" signals coming out of it (in my case Loudness curve related impulses), it isn't really going to verify some sort of holy grail of DSP gurus (not EEs), but rather falsify such ideas!

About frequency detection accuracy: depending on what data you sent to the FFT compuations, there are a number of bins, related to the length of the FFT, which will not average out very well into more accurate frequency detection, and really aren't super accurate, except for a nice spectogram and some purposes where certain frequency ranges are important. The FFT cannot easily be averaged into a filter longer than it's length, and according to statistical or Information Theory rules, a thousand or so samples simply isn't more accurate than it is.

Theo.

------------------------------------------------------------------------
Highway to Hell - Highway to Hell, AC/DC
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp

Reply via email to