Tutorials

    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


    by Timothy Place on
    Mar 14, 2017 5:24 PM

    • Jean-Francois Charles's icon
      Jean-Francois Charles's icon
      Jean-Francois Charles
      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.
      Share
    • Timothy Place's icon
      Timothy Place's icon
      Timothy Place
      Mar 15 2017 | 3:27 pm
      Thanks, Jean-Francois! Great idea to apply windowing to the frames sent to jit.fft.
    • brendan mccloskey's icon
      brendan mccloskey's icon
      brendan mccloskey
      Mar 15 2017 | 5:11 pm
      Gosh, I miss MaxMSP :(
    • brendan mccloskey's icon
      brendan mccloskey's icon
      brendan mccloskey
      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)
    • bsutherland's icon
      bsutherland's icon
      bsutherland
      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!
    • FP's icon
      FP's icon
      FP
      Mar 24 2017 | 1:38 pm
      thx. that's great.
    • Alvin Raat's icon
      Alvin Raat's icon
      Alvin Raat
      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?
    • Timothy Place's icon
      Timothy Place's icon
      Timothy Place
      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!
    • hz37's icon
      hz37's icon
      hz37
      May 07 2017 | 10:12 am
      Thanks, this is one of the best things I've been following along this year!
    • rasl's icon
      rasl's icon
      rasl
      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?