Tutorials

Advanced Max: FFTs, Part 1

Here’s the first in a series on using the FFT in Max. Spend 26 minutes building two spectral effects processing patchers including a version of the classic Forbidden Planet example.

All the tutorials in this series: Part 1, Part 2, Part 3, Part 4, Part 5, Part 6, Part 7.

by Timothy Place on January 17, 2017

Billy McGrath's icon

I really enjoyed seeing a practical use and explanation of FFTs. I learned about them in school and always hear about how great they are for audio processing, but this example finally helped me grasp their use in context. Thanks!

rdomain's icon

My first patching with FFT. Thanks for the handy tutorial!

brendan mccloskey's icon

Replying to this so I can subscribe to updates

ant's icon

Great basic tutorial although some things are not explained...probably because too complicated!

peternortoft's icon

Very good. Thank you.

kanding's icon

Great! Thank you Timothy!

Jan Ove's icon

Great job. Thank you for the easy to understand tutorial!

periklis's icon

So good! Please more!!!

mmm444's icon

Great tutorial! I think I have spotted a little mistake. If one has FFT size of 512 samples and sample rate of 44kHz then in the frequency domain there are only 256 bands (complex samples) that go up to 22kHz (the half of the sampling frequency aka Nyquist frequency) and not 512 bands up to 44kHz as it is said in the video. One can confirm the band count by putting the minmax~ on the index outlet of fftin~.

hz37's icon

Thanks, awesome! Looking forward to what is next.

DominikK's icon

I'm quite sure the pfft~ object calculates 512 bands internally (which result from the FFT) but is hiding the mirrored bands 256- 511 from you since they don't provide any additional information for the processsing. They're probably put back to your signal before the IFFT.

anotherfilip's icon

Thanks very much! Looking forward to next one...

Philip Mantione's icon

A great and much needed tutorial! Looking forward to Pt. 2

Caligula Cuddles's icon

I know this is a broad question, but what exactly is the scope of capabilities in spectral processing? I understand the basis of how FFT works, and I've seen the examples (vocoder, cross-synthesis, spectral equalization and gating), but are there any more... musical applications for it beyond that? (I realize those are perfectly legitimate applications, but I was wondering how else it fits in for other purposes.)

Floating Point's icon

there's hundreds if not probably thousands of applications for spectral processing, including noise reduction, watermarking, audio compression, all sorts of analysis including separating pitched from unpitched material, tagging/categorization of music, high-level audio scene analysis, transposition, all sorts of hybrid synthesis techniques, the list goes on.
here's a pdf to get an idea of some interesting creative techniques in analysis-resynthesis, just to get you started:
sheefa.net/zack/publications/FFT_NEWLONDON95.pdf

Rafal Zalech's icon

Tutorial part 1 is worth watching from 08:00 :)

 Katniss p's icon

hi, i think ftt is quite interesting, but when i download the ftt document, i got a ftt whisper. maxpat document. and i could not open it through the Max, but i can just open in back from my document/max 8. i wonder where i should put it? should i put the ftt document in the max8/packages? or i should put it in other place. thanks. is that someone else suffer the same question as me?

Jean-Francois Charles's icon

When I click "Download the patches", I get a zip file with 3 files. Unzip and open the "fft-part1.maxpat" file.
You just need to properly unzip the set of patches, and to keep all three patches in the same folder.