CS 499 / 003
CS 695 / 003

Computational Music Synthesis


Sean Luke


Mondays, 4:30 to 7:10 PM, Online.


(For CS499) MATH 114 and CS 310.
(For CS695) Equivalent topics (Calculus 2 and Data Structures / Java)

It would also be rather helpful, but not required, to have at least a bit of music performance, composition, synthesizer, or music production experience, as for obvious reasons many of the topics will deal directly with these areas.

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 hit you with a firehose of information. It will probably be challenging but (I hope!) interesting and eye-opening. You should know the material in MATH 114 and CS 310 quite well. You should also be prepared to draw ideas from multiple areas outside of computer science. Projects will be nontrivial and in Java.

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.