3

Computational Music Synthesis

 3 years ago
source link: https://cs.gmu.edu/~sean/book/synthesis/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Zeroth Edition (Online Version 0.3

)

Sean Luke

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

  1. Introduction. Synthesizer basics, usage environments, basic history.
  2. Representations of sound. Units of measure, issues in digitization of signals.
  3. The Fourier Transform. DFT and FFT, windowing.
  4. Additive synthesis.
  5. Modulation. LFOs, envelopes, sequencers, arpeggiation, modulation matrices, MIDI modulation.
  6. Subtractive synthesis. Oscillators, antialiasing, wave shaping, wave folding, phase distortion, combination and amplification.
  7. Digital filters. Transfer functions, poles and zeros, magnitude and phase response, Laplace domain, Z domain and the Bilinear transform, second-order Butterworth filters, formants.
  8. Frequency Modulation synthesis. Phase modulation, sidebands, Bessel functions and reflection, operators and algorithms.
  9. Sampling. Pulse code modulation, wavetable synthesis, granular synthesis, resampling techniques, real-time interpolation.
  10. Effects. Delays, flangers, chorus, reverb, phasers, physical modeling synthesis.
  11. 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.

Or if you are without honor, you may skip this step and simply download the textas a PDF (25MB).

Tip Jar

Like the book? I accept tips through my Patreon page

or over Paypal.

Multimedia for the Book

As part of the course, I also prepared links to a variety of web pages, videos, etc. illustrating how various devices and concepts sounded. Here they are:

Related Software

I have made some pieces of software referenced in the text. They are all open source:

  • Gizmo is an Arduino-based MIDI tool with lots of built-in features, like a step sequencer, advanced arpeggiator, note recorder, MIDI gauge and control surface, etc.
  • Flow is a polyphonic, modular, additive software synthesizer. It is quite unusual, powerful, and CPU-hungry. I think you'll have fun with it.
  • Edisyn is a patch editor tookit with support for a number of synthesizers. Edisyn is unusual in that it has (to my knowledge) the most sophisticated set of patch exploration tools in any publically available program. Edisyn is designed to make it easy to explore complex patch parameter spaces, such as for FM.

Feedback

This book relies on your feedback to improve it. If you have any complaints, bug-fixes, or suggestions, send email to [email protected]

. If you have a particularly major change to make, I can be convinced to provide you with the original LaTeX source for the document to enable you to make suggested changes freely.

How to Cite the Book

Because it's an online text, you need to be careful with your citation. The correct citation is:

Sean Luke, 2019, Computational Music Synthesis, zeroth edition, available for free at http://cs.gmu.edu/~sean/book/synthesis/

Please always include the URL—it's the only unique identifier to the text! If you prefer BibTeX:

@Book{ Luke2019Synthesis, 
       author =    { Sean Luke }, 
       title =     { Computational Music Synthesis },
       edition =   { zeroth },
       year =      { 2019 }, 
       note =      { Available for free at http://cs.gmu.edu/$\sim$sean/book/synthesis/ } 
     }

Open License

The text is licensed under the Creative Commons Attribution-No Derivative Works 3.0 United States License

, except for certain portions of the work licensed under other licenses as mentioned in the frontmatter of the text. A quick license summary:

  1. You are free to redistribute this document.
  2. You may not modify, transform, or build upon the document except for personal use.
  3. You must maintain the author's attribution of the document at all times.
  4. You may not use the attribution to imply that the author endorses you or your document use.

This summary is just informational: if there is any conflict in interpretation between the summary and the actual license, the actual license always takes precedence.

Note that this license does not extend to the source files used to produce the document. Those are still mine (for now).


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK