nixxcode/amsynth — pull request #1 by shanipribadi (2013-10-10 12:35:50+00:00)
Title: Replace the linear ADSR with an exponential ADSR

The exponential ADSR is based on a single-pole low pass filter.

Note, this patch changes the sound of every preset because of the difference in ADSR type.
Exponential ADSR change smoothly, especially for the AMP ENV, whereas the linear ADSR causes AMP ENV to change abruptly (notable on presets with short release that are meant for keys; e.g. Pianola from BrianBanks1).
This behaviour is said to be similar to classic analog synths.

Unfortunately since both AMP ENV and FILTER ENV uses the same ADSR class, the FILTER ENV is also changed.
For me personally, exponential ADSR is always preferable for AMP ENV, while for FILTER ENV linear ADSR is different, but not less preferable.

Would it be better to have both? if so then there should be a way of choosing between them.
I could think of two ways of switching,
- a switch between the old linear or newer exp,
- or a knob where linear behaviour is simulated with having large overshoot and scaling.

Thoughts?