advanced audio recording
A virtual wave table synthesis module in an FPGA

Synthesis Unit

This module practices classic wave table synthesis known from PPG instruments. Unlike in the original instrument, there are no statically stored waveforms, but they are generated dynamically and continuously with a LaPlace waveform generator whose weightings are set appropriately. This is possible because of the nowadays FPGA-power.

The desired wave can thus be generated and modified in real time, or constant waves can be passed through, as in the pure wave table synthesis, depending on the individual ADSR curve information which controls the particular wave forming a so called wave modification function set (WMFS). In the current synth I am using enhanced tri channel, multiphase ADSR with up to 8 stages to control the weigths for the sine waves.

Unlike the old module (see Wave Table Module) which used DDS and the first modules which used sine tables if RAM was available, this module generates the signals virutally in real time. A modified Test Signal Generator is used. See the page here: Test Signal Generator.


Synchronization Unit for 44,1 kHz to 48kHz

 The module works up to 120 MHz and runs on a current Cyclone III FPGA. Here the Altera NEEK Kit used.

Single Wave Synthesis

WAVE Synthesis Example Laplace
Complex Wave from super imposed sine waves

WAVE Synthesis Example Laplace
Complex Wave from super imposed sine waves, actually a band limited saw tooth

Wave Table Synthesis

In this version, 7 waves are used to create harmonics in order to build the desired music wave. Using several of these waves, a virtual wave table processing is possible by walking through these waves dynamically.

WAVE Table Synthesis with dynamic wave generation
Complex Waves from sine waves changing their shape by 2D sound processing in real time

embedded TFT-Display output

Wave Synthesis with Cylcone III
TFT mini output on Cyclone embedded KIT's display

Wave Synthesis with Cylcone III
alternative wave synth setup

In the current synth I am using both multiphase ADSR as well as static driven wave selection to control the wave. According to the virtual generation of the wave, there are no artifacts as known from classical wave table style generation, because wave transformation is operated continously.

Listen to a Demo Sound produced with the triple ADSR function and 7 waves each.

 See also the page here: Test Signal Generator.

Read about the detailled function in this article Wave Synthesis

See my former Wave Table Module


Full Synchronized

44,1 kHz

48 kHz

88,2 kHz

96 kHz

Demo Sound
96 kHz
Audio DSP


© Sound of L.A. Music Productions 2008