A digital wavetable audio synthesizer is described. A synthesizer volume
generator, which has several modes of controlling the volume, adds
envelope, right offset, left offset, and effects volume to the data. The
data can be placed in one of sixteen fixed stereo pan positions, or left
and right offsets can be programmed to place the data anywhere in the
stereo field. The left and right offset values can also be programmed to
control the overall volume. Zipper noise is prevented by controlling the
volume increment. A synthesizer LFO generator can ad LFO variation to:
(i) the wavetable data addressing rate, for creating a vibrato effect;
and (ii) a voice's volume, for creating a tremolo effect. Generated data
to be output from the synthesizer is stored in left and right
accumulators. However, when creating delay-based effects, data is stored
in one of several effects accumulators. This data is then written to a
wavetable. The difference between the wavetable write and read addresses
for this data provides a delay for echo and reverb effects. LFO
variations added to the read address create a chorus and flange effects.
The volume of the delay-based effects data can be attenuated to provide
volume decay for an echo effect. After the delay-based effects
processing, the data can be provided with left and right offset volume
components which determine how much of the effect is heard and its stereo
position. The data is then stored in the left and right accumulators.