This edition of the Advanced Max series on FFTs is a swan dive off the high board - we’re going to use the Max SDK to create a pair of Max externals that will make FFT Processing easier. This 52-minute video will walk you through the development process for creating an object to normalize FFT values, and to convert FFT data from MSP signals to lists. Pull up a chair!
Since this video does the walkthrough using Xcode on a Macintosh, I've included a special bonus video for Windows users that details the differences in the development environment.
Download the package of source code, help patcher, and built externals for both platforms used in this tutorial.
I discovered a bug in the code we wrote in the video. I just uploaded an updated version that fixes this bug. If you've downloaded previously you might want to re-download now.
The bug was on line 162 of fft.list~.c where we copy the imaginary output. Except in the video we were copying the real output to the imaginary instead of the imaginary. Oops!
You'll get to see me discover the bug in the next video in this series!
Hi Timothy,that's great. Just want to know which is the min-max range of phase values comin out of fft.list,in order to correctly visualize them on a multislider. Thanks for what you are doing
Hi, thank you so much for this tutorial. For who is interested I've made the porting of fft.normalize~ and fft.list~ for m1's (and later) Mac. I hope this can help :)
Hey @Matteo concerning the fft.list~ object, did you have to change something in your source code? I followed the tutorial and even though I can compile the external for arm64, the output list contains a lot of `<unknow>`s (or `???` in a message box). This also happens if I compile the project shared by Timothy (for arm64)