How would you create a graphical envelope, something similar to the MassiveSynth

endrek's icon

How would you create a graphical envelope, something similar to the MassiveSynth??

Well...I've been trying to avoid , or atleast give a try, to not use ADSR~ so, I could kind of make a simulation of the envelope that Massive NI Synth does, that graphically, you can change A,D,S,R and it keeps on adjusting, without having to be a especific "ms", I think it might me in %percentage from 0-1??

Is it a waste of time?? Is it usefull?
I've been playing around with function, setcurve, and all it's message, give it a nice shape blabla...But I end up, that I never can end up re-adjusting everything dinamically...

Do I have to get the 3 equations, for the 3 parts of the envelope?
1.- y = x
2.- y = e^-x ??¿?¿
3.- y = e^-x ??¿?¿
Cause the (setcurve _ _-0.5) means wich equation...??

Better forget about it? And use ADSR~? Or fight for it...? Aslong as it isnt going to be a real pain in the ass :) :)

cheerzz!!
And thanks in advance for your help and time.

massive-envelope.png
png
Gregory Taylor's icon

technoui.js. See the techno~ help file.

tazio's icon
Max Patch
Copy patch and select New From Clipboard in Max.

This is how I got something like it for a project of mine. Hope it helps!

endrek's icon

thanks!!! i'll play around!! much appreciatte it

Wetterberg's icon

I'd say stick with function; it can most definitely be a nice dynamic system. It probably just takes a bit more work.

(in my humble opinion technoui is a bit flaky. Good and all, but flaky)

woyteg's icon
Max Patch
Copy patch and select New From Clipboard in Max.

Hey. This is part of a clippings libary I am working on a while now. A bit Nord modular inspired. This is more or less just a nice GUI for adsr including curveature.
(haven't looked at it for a while, hope it works fine.)

Roman Thilenius's icon

you can use [lcd] to build something like the function graph, but including exponential curving and these things.

using percentage in conjunction with a total length parameter is a good idea when you want to display the graph in a box.

vichug's icon

you can have curving (not sure about the exponential...) with function, using the mode attribute set to "curve" instead of "linear" - see function's inspector.

Roman Thilenius's icon

well you might need it per segment in conjunction with audio envelopes.

brendan mccloskey's icon

@Roman (and woyteg)

if woyteg could add user-defined breakpoints and per-breakpoint curvature to his already attractive example, now that would be very usable in many contexts

...and yes woyteg, it works fine

Brendan

woyteg's icon

@brendan
Actually there are bugs left to be squashed when you switch range.
Also I would find it a lot better if the sustain factor wouldn't change if you change exponent.. but well, it just shows what happens to an adsr if you change the exponent..

somthing planned to be added for sure: modulation inlets, mod attenuation dials, downsampling factor adjustment. (put everything signal-ish inside a poly~)
Maybe muting also.(for efficiency's sake)

Somebody recently posted a patch that reads a function into a buffer(simple enough).
I *think* that might be a more promising approach.
The only problem might be modulation of parameters, which could be solved with double buffering.

Anyway, no time right now.. Anyone who likes to modify what I posted, please, of course, go ahead! I hope it's not too messy.

endrek's icon

WWWOOWWW!! woyteg!! sweet one!!! = ) = )

thanks i'll mess around with it :P

thanks again for your help = )

PD: techno...is kind of difficult to use I think...

endrek's icon

I'm making my own from your nice graphical ADSR = ) I hope you don't mind :P :P
I've seen something I think is wrong, (from my newbie experience...just 2 month fooling around...)...

3rd column, second row scale object, the one from the sustain , it gets the input to the "high input value, from the live.tab" isn't it wrong?? he doesn't need to readjust everytime you change range right??

Sustain will always be 0-1 (0-100%) right??

really thank you again!! really make my patch much more visually nicer, and easier to use!! Appreciatte it.
cheerz!!

EDIT: beeing fooling around a bit... and...MAYBE ITS FOR INITIAL VALUES RIGHT....?? hmmm = )

endrek's icon

knobs, from the envelope, you move them a bit, and still are at 0.00, maybe its too extreme the exponent argument???

hmmm... or maybe because of the initial default range 0-127 and the scale, doesnt seem to get values under 7ms... once you move a bit the knob = ) = )

I'll try to make it directly to ms!!but...isn't there a way to dynamically sending messages to the live.dial change the range??don't see it at the reference or help... Hmmmm
Or the only way, is hidding and activating new ones??????????

Peter McCulloch's icon

You can't dynamically change the range of live. objects. The exponent control can, however, go a long way towards this deficiency.