Class: Tues+Thurs 3:15 PM - 4:30 PM
Labs/Office Hours: 2:45-3:45pm on Wednesdays in the Seminar Room
Location: Knoll 217 (CCRMA Classroom)
Music 320C focuses on developing audio signal-processing plugins and stand-alone applications in C++. Prior experience is assumed with programming in C/C++, and signal processing theory and programming on the level of Music 320A and/or 320B. Class time is devoted to presenting and discussing the JUCE framework for creating audio plugins and stand-alone applications, the Faust (Functional AUdio STream) programming language for generating audio C++, related theory and projects, project progress reports, and project final presentations.
The first several assignments get you up and running using the relevant software tools, followed by your project work.
Grades are based on class participation, assignments, project updates/demos, and final project work. Those enrolled for one unit (class attendance only) should sign up for CR/NC.
The required Music 320C assignments cover the following basic tools and exercises for audio plugin development:
Based on how long the assignments take, both projects will take 3-4 weeks each.
In this project, you will build on the previous assignments to design your own synthesizer plugin or program. You will be in control of sound generation and shaping, and the definition of a synthesizer is flexible.
Your final project is open ended and can build on prior work in the class.