Open for Enrollment

Starts Today

You can also start immediately after joining!
Join Now
Go at your own pace
4 Sessions / 10 hours of work per session
Included w/ premium membership ($20/month)
Skill Level
Video Transcripts
Audio Plugins, JUCE Framework, Audio Plugin Architecture, GUI & DSP Programming
Open for Enrollment

Intro to Audio Plugin Development

Starts Today
You can also start immediately after joining!

Would you like to enroll?

Enrollment for this course has closed. But you can enroll in a future offering (please select)

Enrollment has closed

Enrollment for this course is currently closed, but the next offering will be available shortly. Check back soon!

Go at your own pace
4 Sessions / 10 hours of work per session
Included w/ premium membership ($20/month)
Skill Level
Video Transcripts
Audio Plugins, JUCE Framework, Audio Plugin Architecture, GUI & DSP Programming
Course Description

Electronic musician and Output audio developer Jacob Penn teaches the first course of our two-part program Creating Audio Plugins with C++ and JUCE. Using the de facto language and framework of the industry, you will learn how to design, architect, and develop multi-threaded audio plugins in industry-standard formats like VST and AudioUnit. After taking this course, you will have a firm understanding of what really goes into developing software audio plugins, including how they work from a structural perspective, and the thought and design processes that go into the creation of commercial products.

What students are saying:

" Thanks so much for creating this course! It is one-of-a-kind and super helpful for those getting started with the JUCE framework and developing audio plugins. As a DSP Engineer with hopes of breaking into the plugin industry, being able to engage at this educational level with a company like Output is very valuable to me. "


This course is in adaptive mode and is open for enrollment. Learn more about adaptive courses here.

Session 1: Introduction to Audio Plugins & JUCE (July 14, 2020)
This session introduces concepts related to digital audio, JUCE, and audio plugin architecture.
7 lessons
1. Meet Jake and Bruce
2. Behind the Code: Pain Points & Questions
3. Program Overview: Fundamental Concepts (Premium Exclusive)
4. Technical Introduction
5. Digital Audio Theory (Premium Exclusive)
6. Intro to JUCE
7. Plugin Architecture
Session 2: Parameters, Components & Listeners (July 21, 2020)
This session introduces plugin parameters, components, listeners, and control methods.
8 lessons
1. Create Your First Audio Plugin
2. PluginProcessor
3. ProcessBlock
4. ProcessBlock Gain
5. Parameter Smoothing (Premium Exclusive)
6. Adding a UI
7. Listener Pattern
8. Listener Pattern Alternative (Premium Exclusive)
Session 3: Delays, Circular Buffers & Interpolation (July 28, 2020)
This session introduces digital delay lines, parameter smoothing, and inter sample interpolation.
8 lessons
1. Digital Delay & DSP Blocks
2. Circular Buffers
3. Reading the Data (Premium Exclusive)
4. Adding Feedback
5. Adding UI Part 1: Dry/Wet Control
6. Adding UI Part 2: Feedback Control
7. Adding Interpolation
8. Adding a Smooth Read
Session 4: Chorus, Modulators & Statefulness (August 4, 2020)
This session introduces oscillators, modulators, and application statefulness.
10 lessons
1. Expanding Our System
2. Refactor
3. Adding an LFO - Part 1
4. Adding an LFO - Part 2
5. Adding Depth
6. Adding Phase Offset (Breaking the Code) (Premium Exclusive)
7. Adding Phase Offset (Repairing the Code)
8. Saving/Loading State Part 1 (Premium Exclusive)
9. Wrapping Up the Code (Premium Exclusive)
10. Course Recap
Learning Outcomes

Below you will find an overview of the Learning Outcomes you will achieve as you complete this course.

Instructors & Guests
What You Need to Take This Course

Prior Knowledge:

C++, Music DAWs & Plugins


JUCE Code Library


Semi-modern computer


Integrated Development Environment (IDE) like Xcode, Visual Studio, or CodeBlocks

Additional Information

If a student signs up for the Creating Audio Plugins With C++ program, it is recommended that these courses are taken sequentially.

Peer Assessment Code of Conduct: Part of what makes Kadenze a great place to learn is our community of students. While you are completing your Peer Assessments, we ask that you help us maintain the quality of our community. Please:

  • Be Polite. Show your fellow students courtesy. No one wants to feel attacked—ever. For this reason, insults, condescension, or abuse will not be tolerated.
  • Show Respect. Kadenze is a global community. Our students are from many different cultures and backgrounds. Please be patient, kind, and open-minded when discussing topics such as race, religion, gender, sexual orientation, or other potentially controversial subjects.
  • Post Appropriate Content. We believe that expression is a human right, and we would never censor our students. With that in mind, please be sensitive of what you post in a Peer Assessment. Only post content where and when it is appropriate to do so.

Please understand that posts that violate this Code of Conduct harm our community and may be deleted or made invisible to other students by course moderators. Students who repeatedly break these rules may be removed from the course and/or may lose access to Kadenze.

Students with Disabilities: Students who have documented disabilities and who want to request accommodations should refer to the student help article via the Kadenze support center. Kadenze is committed to making sure that our site is accessible to everyone. Configure your accessibility settings in your Kadenze Account Settings.