Computational Music Synthesis
Zeroth Edition (Online Version 0.3)
Department of Computer Science
George Mason University
About the Book
This is an open set of lecture notes on topics related to building music synthesizers in software, and is intended for undergraduate-level computer scientists or those with a significant programming background. It was developed as a series of lecture notes for an undergraduate course I taught at GMU. The topics are short and light on theory. The book also contains a lot of historical background on music synthesizers to put things into context.
I am by no means an expert in this topic: as a result there are no doubt numerous errors in the text, ranging from simple typos to profound misunderstandings. I would appreciate feedback, corrections, and proposed additions: I will be gradually making improvements and fixes to the text.
Topics in the Book
- Introduction. Synthesizer basics, usage environments, basic history.
- Representations of sound. Units of measure, issues in digitization of signals.
- The Fourier Transform. DFT and FFT, windowing.
- Additive synthesis.
- Modulation. LFOs, envelopes, sequencers, arpeggiation, modulation matrices, MIDI modulation.
- Subtractive synthesis. Oscillators, antialiasing, wave shaping, wave folding, phase distortion, combination and amplification.
- Digital filters. Transfer functions, poles and zeros, magnitude and phase response, Laplace domain, Z domain and the Bilinear transform, second-order Butterworth filters, formants.
- Frequency Modulation synthesis. Phase modulation, sidebands, Bessel functions and reflection, operators and algorithms.
- Sampling. Pulse code modulation, wavetable synthesis, granular synthesis, resampling techniques, real-time interpolation.
- Effects. Delays, flangers, chorus, reverb, phasers, physical modeling synthesis.
- Controllers. MIDI protocols.
How to Download the Book
To download the PDF file (about 25 megabytes), please fill out the form below. To justify giving this sucker away for free, I need aggregate (and only aggregate) statistics on how many people are using it and in what way. I'm a professor, and am not in the business of abusing personal data. Help me out: fill out the form.