| |
DSP Module
|
An
extended VHDL-implementation of my
envelope generator is used
to control the sound in my
audio
synthesizer. Unlike the former
version the parameters ATACK and DECAY no have
individual shapes to smooth the operation. Both can be
adjusted from linear to s-curve using special transition
equations.

10 stages are used with variable parameters:
PreDelay (time offset at start) AttackSpeed (inverted
rise time) AttackShape (L to S-curve) Hold (time held
at peak level) DecaySpeed (inverted fall time to sustain
level) DecayShape (L to S-curve) Sustain (level while
the key is held down) ReleaseSpeed (time to degrade)
RepeatLevel (0 ... 100%) RepeatLimit (time limit)
The parameters including the PreDelay and Hold are used in
similar way as we know it from the sound modules of EMU.
As a change the Attacks and Decays are used in inverted
way as speeds to meet the other parameters concept. The
smoothing option gives a more prestine way of modulation.
The formerly invented repetion function makes it
possible to repeat an ADSR curve so one can trigger multiple
notes, such as the pizzicato playing technique on violins or
complex drum sounds. Also gunshot sounds can be created in
this way. To control this, a volume level is set at which
the envelope is repeated continously. Values below 100 per
cent result in a decay letting the sound finally vanish.
There is also a limit on the number of possible repetitions
for a 100% use.

For best operation the whole curve can be smoothed
using a static and time independent filter. In the
synthesizer, the envelope is updated with 96 kHz. The
curcuit thus could operate 1024 curves / voices, LFOs or
effect impacts.
Read
more about the algorithm here:
smoothing functions
Read
more about the FPGA-platform here:
Gleichmann
HPE Mini
|
|