Advanced Max: FFTs, Part 3


    In the third in our series on using the FFT in Max, spend 45 minutes learning how to visualize the FFT processing you're working with, and further explore the use of various window types in ways that you can see and hear.
    All the tutorials in this series: Part 1, Part 2, Part 3, Part 4, Part 5, Part 6, Part 7.

    Advanced Max: FFTs, Part 3


    • Mar 14 2017 | 9:31 pm
      Nice tutorial, thanks for that. I thought you would demonstrate using windowing in the [jit.fft] patch... Would still like to see examples of that.
    • Mar 15 2017 | 3:27 pm
      Thanks, Jean-Francois! Great idea to apply windowing to the frames sent to jit.fft.
    • Mar 15 2017 | 5:11 pm
      Gosh, I miss MaxMSP :(
    • Mar 15 2017 | 5:16 pm
      (I've taken a vow to execrate all vernacular pseudo-religious exclamations from my vocabulary; it's just a thing)
      Gosh. (and then I did a google research, sigh)
    • Mar 17 2017 | 8:40 pm
      Great series! I've been looking for engaging and accessible ways to explain FFTs to students in my audio processing/design course (which is all Max, all the time, I might add), and these tutorials and patchers are very useful. Thanks!
    • Mar 24 2017 | 1:38 pm
      thx. that's great.
    • Apr 12 2017 | 4:26 pm
      Thanks for a really useful tutorial!
      Maybe I just missed it, but what was that little detail you were about to deal with in 42:15?
    • Apr 12 2017 | 5:03 pm
      Ha! Great observation @Alvin!
      I was originally planning to come back and introduce the vectral~ object. The benefit is that it would make the drawing of the spectrum less jumpy. I ran out of time and skipped that addition to the patcher.
      Cheers!
    • May 07 2017 | 10:12 am
      Thanks, this is one of the best things I've been following along this year!
    • Mar 16 2018 | 8:24 am
      Hi Tim. Thank you for some great and really informative tutorials, there is so much to be learned here! I have a question, in this tutorial there is something I can´t comprehend: In the last part of the tutorial - where you copy/paste parts of your overlapped fft-patch from Tutorial 2, you leave the numbers from that tutorial - that had fft-sizes of 512 samples. So the count-up for the window-indexing is still 512 samples with an overlap/delay of 256 samples (and the window-buffer is set to 512 samples), eventhough the fft-size is 1024 samples big with an overlap of 512 samples. The spectrum looks neat (with a dc-offset/noisefloor around -70 dB). -Is match between window-indexing and fft-sizes not that important, or how is it? I tried to dial in numbers according to your Tutorial 2 setup, so the fft- and window-sizes match with corresponding overlaps etc. The result is a noise floor around -96 dB, but also with quit a lot of unaccounted for noise down there - eventhough for practical applications this would probably be acceptable. What is the correct way to do this?