Introduction to Computer Music

Course ID 15622

Description IMPORTANT: This version of Intro to Computer Music will feature a significant redesign. A key change is that the course will now be using Python as a teaching language for instruction/assignments. Intro to Computer Music teaches you to program computers to synthesize, process, and understand music and sound signals. It is taught simultaneously to both undergraduate (322) and graduate (622) sections. This course is both technical and creative---think of it as the musical equivalent to a CS course on computer graphics. Projects will task you to both (i) apply technical skills to create musical tools, (ii) exercise your creativity using those tools. A background in programming *is* required (15-112 or equivalent at a minimum), but formal training in music *is not* required. Understanding the signal processing concepts in this course also requires a reasonable comfort level with trigonometry, calculus, and complex numbers, though mathematics is not the primary focus of this course.

Key Topics
Digital audio; signal processing; computer music; sound synthesis; sound effects and processing

Required Background Knowledge
Programming experience in Python, comfort w/ college-level mathematics including trigonometry/complex plane/calculus

Course Relevance
15-322: Undergraduates studying computer science or engineering topics. Students studying music technology or other music and creative computing disciplines are also encouraged to enroll, though only if comfortable with the required programming / math.

15-622: Graduate students across campus interested in computer music, including advanced topics which can be explored in term projects (DSP, plugin programming, music AI, computer music research)

Course Goals
Students will learn: computer programming for the synthesis and manipulation of sound at a low level, fundamental digital signal processing concepts like sampling theory, convolution, and the Discrete Fourier Transform, how to combine synthesis and processing techniques to accomplish creative goals in computer music

Learning Resources
Course textbook, Python, Numpy

Assessment Structure
Exercises: 5%; Course Projects: 45%; Final Project: 15%; Midterm Exams: 20%; Final Exam: 15%

Extra Time Commitment
n/a

Course Link
https://www.cs.cmu.edu/~15322/