Additive Sound Synthesis
Introduction
So we understand the Fourier Transform: we can express any waveform as a sum of sinusoids that are appropriately weighted and are at discrete multiples of a chosen “fundamental frequency”.
How do we use these ideas to synthesize sound?
Inspiration
TO BE ADDED (sic!)
What is Additive Synthesis?
First we need to get used to the idea of an oscillator.
An oscillator is a source: it generates waveforms that we perceive as sound. Let us play with a few oscillator types here:
https://musiclab.chromeexperiments.com/Oscillators/
Each of these waveforms, by the Fourier series, is the sum of an ( infinite) number of sine wave outputs.
In Fourier series, we normally use just sine wave oscillators, and use many of them to add up to obtain the wave form we need. Now let us hear from Mr Shiffman again:
The Math of Waveform Addition
In general, we can write a sum of sine/cos waves as:
How does this look like? Mr. Shiffman again:
Now let us see how we can design something using the Additive Method.
Design Principles for Additive Synthesis
How do we do this with intent? We will follow the development in Farnell and Risset and Mathews, (Risset and Mathews 1969) and Moorer.
- The idea is to take an original sound, analyze that using the Fourier Series, and then use those coefficients to synthesize the sound with code.
- The coefficients, or parameters, need to be manipulated and transformed with time, in order for the synthesized sound to have a “live” feel.
- The number of such parameters and their control over time could pose a formidable data management challenge. This leads to the idea of data reduction in order to have a manageable number of these, and generate the sound in its essentials.
- One essential part of this is to use envelopes around the amplitudes of several sine waves, what is called the ADSR method. This could also lead to several oscillators being turned on or off based on need.
- So one needs to break down the sound into “principal components” that are harmonically related ( as with the Fourier series) and then fill in inharmonic tones using additional oscillators.
What is ADSR?
ADSR stands for “Attack Decay Sustain Release”. These related to the way a note of music varies over time in a typical piece of music.
Additive Synthesis with Code
Wait, But Why?
To be Written Up.
References
- James Moorer. (Nov 1976) The Synthesis of Complex Audio Spectra by Means of Discrete Summation Formulae. Journal of the Audio Society. PDF
- Jean-Claude Risset, Max V. Matthews. (Feb 1969). Analysis of Musical Instrument Tones. Physics Today. https://sci-hub.se/https://doi.org/10.1063/1.3035399
- p5.Sound Tutorial.https://pdm.lsupathways.org/6_resources/7_soundandmusic/p5.sound/
- Sound in p5.js Playlist. https://www.youtube.com/playlist?list=PLRqwX-V7Uu6aFcVjlDAkkGIixw70s7jpW
- Sounds with Tone.js. https://pdm.lsupathways.org/3_audio/
- Mister Bomb. p5.Sound project tutorials https://www.youtube.com/playlist?list=PLIsdHp2z9wFl7A1wWb2VmQUUojEGsKELE
-
R package
gm
: the grammar of Music. https://cran.r-project.org/web/packages/gm/vignettes/gm.html - Phil Burk,Larry Polansky, Douglas Repetto, Mary Roberts Dan Rockmore. Music and Computers: A Theoretical and Historical Approach https://musicandcomputersbook.com
R Package Citations
Citation
@online{2025,
author = {},
title = {Additive {Sound} {Synthesis}},
date = {2025-01-23},
url = {https://av-quarto.netlify.app/content/courses/MathModelsDesign/Modules/35-Media/12-AdditiveSynth/},
langid = {en}
}