AN-12: Basic FFT Processing without Multi-Threading
by Andrew Stockton
This App Note shows you how to do basic frequency domain processing using the FFT and IFFT. Andrew Stockton, a senior Music Engineering student in the University of Miami’s Music Engineering Technology program, put together a great sample project and short App Note that shows you how to do the FFT and IFFT processing without using multi-threading or buffer-based signal processing. Everything is done in processAudioFrame() and it is portable to MacOS (VST2/3 and AU). Mr. Stockton also gives you optimized FFT/IFFT functions that run very efficiently, allowing plenty of spare CPU cycles for processing. He covers windowing with a Hann window, overlap-and-add, and gives you four algorithms to try:
– Low Shelving Filter
– High Shelving Filter
– Magnitude/Phase Swapper
– simple Pitch Shifting (start with the Value control at 1.0 and then lower it)
The project is very well done, concise coding and plenty of comments – Andrew shows you which lines to alter for your own processing. The image below is the plot of the two shelving filters.