pitchshifting delays with gen~

jmejia@gmail.com's icon

I'm looking for a reasonably fast and smooth sounding pitchshifting solution in gen~ (or RNBO for that matter). I did an implementation using the approach Sam shared in this old max tutorial but I'm getting more clicks than just the one at the phasor turnaround - and for some reason the ducking approach he used isn't working in gen. My gen patch is attached- but if there are some fundamental problems with this approach in gen, or if anyone has a recommendation for a different algorithm I'm happy to change approaches. My end goal for this is a realtime application so I am latency conscious, but am down to work with whatever is actually possible. Thanks!

pitch-shifter.gendsp
gendsp 9.52 KB

Jean-Francois Charles's icon

You get the same algorithm, with 4 overlapping windows instead of 2, in this patch:
Max Help -> Examples -> gen -> gen~.pitchshift

jmejia@gmail.com's icon

Thanks Jean-Francois! Not sure how I missed that in the examples. It's a great structure for experimenting with this algorithm. I think this will work well enough for me - but I'm curious if there are any FFT based examples floating around? Thanks!