Forums > MaxMSP

a not so simple adsr envelope…

February 21, 2014 | 11:15 pm

Hello!

I’m a new user of maxmsp, and I started to build a small FM synth.

But I have a problem with the adsr envelope…

It seems simple but I’m stuck … I hope you can help me.

I can not create a classic adsr envelope, simple and precise,

and to control the function object with numbers…

The idea is to do an adsr envelope where I can control separately:

- attack time / attack volume

- decay time / decay volume

- sustain time / sustain volume

- release time / release volume

I’m not so good in english, and the problem is a bit hard to explain…

I made a picture to explain it  and I send you my patch.

I hope you will find something!

Thank you!

<pre><code>

– Pasted Max Patch, click to expand. –

</code></pre>

 

Attachments:
  1. bug.58.20


o s
February 23, 2014 | 12:23 am

Are you aware of the adsr~ object?

hth


February 23, 2014 | 1:47 am

thanks for your answer.

yes, I started to use the adsr~ object,

but the idea is to do an adsr envelop using function~ to have a visualization of the envelop,
and control it by numbers, like an adsr~ object

I solve my problem, but It seems a bit a complicated solution.

Here the patch, If you have an idea to simplify it, I take it!
(I have to add curves function on it)

<code>

– Pasted Max Patch, click to expand. –

</code>


February 23, 2014 | 2:31 am

I was working with function in a similar way here:http://designingsound.org/2013/04/generating-complexity-in-max/. It got very complicated very quickly! Adding curves is a bit of a headache as it adds in an extra variable, so you will need a switch to accommodate that at the point where you pack the list up for each point of function.

One technique which helped me was not to think of each point as a duration, but as a percentage. So when editing the function the range is always say 0-100, and then after editing you adjust the duration (setdomain) to whatever you need it to be. It also helps to have all your data as a list at some point, where any change to one control refreshes the list and re-sends to all points.


February 27, 2014 | 3:00 pm

thank you for your answer

your patch is very cool
I have no time for the moment, but I ‘ll use it for sure!
thanks


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