A digital wavetable audio synthesizer is described. The synthesizer can generate up to 32 high-quality audio digital signals or voices, including
delay-based effects, at either a 44.1 KHz sample rate or at sample rates compatible with a prior art wavetable synthesizer. The synthesizer includes an
address generator which has several
modes of addressing wavetable data. The
address generator's addressing rate controls the
pitch of the synthesizer's output
signal. The synthesizer performs a 10-bit interpolation, using the wavetable data addressed by the
address generator, to interpolate additional data samples. When the address generator loops through a block of data, the
signal path interpolates between the data at the end and start addresses of the block of data to prevent discontinuities in the generated
signal. 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 add 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 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.