Over the last few years, Wavetable synthesis has become increasingly popular. Synthesis devices such as Abelton’s Wavetable device puts the power and palette of wavetable synthesizers into a software instrument that’s accessible and playful. It brings the deeper levels of sounds design within reach, without sacrificing the profound possibilities brought by this classic form of synthesis. With the announcement of Live 10.1, user wavetables can now be imported into the Wavetable device. Meta Function’s free algorithmic wavetable generator, the Wave Weld is designed to create wavetables for any wavetable synthesis device. This includes Meta Function’s flagship paraphonic hybrid synth, The Wave Junction, Ableton’s Wavetable device or other leading wavetable based devices. In this blog post Meta Function explore the history and use of the wavetable synthesis architecture.

The History of Wavetable
Wavetable synthesis has a rich cultural heritage in music production. A technique developed by Wolfgang Palm of PPG in Hamburg in the late 1970s, it represents one of the earliest uses of digital oscillators within synthesis. PPG manufactured many famous instruments, most notably the PPG Wave which was used by the likes of Tangerine Dream and later many 80s pop acts. Waldorf were formed by ex-PPG employees in 1998 and continued to develop many wavetable based synths (i.e. the Wave, Microwave and Blofeld).

Figure 1: Wolfgang Palm Wolfgang busy chilling in Hamburg in the late 70s
Sonic Characteristics
Wavetable is now a staple within the landscape of modern synthesis across multiple musical styles, providing a unique hybrid complement to other techniques. Each synthesis architecture produces a unique sonic timbre. Wavetable is no different and is often described as:
rich, distinctive, evolving, harmonically complex, unique
This compliments the sonic timbre of subtractive (warm, deep) and FM (percussive, metallic, woody). In short, you need many synthesis architecture’s to be able to paint a myriad of sonic colours in your music!
How It Works
Wavetable algorithms generate a stream of numbers (samples) representing the waveform, which are sent to a DAC, converted into a continuously varying voltage and sent to the loudspeakers. These numbers are pre-defined and read from a lookup (i.e. wave) table. So in wavetable, the oscillator’s read from a lookup table containing ‘samples’ of a waveshape.


Figure 2: Wavetable Oscillator Architecture Here the oscillator’s read pointer is used as an index into the lookup table
Lookup Table
Here we can see that this technique can produce a single cycle of a waveform. The waveform’s shape can be arbitrary and is represented by the numerical data in the table. Different musical pitches play back the content of the table at slower or faster rates (i.e. C3 130.81Hz or A4 440Hz etc.)

Figure 2: Wavetable Oscillator Index Here we can see the sample values for each element of the wave and how these relate to the index inside the lookup table
Wavetables
Typically, a wavetable is constructed from linking multiple single cycle waveshapes together. Often a series of waves are chosen that evolve across the table. In some hardware implementations (such as the PPG Wave) each wavetable has 64 slots (or waves) with each slot occupied by a single cycle waveform that is harmonically rich.

Figure 2: Wavetable Oscillator Index Here we can see the sample values for each element of the wave and how these relate to the index inside the lookup table
Sweeping the Wavetable
Modulation sources such as envelopes and LFOs are used to ‘sweep the wavetable’. This produces a rich timbre and results in the characteristic digital timbre associated with wavetable synthesis.

Figure 5: Future Audio Workshop Circle Table
Here is an alternative wavetable from Future Audio Workshops Circle soft synth
Strengths
Single cycle waveforms can be used to create periodic sounds
Joining single cycle waveforms together into wavetables can be used to create unique dynamic digital timbres
All the synthesis techniques we know and love, such as filtering, envelope modulations, LFOs etc can be applied to create wider timbres
The classic wavetable ‘sweep’ involves modulating the wavetable’s index (via its start or end positions) via an envelope or an LFO
In some systems, looping the wavetable via envelope breakpoints can be used to generate different textures (i.e. Waldorf Microwave 8 stage wave envelope)
Weaknesses
Classic wavetable sweeps are very digital and uber 80s
Creation of bespoke wavetables can be complex with musical results difficult to easily achieve
Wavetable is more complex for the beginner synthesist to master
Sounds could be very harmonically rich and care should be taken to sit elements in a mix (i.e. via subtractive EQ etc.)
Not the best form of synthesis to make pseudo acoustic sounds or warm and deep tones
Distortion can be present in wavetables via rounding errors and should be handled with care (i.e. via interpolation or oversampling within the algorithm)
Extensions
Since the classic PPG wavetable algorithm was developed by Wolfgang Palm, many variations have been developed by other DSP engineers:
Vector Synthesis: technique that allows dynamic crossfading between wavetable oscillators. Pioneered by Dave Smith from Sequential Circuits with 1986’s Prophet VS
Wave Sequencing: short segments of sampled audio waveforms played one after the other and cross-faded to form complex and unusual tones, pads, textures and rhythms. As featured in the Korg Wavestation (R&D from the Sequential Circuits Prophet VS was purchased by Korg in 1990)
Transwave Synthesis: uses wavetables of sound data with layered variations in harmonic structures such that their timbres progress naturally from one end to the other. As featured in Ensoniq’s Fizmo released in 1998
Modern Incarnations
A myriad of modern incarnations exist within the wavetable synthesis landscape.

Figure 6: Ableton’s Wavetable

Figure 7: Modern Incarnations
xFer Records Serum, Waves Codex, Waldorf’s Blofeld and PPG’s Wave Generator

Figure 8: The Wave Junction
Meta Function’s own Wave Junction
So how do we make our own wavetables?
Making your own wavetable from scratch can be complicated without a dedicate tool. Meta Function’s free algorithmic wavetable generator, the Wave Weld is designed to create wavetables for any wavetable synthesis device. This includes Meta Function’s flagship paraphonic hybrid synth, The Wave Junction, Ableton’s Wavetable device or other leading wavetable based devices.
Single cycle waveforms
The look up table technique became a popular method for generating single cycle waveforms as it is very computationally efficient. It is often used within consumer devices (i.e. generic PC soundcards, phones, tablets etc). Single cycle waveforms do have their uses in more professional environments as great results can be had loading them into samplers or sample based oscillators (i.e. NI’s Massive, Elekton Octatrak etc). Adventure Kid provides 4300 single cycle waveforms for free: www.adventurekid.se/akrt/waveforms.

Figure 9: Single cycle waveform
This cycle has a wavelength of 13 cycles
Algorithmically Generated Waveshapes
In contrast to single cycles, algorithmically generated waveshapes can be more computationally expensive to generate (especially in 1981). The C++ code below is run for every sample within the systems buffersize, yet it produces waveshapes that alias!
case OSCILLATOR_MODE_SINE:
for (int i = 0; i < nFrames; i++)
{
buffer[i] = sin(mPhase);
mPhase += mPhaseIncrement;
while (mPhase >= twoPI)
{
mPhase -= twoPI;
}
}
break;
case OSCILLATOR_MODE_SQUARE:
for (int i = 0; i < nFrames; i++)
{
if (mPhase <= mPI)
{
buffer[i] = 1.0;
} else
{
buffer[i] = -1.0;
}
mPhase += mPhaseIncrement;
while (mPhase >= twoPI)
{
mPhase -= twoPI;
}
}
break;
How do we render anti-aliased waveforms digitally? If your a ninja, read these:
For The Nerds
Suppose we calculate and store one period of a desired (periodic) waveform in a table. The fundamental frequency of the sound is given by:


We can modify the scanning rate via the index (or phase) increment, to play the sound at a different frequency:

This is equivalent to changing the size of the wavetable by resampling, a technique used by the PPG Wave which played a big role in its grungy sonic character. Before modern DSP techniques we couldn’t multiplex the oscillator so each independent voice requires its own variably-clocked DAC!
We have to define a counter to point to the sample being played (phase or table index). This must be an integer. We compute the increment defining how much to add to the counter to reach the next sample (i.e. the phase increment).
In general, the increment is not an integer, so the counter and increment need to include a fractional part. Our frequency resolution is related to the number of bits used to represent the fractional part (i.e. float or double). The integer part of the phase index is to address which sample is in memory and the fractional part is to maintain frequency accuracy. Table indices can be obtained by truncation or rounding. This may be computationally quick but leads to rounding errors audible as distortion. Solution is to oversample or use linear (or cubic) interpolation but at a computational cost. Ableton’s Wavetable device uses an Inverse Fourier Transform to convert the wavetables from the frequency domain to the time domain, and differs from the classic PPG based wavetable algorithm mentioned above.

This blog post is based upon Phelan Kane’s presentation, Learn by Example: Wavetable Synthesis, held at Loop 2017.
Further Reading
Retro Family Tree. Future Music:
How to make classic ’80s wavetable synth sounds. Music Radar:
Wavetable Synthesis. McGill University:
A wavetable oscillator. Ear Level Engineering. Nigel Redmon:
Wavetable Synthesis 101, A Fundamental Perspective. Robert Bristow-Johnson. Wave Mechanics, Inc:
Comments