[sdiy] ADSR Plus - 8 parameters?
Tom Wiltshire
tom at electricdruid.net
Thu Feb 3 10:55:23 CET 2011
On 3 Feb 2011, at 08:13, Matthew Smith wrote:
> I've figured out my digital ADSR generator - microcontroller feeds DAC, is controlled by an 8-input SPI ADC connected to a set of 8 pots. (This section nicked from my notes on how I might build a replacement for a Roland PG-800.)
>
> 7 pots accounted for:
>
> * Attack time
> * Attack shape (straight line, curving inwards)
> * Decay time
> * Decay shape (as above)
> * Sustain level
> * Release time
> * Release shape (ditto)
>
> As I have an extra channel going spare, is there another useful parameter I could put in there, bearing in mind that I'm not going to be doing aftertouch?
Have you got velocity? You could use it for velocity sensitivity. Alternatively, you could add a 'hold' stage after the attack and before the decay. This keeps the envelope at maximum level and can add a lot of 'punch' when you've got very short attack and decay times. Another option would be an initial decay, which is handy for modulation envelopes particularly.
> Reason for external ADC: I've read in a few places that internal ADCs can be a bit, er, rough.
They're good enough for controls. You don't say what resolution you're using, but even 8-bit is fine. Prophet 5 used 7-bit control resolution, and no-one complains about that. I've used 10 and 12-bit internal DACs on recent projects without problems. In fact, the problems increase as the resolution goes up, because noise becomes more visible. Using a 12-bit DAC I had to keep a running average of the last 16 readings to smooth the input a bit.
T.
More information about the Synth-diy
mailing list