Forums > MaxMSP

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

August 28, 2013 | 5:58 pm

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.

Attachments:
  1. massive-envelope

August 28, 2013 | 6:59 pm

technoui.js. See the techno~ help file.


August 28, 2013 | 7:33 pm

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

– Pasted Max Patch, click to expand. –

August 29, 2013 | 8:32 am

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


August 29, 2013 | 8:35 am

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)


August 29, 2013 | 2:40 pm

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

– Pasted Max Patch, click to expand. –

August 30, 2013 | 6:34 am

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.


August 30, 2013 | 12:53 pm

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.


August 31, 2013 | 12:02 pm

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


August 31, 2013 | 12:40 pm

@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


August 31, 2013 | 2:02 pm

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


September 3, 2013 | 3:04 pm

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…


September 3, 2013 | 4:00 pm

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


September 3, 2013 | 5:01 pm

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


September 4, 2013 | 11:08 am

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


Viewing 15 posts - 1 through 15 (of 15 total)