[sdiy] Modulated ADSR Generator

Stewart Pye stewpye at optusnet.com.au
Mon Jul 11 10:13:50 CEST 2011


I've been thinking about the PWM suggestion...
You could use two micro PWM outputs: one for attack and one for 
decay/release. Attack PWM would charge a cap via a diode and 
decay/release PWM would discharge the cap through a reverse diode. Use a 
comparator to sense when the cap has reach the peak level.

Some issues I see...

1. To get a reasonable range you'd need to use 14 bit PWM. This would 
give 16384 values, or 1ms to 16.3s.
2. Using an AVR at 20Mhz with fast PWM mode 14 bits works out at 1220Hz.
3. 1220 Hz is 0.8ms per cycle.

The 0.8ms per cycle may be an issue at very fast attack times as it's 
getting close to the required 1ms?

I'm not sure how to do the multiply and ADC value log conversion. Would 
the idea be to read the ADSR values and multiply value, then multiply 
the A,D,S or R value by the multipler and convert the result to a log 
response using a look up table? Or would you convert the ADSR and mult 
values to log before the multiplication?


Regards,
Stewart.



Paul Perry wrote:
> There may be a neat way - but my first thought is, you probably need 
> both a + and a - tracking CV so you can vary both the attack and decay 
> simultaneously.
> Pulse width modulation of the various resistances might be more 
> promising, and you already have a filter cap ;-D
>
> paul perry Melbourne Australia
>
> ----- Original Message ----- From: "Dave Manley"
>> You might also consider using a CV to scale the ADSR segment times.
>
>
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at dropmix.xs4all.nl
> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
>




More information about the Synth-diy mailing list