Show the Code
music <-
Music() +
Meter(4, 4) +
Line(c("C5", "D5", "E5", "F5"))
show(music)
Alert - I have split up this Huge website into smaller ones. Please check out the new site URLs on the Home page for the latest course content. This website will not be updated anymore. Thanks for your patience and support! ๐
January 23, 2025
July 29, 2025
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?
TO BE ADDED (sic!)
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:
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.
How do we do this with intent? We will follow the development in Farnell and Risset and Mathews, (Risset and Mathews 1969) and Moorer.
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.
music <-
Music() +
Meter(4, 4) +
Line(c("C5", "D5", "E5", "F5"))
show(music)
To be Written Up.
gm: the grammar of Music. https://cran.r-project.org/web/packages/gm/vignettes/gm.html
| Package | Version | Citation |
|---|---|---|
| gm | 2.0.0 | Mao (2024) |
@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}
}