CS 499 / 003

Computational Music Synthesis


Sean Luke


Thursdays, 4:30 to 7:10 PM, in Innovation Hall 215G.


MATH 114, CS310, CS367, and some degree of music performance, synthesizer, or music production experience.

About the Class

This course will introduce the student to scientific and engineering topics, computer algorithms, and software design issues involving the development of software and hardware music synthesizers, controllers, MIDI devices, and sequencers. The class is hands-on, involving real synthesis examples and software development. Topics covered will involve music synthesis history, acoustics and psychoacoustics of sound and music, digital representation of sound, several synthesis methods, controllers, and artifical intelligence applications. The class will include assignments and a final project.


This course will probably be very hard but (I hope!) interesting and eye-opening. Developing a music synthesizer involves knowledge of a broad array of computer science fields, including real-time systems, signal processing, networks and serial protocols, and artificial intelligence; plus significant domain-specific knowledge from acoustics, music, and psychology. You are expected to know the material in MATH 114, CS310, and CS367 well, and be able to get up to speed rapidly doing software development in nontrivial projects. You should also be prepared to draw ideas from multiple areas outside of computer science.

Course Web Page



Grading will be divided roughly as follows: 20% Midterm, 20% Non-cumulative Final Exam, 60% Assignments and final Project.

Honor Code

The class enforces the GMU Honor Code, and the more specific honor code policy special to the Department of Computer Science. You will be expected to adhere to this code and policy.


If you have a documented learning disability or other condition which may affect academic performance, make sure this documentation is on file with the Office of Disability Services and come talk to me about accommodations.