Additive Synthesis

using the JavaScript Web Audio API

Debashis Biswas | MTC 223 | Spring 2020


Additive synthesis is the process of synthesizing complex sounds by adding sine waves together. This webpage demonstrates instrumental additive synthesis using the Web Audio API provided in JavaScript. For this project, I analyzed the timbre of various instruments using SPEAR and Audition by deconstructing sound samples from the Musical Instrument Samples Database (made available by the University of Iowa Electronic Music Studios). Then, I reconstructed these sounds by adding sine waves together, generating each sine wave using the oscillators provided by the Web Audio API.

The drones are the most convincing as they were built directly from the information I gathered from the original sounds. The scales are less convincing, and this is partially because instrument timbre changes based on register. This is also because there is no ADSR envelope - the sound only starts, sustains, and stops, but there is no defined attack or decay. In other words, the sound does not change over time, which is an important part of timbre. The lick is less related to the results, but does it show that melodies and ornamentation can be implemented in the Web Audio API. However, this is not very efficient, as frequency and time data must be specified for each note. You can hear the results in the demo below.