Extreme time shifting
I am trying to implement time shifting in Max, and I’d like to be able to slow down a buffer to very slow playback without affecting pitch, almost to a freeze in order to use the particular timbre for long ambiences. What is the best way to do this and achieve high quality? I was considering buying the elastic~ object, but then I discovered the free_elastic object (http://devinkerr.com/2008/10/30/free_elastic-independent-pitchspeed-control-in-max/) and tried that. But I’m a bit dissatisfied with the quality as there are significant fft artifacts and warbling when the time scale is sufficiently slowed. Does anyone know if the elastic~ object is better? (it is a bit pricey)
Are there any other things I can do to ensure good quality? Should I use higher sample rate sounds (48k?) or apply any filters prior to stretching the time?
I suggest d/l-ing the granular toolkit from Nathan Wolek. In my opinion, granular methods sound best for extremely slow pitch-independent playback. It’s pretty easy to make a nice sounding patch with the GTK, or just use one of the example patches.
Also, if you want to freeze completely, the jitter sonogram patches from Jean-Francois Charles are brilliant, like cudnylon suggested.
I’ve got the elastic~, elasticx~ and elasticindex~ objects. Elastic~ isn’t capable of extreme stretching (thats what the added x represents…) and because the ""x~ objects are optimized to be used over a large range of playback speeds, the sound quality suffers a little. You can make a patch with just msp objects or the GTK that sounds arguably better for extremely slow speeds.
Thats just my 0.132 pence worth!
You can even get very nice audio freeze in time domain, using basically granulation… Depends on the original sound, and surely on how you massage the sound after the granulation itself.
>You can even get very nice audio freeze in time domain, using basically granulation…
Like this… (attached patch needs gabor/ftm free externals bundle from ircam)
p.s: two interesting threads on the subject: