8

I'm developing a software synthesizer, and, while I do understand how ADSR envelopes work, I'm having a hard time figuring out what the x-Axis of Envelope diagrams means and what I'm controlling for example when I'm turning an ATTACK knob on a synth. Does turning the knob control the duration of the attack period in ms, is it a percentage of a pre-fixed length of a sound and if so, what lengths are used?

To illustrate what I'm saying, here the envelope settings part of NI Massive:

http://www.aphotoofhongkongaday.com/massive_synth/wp-content/uploads/2010/09/4envelope.png

So, what I don't get is, in what are ADSR segments measured. When I turn the attack knob to the right, the attack line/curve gets longer towards the right of the visualization and of course the tone takes longer to reach the maximum amplitude. But what did I change? Is the attack knob controlling the attack period in a range of, say, 100 - 1000 milliseconds? Or does this visualization represent e.g. a 10 second tone and the knob controls the attack percentage of the sound from e.g. 5% - 50%? I did some timing and found that when the attack knob is to the very right, the tone takes exactly 4 seconds to reach the maximum amplitude and it is at about 50% of the envelope shown, so I thought the envelope was showing a range of 0 - 8 seconds since it took 4 seconds to get to the half point. This hypothesis was nullified pretty quickly though, as controlling the "Delay" knob, which shifts the starting point of the envelope to the right, in a way that the envelope looks like it starts at 50% again, ended in the tone starting after only 2.5 seconds. So this visualisation is not a certain time I concluded.

I found a few sentences on this here, where I read something about constant time or constant rate, although that is not really enough.

So, can I just randomly choose a duration for the ADSR on my synth and make my knobs control a percentage of the duration?

Would really like some clarification here, sorry if this is noob-ish.

  • Not sure I understand the question. The attack time determined how long the attack takes, exactly as you have described. Similarly for the decay, sustain and release. Can you clarify your question to explain what you are asking – Rory Alsop Mar 7 '14 at 22:24
  • I am trying to understand what the x-axis is in the above picture, whether it shows a range from 0 to 10 seconds or something like that and controlling the attack knob controls how high a percentage the attack part has of that range. I just didn't understand what to make of these graphs where there are no descriptions at the bottom. This envelope could have been over a sound of 1 second, or 10 or any other time range, so I thought I'd better ask. – Peter Goldsborough Mar 8 '14 at 0:52
7

Attack (A): the time it will take to reach its maximum level after note is triggered

Decay (D): the time it will take to drop to the sustain level after the initial rise

Sustain (S): the level that the envelope will remain at until the key is released

Release (R): the time it will take to reach zero after the key is released

The time ranges is dependent on the instrument and how it is implemented. If you are programming your own synth you can implement the times as you see fit. The level is usually defined as % or value 0.0 - 1.0. This is relative to the level set for the parameter that the envelop is controlling.

I've always found it an annoyance that Massive does not give a numerical display for the values set.

Hope this clarifies.

  • Thanks for the answer, it helped. Is there a good standard length you would recommend for the envelope? – Peter Goldsborough Mar 8 '14 at 0:53
  • Depends on what you want to achieve. Some manufactures give you a relatively short range (0 - 1000mS) that work for most musical contexts. Others give longer (0 - 3000ms) that allow long sounds to be designed. I even have one synth that has a range (0 - 38000ms) which allows very long evolving sounds to be designed. In this case the scale is not linear BTW. – Bit Depth Mar 8 '14 at 7:47
3

I actually spent some time recording the ADS+R envelopes in Massive to figure out what the x axis would be. Anyone who spends time messing around with Massive would soon figure out that the graph is not to scale which can definitely be a bit confusing if you're new to envelopes. But i was interested in the possible values so i timed the knobs out in Ableton.

In Massive the Attack knob allows you to switch between (approximately) 0 to 9 seconds.

The Decay knob goes between 0 and 86 seconds. Altho because the graph is logarithmic about halfway through the volume change becomes too subtle to notice (it changed only 2 db in the last 44 seconds).

And finally the Release knob seems to have a value range of 0 to 46 seconds or at least after 46 seconds it went to -infinity db on Insight (this is also a logarithmic curve so it had long since stopped being audible).

Now all this doesn't really do you a lot of good in creating your own synthesizer except for perhaps saying that decay and release are generally expected to be able to be longer than the attack. And as far as i know there is no real standard for setting potential ADSR values. But its useful to know for synthesis inside of massive anyways, as it always bugged me that i didn't have exact values.

If you were looking for a synthesizer with good ADSR envelopes to take inspiration from I would suggest looking into Absynth as those are pretty detailed and easy to use. Ableton Lives Operator also has pretty detailed envelopes allowing for an attack between 0ms to 20s and Decay and Release times between 1ms and 60s.

[PS the delay knob seems to give you a range of 0 - 2.3 seconds or so]

1

Don't be afraid of just using a number box which users type into, then you're not forced to set a maximum.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.