I got SuperVP after having issues with elasticx~, but it sounds completely different. Good for some things, but unfortunately completely wrong for most of what I want to do.(It sounds much more "electronic" than elasticx to me, which might be fine for some things, but is way off for my sound).
So I've persevered with elasticx~, and under most circumstances it's ok for what I want to do. In other circumstances, like live performance (!!!!), it has a tendency to blow up (and stop audio working), and require a complete restart. So if you _do get it working proceed with caution!
(Just playing through a prerecorded buffer seems to be safe. It's when there are other processor intensive things going on that it seems to become unstable)
And as Brendan said, you'll need to work in 32bit mode.
It's a real shame that it has these problems, and I guess it never made enough money for the guys who wrote it to carry on with it. None of the other time stretching patches sound quite like it (though they each have their own distinctive, interesting sounds), so it's a pity that it appears to be end-of-line.
Well of course I had to try that out. grainstretch~ is much closer to the sound I like than SVP is, but it still lacks a certain je ne sais quoi. I think it sounds a little more pulsed, less overlap between the grains (less smooth), and other things I'm not really clear on (maybe a bit too "clean"). There's also the issue of it looping constantly, and so having to create a restart/muting scheme for it. But I'm going to add it to my multi-method "granular workspace" patch as a source of a slightly different sound.
I'd be interested to see/hear your own Max efforts in this sphere, if you've attempted DIY stretchy/freezy goodness recently. I tend to adhere to phase-locked overlapping fat sine windows, and despite numerous failed algorithms I cannot decorrelate grainsize from pitch. The simple algorithm I use is clearly illustrated in the attached patch; perhaps you could [learn from or] improve it?
without my derailing the thread, I can summarise it here. The idea of driving a [play~] object and it's associated grain window, with a core phasor, and then overlapping each grain via phase offsetting goes back to Nathan Wolek, Chris Dobrian et al. The idea of a single central phasor - to avoid phase de-synchronisation during parameter changes - was offered here by Peter McCulloch. The fat sine window is my own implementation, but is also suggested by Dobrian and others. The allpass filter(s) on the output are also my own idea, in that they subjectively blur AM arefacts, and also allow for user-defined "reverb" too.
If you want a more detailed description, then by all means pm me
I have to admit I've never delved _that deep into the programming - the closest I've gotten to that is making some mods to the core of sakonda's patch, which is where I got started with this. The "granularworkspace" patch is a sort of combination of all of the granular methods & associated controls that I've been using in assorted patches, all brought together in one place for creating sounds that I then assemble in Mixbus or Cubase - as opposed to the aforementioned "assorted patches", which are for live work.
Having said that - I'll definitely dl your patch & have a look! thanks.
hey Brendan - that's really rather good! I like the sound - very smooth. I see what you mean about the pitch moving (down and back up) when you change grain size, and also changing pitch seems to move the playhead. Whether or not that's an issue (apart from perfectionism :-) ) I think depends on how you're going to use it. For the kinds of thing I do none of that would (at least as far as I can imagine it at the moment) be a problem. Hope you don't mind me adding it to my "workspace"!
Yes, I like the smoothness too, which of course is a characteristic of the phase-locked grains. I have previously got decorrelation between pitch and size, but without the phase-locking. I've really been round the houses with this one, and the version you have is the "best" so far; varying pitch shouldn't affect the playhead position (as it's phase-locked) - it will just slightly alter the grain size, but I can fix that . . .
(this workspace of yours must be looking pretty busy right now)
And not shown is a patterner module that creates either random pulses within a buffer,
or straight pulses/euclidean rhythms playback of short samples. (That's how i created the rhythmic sections in the last couple of electroacoustic poesetics pieces I've put up on my soundcloud page - soundcloud.com/davidestevens if you're interested. Check out Morgenkuss, December Sun (both long) and the extremely short Unbecomingun.)
here is a descriptive and annotated example of my hybrid granular synthesis/playback engine. "Hybrid" because it features a few control dimensions from each approach, without offering comprehensive control of the parameters common to both - that is to say it doesn't offer control of grain envelope or panorama, but it does do stretching and repitching quite well.
I have also decorrelated pitch from grain size, and added some pitch mod control too btw.
it should drop right in, there are no major changes besides the addition of 2 controls for pitch randomisation. Furthermore, inside this [p pitchCalc] subpatch I changed the static grain size from 80ms to 40ms. This will make it sound a little grainy-er. Set this value to >80ms for smoothyness (yes, it's a word!).
Please do feel free to change/distribute/improve etc
hmm. Just tried out DiracLE~, and it _is very smooth. In fact, way too smooth for my taste. I can still understand the source material! I'm liking genGrain~, but I have to say that elasticx~ is _still my preferred sound.
When it comes to roughness, the one I miss is Topher Lafata's stretch~ object - proper Old Skool drum-n'-bass bad time-stretching, but I don't think it even made it to UB, let alone 64-bit Max.
Puckette's overlap sample looper patch ( http://msp.ucsd.edu/techniques/latest/book-html/node37.html ) comes somewhere close in roughness, especially with a low precession value. Attached is a rough translation,