Spectral Freeze - Max/MSP Tutorial
Vložit
- čas přidán 22. 07. 2024
- Spectral Freeze is one of my favorite effects - it lets you take a sound and turn it into soundscapes, sonic textures, and harmonic echoes. In this video I create this effect by using [pfft~], applying FFT and IFFT on the audio signal, and saving the spectral analysis into a Jitter Matrix. This is a long one, but a great introduction to the world of FFT!
💽Patch: github.com/umutreldem/hearing...
0:00 - Introduction
1:07 - Setting up a spectral recording [pfft~]
6:52 - Inputs and FFT data in [pfft~]
11:03 - Recording the FFT analysis into [jit.matrix]
25:27 - Creating a record toggle
29:00 - Setting up a spectral playback [pfft~]
33:24 - Reading the FFT analysis from [jit.matrix]
38:55 - Trying different sounds & further ideas
Great job! Thanks for sharing!
Thank you for sharing, you are an inspiration!
Your videos are invaluable! Thanks
Terrific video! Thank you!
awesome tutorial
Brilliant, thanks very much!
Amazing, thank you so much!
Thanks Umut, this is incredibly helpful! One question: How would you attribute colour (ala iZotope analyzer) to the jit.pwindow outcome? A frequency colour map so to speak.
GREAT!
Awesome video, thanks a lot for sharing ! I'm guessing this is how time stretching works ?
Indeed!
this is amazing!! Is there a way to save the the "recording" inside the fft to build a palette of them to come back to later after closing?
Check out the jit.matrixset object - you can take the result of the fft analysis as a Jitter Matrix, combine it into a set, and save it.
Love this idea and really want to incorporate it into another device I'm making. The thing is I'm using RNBO, which doesn't have objects like pfft~ or any jit objects. No framedelta either. You mentioned using buffers but being new to Max and not particularly qualified in the mathematics department, I'm not sure how to translate what you've done into a different approach. Any thoughts?
I am currently not that experienced with RNBO, but fft~ and ifft~ seem to work there. You should be able to use those with audio buffers instead of Jitter matrices to store and recall information.
[mc.selector~] is your friend