| |
DSP Module
|
An
VHDL-implementation of my
envelope
generator is used
to control the sound in my
audio
synthesizer.

8 stages are used with variable parameters:
PreDelay (time offset at start) AttackTime (rise
time) Hold (time held at peak level) DecayTime (fall
time to sustain level) Sustain (level while the key is
held down) ReleaseSpeed (time to degrade) RepeatLevel
(0 ... 100%) RepeatLimit (time limit)
The new
invention is the repetion function. This method makes it
possible, for the first time, to repeat an ADSR curve to
trigger multiple notes, such as pizzicato on violins or
complex drum sounds. Gunshot sounds can also be created in
this way. To do this, a volume level is set at which the
envelope is repeated. Values below 100 per cent result in a
decay. There is also a limit on the number of possible
repetitions.
PreDelay and Hold are used in similar
way as we know it from the sound modules of EMU!

For best operation the whole curve can be smoothed
using a static filter.

In the S3-synthesizer, the envelope
is updated with 48 kHz. The curcuit therefore could operate
the 1024 voices. In a 96kHz system 512 voices were possible.
Read
more about the algorithm here:
smoothing functions
Read
more about the platform here:
Spartan 3
platform
|
|