ZynAddSubFX/ADSR Envelope

The ADSR envelope is the basic tool to create synthetic sounds. The ADSR acronym means: Attack, Decay, Sustain and Release. Taking the example of an electronic keyboard, attack followed by decay are heard when pressing a key, sustain is the actual note while the key is down, and release happens when freeing the key.
 * Attack is how the sound starts from silence (time and strength);
 * Decay is the way the sound changes after the attack to the main sound (sustain);
 * Sustain is the main sequence of the sound;
 * Release is how the sound stops.

Simple envelope
This is a basic sound with very short attack and quick release:

Attack
The attack goes linearly from silence to the maximal sound in 500 ms:

Decay
A decay halves the volume down after the attack:

Sustain
There's no sustain in this one, the sound stops immediately even without releasing the key:

Release
The release lasts 1 second from sustain level to silence:

Envelope types and controls
There are four different envelopes in ZynAddSubFX and each has its own set of options and controls.

The ADSR controls are found -at least partly- in all of them, as:
 * A.DT: attack duration
 * A.VAL: attack value
 * D.DT: decay duration
 * D.VAL: decay value
 * S.VAL: sustain value
 * R.DT: release duration
 * R.VAL: release value

Toggle buttons include:
 * FRCR: forced release, means that if this option is turned on, the release will go to the final value, even if the sustain stage is not reached. Usually, this must be set.
 * LIN/LOG: linear or logarithmic, toggles between linear and logarithmic interpolation (default is linear).

The stretch value: how the envelope is stretched according to the note. On the higher notes the envelopes are shorter than lower notes. The stretch range is from 0 (leftmost) to 200% (rightmost). 200% means that the envelope is stretched about 4 times/octave.