Monthly Archives: June 2013

Envelope generators—ADSR widget

Attack Decay Sustain Release Attack Curve Decay/Release Curve Plot:linearlog This is the widget I used in making the ADSR video. It’s a JavaScript recreation of my C++ source code.

Posted in Envelope Generators, Synthesizers, Widgets | 22 Comments

Envelope generators—ADSR video

Let me know how you like this one!

Posted in Envelope Generators, Synthesizers, Video | 7 Comments

Envelope generators—ADSR code

First, a brief example of how to use the ADSR code: // create ADSR env ADSR *env = new ADSR(); // initialize settings env->setAttackRate(.1 * sampleRate); // .1 second env->setDecayRate(.3 * sampleRate); env->setReleaseRate(5 * sampleRate); env->setSustainLevel(.8); … // at some … Continue reading

Posted in Envelope Generators, Source Code, Synthesizers | 62 Comments

Envelope generators—ADSR Part 2

Certain aspects of the ADSR are up for interpretation. Exactly how the ADSR re-triggers when not starting from idle, for instance. Also, we can decide whether we want constant rate, or constant time control of the segments. The attack segment … Continue reading

Posted in Envelope Generators, Synthesizers | 17 Comments

Envelope generators—ADSR Part 1

After discussing the exponential decay of the one-pole filter in a recent article, I couldn’t help but think about envelope generators. Besides, it would be handy to have one to test out some of these other components I’ve been writing … Continue reading

Posted in Envelope Generators, IIR Filters, Synthesizers | 1 Comment