Most of the synthesis methods we’ve talked about so far produce periodic waves, meaning at some point the repeat. Simple waves may go up, then down, then back up again. More complex waves might go up and down a few times, but somewhere there is a repeating pattern.
Wavetable synthesis takes advantage of this fact by isolating one period (loop) of a wave and storing a digital representation of it in a table. In fact, it takes all the waves you are likely to ever want to produce (at least that a particular synth is capable of) and stores them in different tables. Then when you want to reproduce a certain sound, the synth loads the wave for that sound and plays it over and over again.
Why would you want to generate sounds this way?
- Less memory. Especially when digital synthesizers first came out, memory was small and expensive. You can store many waves at full resolution without taking up too much precious memory because you only need to store one period of the wave.
- Less processor power. Fast computers were big and expensive, and calculating what two waves would do when added together or how a filter would affect a wave is computationally intensive. With wavetable synthesis, all the different waves are precalculated and stored in the tables.
Let’s say you are playing a triangle wave and you want to add a little low-pass filter. The wavetable synthesizer will start by playing a perfect triangle over and over. Then, as you turn the cutoff frequency of the filter down, the synth crossfades between the perfect triangle and a triangle with some of the highs cut off. It doesn’t need to figure out what the newly-filtered wave should look like because that was already calculated when the synth was designed. As you add or modify voices and change various settings, the synth knows which wave to play and where to locate it.
You don’t need a separate wave for each pitch, either. Frequency of the waves can be changed by skipping some of the samples in the wave during playback. The number of samples skipped is called the sampling increment. If you want to go up an octave, that’s double the frequency, so the synth just plays every other sample (sampling increment = 2). To get a drop in pitch, you need a sampling increment less than 1. This means that some samples get used twice. For example, a sampling increment of .5 would play each sample twice, halving the frequency of the wave, thus dropping it 1 octave. To avoid distortion, the synth might interpolate between two samples instead of just repeating them.