elastic

zarby's icon

hi,
does somebody elastic with max6?
does it work correctly?

thank you
laurent

dtr's icon

elastic?

brendan mccloskey's icon

Hi
I'm assuming you mean elasticx~.
If so, this external was built for a 32-bit architecture, an older version of Max; if you have 64-bit Max6 it will not work. Download the 32-bit version of Max6 instead perhaps?

Brendan

dhjdhjdhj's icon

I gave up on it some time ago due to complete lack of support after running into some problems. Switched to the IRCAM SuperVP, which works great.

davidestevens's icon

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.

brendan mccloskey's icon

I completely agree with David re the subjective sound of elasticx~ and also its denoument; how does it compare with grainstretch~ I wonder David?

Brendan

davidestevens's icon

hi Brendan,

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.

davidestevens's icon

Just found the grainsize & fade parameters. Hmm. Maybe i can get closer to the elasticx~ sound than I thought. Maybe i also need to have more of a play with the parameters in SVP.
(edit) and the graincloud settings. Hmm - I'm getting more impressssed with grainstretch~.

zarby's icon

thank you very much

but i work in 64-bit,
where i can find grainstrech?

davidestevens's icon

Search the forum, or look on maxobjects.com

brendan mccloskey's icon

[OT -ish]

David
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?

Cheers
Brendan

brendan mccloskey's icon

upload error:

2014-Grains.zip
zip
loadmess's icon

Hello Meister,
I would love to learn more about your patch, techniques and theory applied there, etc.
Do you have documentation/comments about it?

thanks

brendan mccloskey's icon

Hi loadmess
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

Best
Brendan

brendan mccloskey's icon

ps

there are several developments/enhancements yet to be implemented . . .

davidestevens's icon

hey Brendan,

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.

davidestevens's icon

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"!

brendan mccloskey's icon

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)

davidestevens's icon

:-)

6 elasticx~/grainstretch~
3 svp
A differently controlled elasticx
A sakonda
1 granny (that's your object :-) )

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.)

granularworkspace.jpg
jpg
brendan mccloskey's icon

@loadmess, and perhaps David too

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.

Brendan

genGrain-2014.zip
zip
davidestevens's icon

thanks for this Brendan.

presumably I can just plop this in in place of the previous version and it'll behave the same?

brendan mccloskey's icon

Yes David
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

Best regards
Brendan

roger.carruthers's icon

This has been bugging me for days, and I just got it - DiracLE~ !
I knew there was another quality time-stretching/pitch-shifting object out there, but couldn't remember the name!
http://timorozendal.com/ - any use to you?
Cheers
Roger

brendan mccloskey's icon

This is the sound I am chasing. But I wouldn't know how to incorporate externals for pitching etc, such as DiracLE.

Might just change my handle to "wheel-reinventor"; grainstretch~ is indeed pretty damn perfect.

davidestevens's icon

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.

roger.carruthers's icon

It is a bit smooth, isn't it?!
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,
Cheers
Roger

pucketteSamp2s.maxpat
Max Patch
jazzisfaction's icon

I'm re-building my old patcher in which I used elasticx~. Anyone out there who knows a good alternative after the last post in this thread in 2014?
Thanx.

John Morton's icon

I have been using elasticx~ and am really happy with the sound, particularly at very slow speeds (with a pre-recorded file). However, with my new installation things are crashing, and all indications are it is due to elasticx~. I've tried adding delays so that nothing happens too simultaneously. Anybody have any hints/solutions to avoid crashes, or is elasticx~ just not that stable?

thanks,
John