Spectral Blurring in MSP w/PVOC?

Noisegaze's icon

I'm looking for a way to implement spectral blurring in real-time in Max. The caveat being that I need to only use MSP objects so this means no Jitter work ala Jean-Francois Charles' work on spectral processing (https://cycling74.com/tools/charles-spectral-tutorials/).
I have read the Phase Vocoder tutorial
(https://cycling74.com/2006/11/02/the-phase-vocoder-%E2%80%93-part-i/)
in order to try and figure it out but have hit a brick wall in my understanding.

My limited understanding of this effect comes from Trevor Wishart and Michael Norris.

Any insights or examples would be much appreciated!

Peter McCulloch's icon

From Wishart:

We may average the spectral data in a each frequency-band channel over N time-windows (spectral blurring) thus reducing the amount of detail available for reconstructing the signal. This can be used to "wash out" the detail in a segmented signal and works especially effectively on spikey crackly signals (those with brief, bright peaks). We can do this and also reduce the number of partials (spectral trace & blur) and we may do either of these things in a time-variable manner so that the details of a sequence gradually become blurred or gradually emerge as distinct. (Sound example 3.25).

You can do something like this via the vectral~ object. (the smearing via envelope following) Vectral~ is a vector-based envelope follower and has several different modes.

Looking at the Michael Norris page, it looks like he's doing something more like sampling a spectral frame every n frames, then interpolating between that and the next one. The part of the implementation that's not clear is what you do in terms of overlapping frames.