Feedback Amplitude Modulation Synthesis

Jari Kleimola Department of Signal Processing and Acoustics, Aalto University, Espoo, Finland.
Victor Lazzarini Sound and Digital Music Technology Group, NUI Maynooth, Ireland.
Vesa Vlimki Department of Signal Processing and Acoustics, Aalto University, Espoo, Finland.
Joseph Timoney Sound and Digital Music Technology Group, NUI Maynooth, Ireland.


A recently rediscovered sound synthesis method, which is based on feedback amplitude modulation (FBAM), is investigated. The FBAM system is interpreted as a periodically linear time-varying digital filter, and its stability, aliasing, and scaling properties are considered. Several novel variations of the basic system are derived and analyzed. Separation of the input and the modulation signals in FBAM structures is proposed which helps to create modular sound synthesis and digital audio effects applications. The FBAM is shown to be a powerful and versatile sound synthesis principle, which has similarities to the established distortion synthesis methods, but which is also essentially different from them.


Below are the documented script files to reproduce the figures presented in the document. Functionally identical sets are available for Matlab (tested with v7.8.0) and SciPy (v0.7.1). The scaling table and scaling coefficients discussed in Section 2.5 are included as text files. Pd external for FBAM, containing source and precompiled Windows DLL (linked against Pd version 0.40.3-extended-20080721): The Csound UDOs can be found in the paper.

Sound Examples From the Paper

Please see the paper for parameter settings and for further discussion.
 Section  Fig Description  Size (kB) 
6.2 25 Formant a: 87
6.3 26 Abstract Physical Modeling 1866
6.4 27a Flute (unprocessed) 609
6.4 27b Flute (Adaptive FBAM) 297

Additional Sound Examples

[881 kB]

This vocal formant example has a 4-voice polyphony, with slightly randomized attacks. Each voice is implemented using five parallel variation 3-II operators that are arranged into a topology shown in Figure (a) above. The modulator operators produce pure cosine waveforms (variation 1, = 0), and their frequencies are tuned to vocal formants. The carrier modulationi index 's are set to values from 0.1 to 0.3, higher value for a wider formant. The fundamental operator contains additionally a randomized amount of sinusoidal vibrato. The output of the algorithm is routed through a reverb effect.

[346 kB]

This example emulates an FM-style electric piano timbre using the algorithm shown in Figure (b) above The metallic attack portion of the sound was generated using two stacked variation 3-I operators (modulator: f0 = 440 Hz, q = 8, = 0.24, carrier: f0 = 440 Hz, q = 21, = 0.5). The body of the sound was produced by a pair of slightly detuned variation 2 operators ( = 0.42, f0_1 = 440 Hz, f0_2 = 441 Hz). The output level of the modulator was shaped with a linearly decaying envelope (the modulation index was kept constant). This sound is adopted from the author's DAFx-2009 paper.

[389 kB]

This example modifies the previous timbre, and augments it with a flute-like sustain-segment as shown in Figure (c) above. These types of sounds were popular during the early days of MIDI synthesizers, when it became possible to combine timbres of different synthesis techniques by playing several synthesizers in unison. Here we are employing FBAM alone, using a stacked pair of variations 1 (modulator q = 12, = 0, g = 1) and 3-I (carrier = 0.29, g = 0.15) for the bright metallic attack portion of the timbre, a self-modulated carrier of the basic FBAM providing the body ( = 0.29, g = 0.18), and finally, a cascade of variation 4 (modulator = 0, g = 1, and carrier = 0.64, ws = ABS, g = 0.04) for the flute-like sustain segment. The latter operator is slowly faded in using the amplitude envelope of the carrier operator, and accompanied with additional vibrato that is produced by a slight detuning between the modulator and the carrier. The spectrogram of the sound is shown below:

All sound examples:
[3.4 MB]


Please send your comments and remarks to the first author: firstname.lastname[-at-]

page last modified July-12-2011.