Fast Fourier Transform Macros

Fast FFTs for Reaktor, implemented in core.

(99 Votes)
2.7 (Updated 14 years ago)
September 25, 2006
Reaktor 5 or lower


FFT at last.

This package contains core macros that implement 16- to 2048-sample Fast Fourier Transforms.

These are true FFT macros, that require only N log(n) operations to perform a fourier transform. A 2048-sample FFT/iFFT takes less than 2.9% of available CPU on my computer (an AMD Athlon 64x2 3800+).

Please see the readme.htm file for instructions on how to use these macros.

New in 2.2:

- Inverse FFT macros.
- Hann and Hamming Window macros.
- Documentation in the readme.html file, including examples of how to use the macros.
- Cleared up the confusion over the copyright notice (free to use, modify or distribute, preserve the copyright notice please).

v 2.4:
- Converted readme.html images to GIF so that the NI .ZIP filters don't strip the bitmaps.

- Coverted readme.html to readme.pdf because the NI .ZIP filters don't like GIFs either. (sigh).


Jimmy Edgar
13 years ago
Is there supposed to be a PitchShift Module in here, the readme files have them pictured but I am not able to implement it.
Artur Nowak
13 years ago
Thank you Robin for making me immortal in the "readme.pdf" :-)
das wesen
14 years ago
Amazing again!
Nathan Ramella
14 years ago
If you're interested in why FFT is such a big deal, there's a fair write up here - From the article: Their algorithm, which soon came to be called the fast Fourier transform--FFT for short--is widely credited with making many innovations in modern technology feasible. Its impact extends from biomedical engineering to the design of aerodynamically efficient aircraft. Over the last two and a half decades, Cooley and Tukey's paper has been cited in well over a thousand articles in journals ranging from Geophysics to Applied Spectroscopy. According to Gil Strang of MIT, the FFT is "the most valuable numerical algorithm in our lifetime."
Robin Davies
14 years ago
(If I understand the question properly) As long as you know that there's no signal above 22khz, you could subsample the audio by clocking the SRC pin on every 2nd sample. (That should work, if I've hooked up the SRC pins properly throughout). But if there's signal above 22khz, you'll get aliasing. Pluses: better resolution at lower frequencies; minuses: it's very difficult to filter cleanly, and not much in reactor doesn't generate signals in that range. Probably better to build an FFT-4096 if that's what you really need.
Palle Dahlstedt
14 years ago
Finally! Been waiting for years for this. Just downloaded your zip, and 'm really looking forward to try them! Big thanks for your efforts.
ant stewart
14 years ago
brilliant. at the moment if the master sample rate is at 88 kHz, it analyses frequencies up to 88, would it make sense to use the faster rate to analyze data in between zero and 22kHz?
15 years ago
Artur Nowak
15 years ago
Uuuuuuu FFTeeeee... Bunch of macros, which nobody knows how to use them. This may be the bigest Reaktor breakthrough, or a good hoax, who knows?
Tom Cohoe
15 years ago
Fantastic. I started an FFT implementation in R4, but gave up when I realized it would not actually be fast. Now you've done it.
James Duffett-Smith
15 years ago
I'm not really sophisticated enough to understand exactly what I can do with these but I understand that they're a bit of a holy grail. So maximum respect for this --
Colin-Patrick Charles
15 years ago
robin, thanks for sharing!
gabriel mulzer
15 years ago
really very covenient to use, fantastic
Michael Polane
15 years ago
yes that would be great!!
Phil Durrant
15 years ago
Robin, it would be great if you would build a Reaktor ensemble that shows these macros off :-)