[sharing is shifting and stretching] diracLE~

Timo Rozendal's icon

hey there...
I made an external based on the free version of Stephan M. Bernsee's Dirac algorithm.

Go ahead and grab it here:

(currently mac only)

---------------------

I'm kinda enthusiastic about it :-)

pid's icon

if i lend you €10000 will you make a version using the 'pro' Dirac algorithm?!

anyway, seriously, thanks and cool work. i'm gonna go check it out. i've been playing around with dirac le for ages and never got remotely close... good on you.

spectro's icon

Only just started to try it (with the example patches) but so far the results are great! This will be very useful to me in an upcoming project, - so, many thanks for this external Timo, and +1 on the enthusiasm...

Edit: Not wanting to appear unappreciative, as I'm going straight to the "edges" here but I notice a speed of 0.0 still results in a (forward) moving playback position while a tiny negative value appears to shift to reverse playback. With a zero value I would have expected an effective freeze of the playback position. Not being too knowledgable of the DIRAC algorithm(s), Is this perhaps a limitation of the LE algorithm, or your implementation of it, or perhaps I have just missed something?

Edit2: Ok. The answer, at least partly, to that question in edit1 is "I missed something" - I just noticed the speed ranges in the comment boxes for the speed parameter...

roger.carruthers's icon

Sweet! And very timely for me too.
One small request - any chance of sharing the source of those M4L devices for non Live users (a request I would extend to anyone sharing M4L patches here) ?
cheers
Roger

Timo Rozendal's icon

thanks guys!...
@pid, yes, I will make an external if you lend me 10000, only I am not sure if lending means paying back to you later :-) and I am not sure if Stephan Bernsee would like it (since an external is more than an app, other people can make their own apps with it). anyway... if he would like it, do you think a kickstarter be an idea?

@spectro: yes, you are right about the parameter ranges, 0. is not possible (though I did hack a negative speed version, should count for something :-) )

@roger: what if you open a m4l device in a text editor, delete everything for the first { , select all, and past it as new patcher in max (new from clipboard). Does that work for you? If not I will send you the max patches, but the workaround would save me some time keeping different files up to date.

happy stretchin'!

roger.carruthers's icon

Excellent, thanks!
That's a tip worth knowing. I'd always assumed there was something more devious protecting M4L devices from those of us who who were happy to use Max without Live,
cheers
Roger

pid's icon

hi timo, meant to post back.

it is brilliant piece of work and this contribution is much appreciated. and what is apparent is indeed just how much you squeeze out of the le algo.

request: because of the le limitations of parameter changing in realtime, i can imagine using this for very specific subtle & correction situations, without any realtime changing of parameters. therefore, the only feature request i would have is that all the messages be added as attributes. that way i could instantiate correct algo at runtime without lots of horrid message boxes on loadbang. good idea yes? fairy easy to implement?!

best.

p.s. - surely mr bernsee he love max? surely he not mind? surely we raise plenty jojo for buying pro licence?!?!?!

lewis lepton's icon

hi timo,

just been reinstalling all my max stuff, which plenty has been thrown away. but came across this, really nice and love the sound it emits.
been looking for an external that can do formant parameters, so thank you for this.

lewis edwards
------
smokingbunny.co.uk

t's icon

Thanks a lot Timo! Great stuff!

AudioLemon's icon

looking forward to trying it out - thanks

Timo Rozendal's icon

thanks guys...

the object is updated, check it here:
http://www.timorozendal.nl/?p=434

most important changes:
- diracLE~ is now using 64 bit perform methods in Max 6 (yeah!, am I the first 3rd party developer?) and the same object still works fine in Max 5 (32 bit mode).
- as much parameters as possible/useful are made into attributes (that's for you pid)

btw, sometimes it is still useful to change parameters dynamically, check the diracLE_PitchCorrect Demo. What I do is fading the current settings with the new settings for the duration of 1 signal vector (to prevent clicks).

I am also implementing the cheaper version of the dirac algorithm (diracFX), more about that soon.

Nikola Mounoud's icon

It's an old topic, but I was wondering if there is any chance to run it on max/msp 4.6.3 ?