The Wavetable Synthesis Architecture

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 3: 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 4: Waldorf Microwave 1 Table

Waldorf wavetable from Emagic Sounddiver circa late 90s. Notice the interpolation between wave slots

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

In Live 10.1 user wavetables can be loaded into Abelton’s Wavetable device

 

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:

http://metafunction.co.uk/all-about-digital-oscillators-part-1-aliasing-foldover/

http://metafunction.co.uk/all-about-digital-oscillators-part-2-blits-bleps/

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:

http://www.cyborgstudio.com/synthmp3s/ppg/wave2/manual/ppgwaldorfhistory.pdf

How to make classic ’80s wavetable synth sounds. Music Radar:

http://www.musicradar.com/tuition/tech/how-to-make-classic-80s-wavetable-synth-sounds-622335

Wavetable Synthesis. McGill University:

https://www.music.mcgill.ca/~gary/307/week4/wavetables.html

A wavetable oscillator. Ear Level Engineering. Nigel Redmon:

http://www.earlevel.com/main/2012/05/04/a-wavetable-oscillator%E2%80%94part-1/

Wavetable Synthesis 101, A Fundamental Perspective. Robert Bristow-Johnson. Wave Mechanics, Inc:

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.218.2535&rep=rep1&type=pdf

Background

Grab the Wave Junction for £19.95 exclusively from Sonicstate!

Get It! Via Sonicstate