Developed and maintained by: Julius O. Smith III (jos), initially with the help of Champ Darabundit (first TA)
Prerequisites:
Course Summary
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.
Course Goals
Assignments
The first several assignments get you up and running using the relevant software tools, followed by your project work.
Grading
Grades are based on course diligence, assignment quality, project updates/demos, and final project work.
The Music 320C assignments cover the following basic tools and exercises for audio plugin development:
juce_dsp
module
juce_dsp
moduleIn addition to the two assigned plugins above, we have the following plugin projects:
Build on the assignments to design your own synthesizer plugin
or standalone program.
You choose the sound-synthesis
method, and the definition of "synthesizer" is flexible.
Your final project is open ended and can build on prior work in the class.
Completing the assignments quickly leaves you more time for
your final project, and this is encouraged.
However, it
is also perfectly fine to spend most of the quarter learning
more software tools and doing a more straightforward final project.
Website format by Champ Darabundit based on the Music 250a website by Romain Michon using Bootstrap v3.3.7