ucsb-cs56-projects / cs56-music-basic-synthesis-demo

-
0 stars 5 forks source link

Additive Synthesis #21

Open pconrad opened 11 years ago

pconrad commented 11 years ago

~depends #20

Single sine waves are boring.

Add additive synthesis, where you can specify an ArrayList of amplitudes of the harmonics of the principle frequency, and use that to generate more complex waveforms. For example, using 1/n amplitude for the odd harmonics approximates a square wave (1/3 of the 3rd harmonic, 1/5 of the fifth harmonic, 1/7 of the 7th harmonic, etc. with 0 for the even harmonics.).

A regular plain old sine wave is now the special case of a vector of length one with coefficient 1. (i.e. 1 times the fundamental frequency.)

Add this capability, and appropriate controls into all of the main programs (command line and GUI) in the project.

~estimated 600

pconrad commented 10 years ago

@rtwaltman and @dwang68