Smoothing out pitch change in delay feedback

leemorgan's icon

Hello everybody,

I'm not new to max/msp - and thought I had a working brain, but apparently not...

I'm looking for a way to make a pitch-change in a delay feedback run silkily smooth.

It's a simple patch, but despite trying every method of pitch shift and delay size, there is always a 'pulse' in the delay (especially noticeable when the sound file stops....)

Is there a better way to do this - or am I always going to be hitting a window-size issue which makes this pulse happen?

The desired effect it a constant cascade of falling pitches, but totally smooth.

Thanks in advance....

Lee Morgan

4347.pitchfaller.maxpat
Max Patch
andrea agostini's icon
leemorgan's icon

Thanks Andrea - happy to get those tools, but it doesn't seem any better than tapin/out in this particular patch.

I'm about to try 2 delays with phasor to swap between the two, and fiddling with delay times and fft sizes, overlapping sizes....but maybe that's a dead end?

Lee

brendan mccloskey's icon

Hi Lee
have you checked out our "good buddy Sam" at Delicious MaxMSP on youtube? He has a good collection of both fun and didactic tutorials, including delay-based pitch variation; I'm sure you'll find something you can hack.

Brendan

leemorgan's icon

Yes....but it's not really delay-based pitch shifting I'm trying to do, it's combining a delay with pitch-shiftiing on a feedback loop that I'm trying to do....the delay itself is (and I think needs to stay) static...

mzed's icon

I think you're running into the reality of digital audio. Each individual sample has no pitch; pitch is an emergent property of a group of samples. You can't really shift the pitch until you've collected a group of samples.

I made patch called harm-gran~ in the CNMAT downloads that does pitch shifting on relatively short windows. But there are still audible artifacts. gizmo~/pfft~ also imposes it's own delay. In the time domain, there really is no pitch shift without some time shift.

leemorgan's icon

Well now you see, this is why I love max/msp and it's community: helpful, unpatronizing explanations.....we all learn, and move on. Thanks doc!