Show the Code
music <-
Music() +
Meter(4, 4) +
Line(c("C5", "D5", "E5", "F5"))
show(music)
January 23, 2025
May 18, 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}
}