Using buffer~, stretch~ with live processing of vocals

Daniel Markus's icon

I'm working on a live processing patch that can pitch shift vocals in real time, and one major hurdle I've encountered is that none of the pitch shifting objects in MaxMSP, including pitchshift~, retune~, or gizmo~ (within pfft~) are able to do formant shifting, which leaves the output signal sounding very chipmunky.

Thankfully, it seems that stretch~ is able to do formant shifting, but it requires signal from a sound file in buffer~. Is there any way to get live input from a microphone into buffer~ so I can use stretch~?

Nathan Wolek's icon

record~

And if you need some extra help with zero-crossings (helpful when pitch shifting), I'll humbly point you to my own version...

nw.recordplus~

Cheers.
-NW

Antonio's icon

I see, zero crossing is the big issue here

Antonio's icon

Hello, It seems that record~ buffer~ couple has that click issue when the write/read locator passes from buffer end to buffer start, but It works fine if the buffer size is given in sampes, as power of 2. I don't know if somewhere that behaviout is described in detail.