C++ Programming Tutorial - Build a 3-Band Compressor Audio Plugin (w/ JUCE Framework)
Key Takeaways
This video tutorial teaches modern C++ by building a 3-Band Compressor with Spectrum Analyzer using the JUCE Framework, covering topics such as audio plugin development, digital signal processing, and GUI design.
Original Description
In this tutorial you will learn modern C++ by building a 3-Band Compressor with Spectrum Analyzer using the JUCE Framework.
✏️ This course was developed by Matkat Music. Check him out on YouTube and Instagram:
🔗 https://www.youtube.com/matkatmusic
🔗 https://www.instagram.com/matkatmusic
💻 Code: https://github.com/matkatmusic/SimpleMultiBandComp/
💻 Download the finished plugin: https://www.programmingformusicians.com/simplembcomp/
⭐️ Course Contents ⭐️
⌨️ (0:00:00) Intro
DSP [3hr 31min]
⌨️ (0:02:29) Part 1 Mac & Windows Setup
⌨️ (0:04:10) Mac set up
⌨️ (0:22:40) Windows set up 2
⌨️ (0:45:49) Part 2 Anatomy of an Audio Plugin 4
⌨️ (1:01:05) Part 3 Compressor Theory of Operation
⌨️ (1:12:13) Part 4 Compressor Parameters
⌨️ (1:23:45) Part 5 The First Compressor
⌨️ (1:38:50) Part 6 Creating a CompressorBand
⌨️ (1:44:20) Part 7 DSP Roadmap & Intro to Multiband Filtering
⌨️ (1:53:28) Part 8 Param Namespace
⌨️ (2:04:24) Part 9 Linkwitz-Riley Filters
⌨️ (2:18:13) Part 10 Testing the Filter
⌨️ (2:30:32) Part 11 Filterband Theory
⌨️ (2:35:06) Part 12 3-Band Filtering
⌨️ (2:44:06) Part 13 Inverted Allpass Filters
⌨️ (2:51:27) Part 14 Activating 3 Compressors
⌨️ (3:03:27) Part 15 Implementing Solo/Mute/Bypass
⌨️ (3:13:32) Part 16 Adding I/O Gain & Code Cleanup
GUI [4 hr 45 min]
⌨️ (3:30:43) Part 17 GUI Roadmap
⌨️ (3:36:29) Part 18 Placeholder Components
⌨️ (3:42:43) Part 19 Global Controls
⌨️ (4:03:46) Part 20 Rotary Slider With Labels
⌨️ (4:30:30) Part 21 Compressor Band Controls Pt. 1
⌨️ (4:40:32) Part 22 Compressor Band Controls Pt. 2
⌨️ (4:54:53) Part 23 Compressor Band Controls Pt. 3
⌨️ (5:07:51) Part 24 Band Select Functionality Pt. 1 0
⌨️ (5:25:21) Part 25 Band Select Functionality Pt. 2
⌨️ (5:34:29) Part 26 Separate Files Refactor
⌨️ (5:49:05) Part 27 Band Select Functionality Pt. 3
⌨️ (6:07:13) Part 28 Spectrum Analyzer Pt. 1
⌨️ (6:27:10) Part 29 Spectrum Analyzer Pt. 2
⌨️ (6:50:35) Part 30 Spectrum Analyzer Pt. 3
⌨️ (7:22:35) P
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from freeCodeCamp.org · freeCodeCamp.org · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
React: Production Server Setup Part 2 - Live Coding with Jesse
freeCodeCamp.org
cookies vs localStorage vs sessionStorage - Beau teaches JavaScript
freeCodeCamp.org
Browser history tutorial - Beau teaches JavaScript
freeCodeCamp.org
Graph Data Structure Intro (inc. adjacency list, adjacency matrix, incidence matrix)
freeCodeCamp.org
React: Parameterized Routing with Next.js - Live Coding with Jesse
freeCodeCamp.org
React: Dealing with jQuery Issues - Live Coding with Jesse
freeCodeCamp.org
setInterval and setTimeout: timing events - Beau teaches JavaScript
freeCodeCamp.org
Browser and Device Testing - Live Coding with Jesse
freeCodeCamp.org
Last Minute Updates - Live Coding with Jesse
freeCodeCamp.org
Post Launch Updates - Live Coding with Jesse
freeCodeCamp.org
React: Setting Up Google Analytics - Live Coding with Jesse
freeCodeCamp.org
React: Masonry Layout - Live Coding with Jesse
freeCodeCamp.org
Load Balancing Digital Ocean Droplets - Live Coding with Jesse
freeCodeCamp.org
try, catch, finally, throw - error handling in JavaScript
freeCodeCamp.org
Load Balancing: SSL Passthrough Setup - Live Coding with Jesse
freeCodeCamp.org
Graphs: breadth-first search - Beau teaches JavaScript
freeCodeCamp.org
React: Masonry Layout Part 2 - Live Coding with Jesse
freeCodeCamp.org
React: WordPress API Live Search - Live Coding with Jesse
freeCodeCamp.org
Creating WordPress Custom Post Types - Live Coding With Jesse
freeCodeCamp.org
Dates - Beau teaches JavaScript
freeCodeCamp.org
Miscellaneous Front End Updates - Live Coding with Jesse
freeCodeCamp.org
Merging a Pull Request from GitHub - Live Coding with Jesse
freeCodeCamp.org
React + Prettier + Standard JS - Live Coding with Jesse
freeCodeCamp.org
React: Sortable Responsive Table - Live Coding with Jesse
freeCodeCamp.org
Geolocation Sorting by Distance - Live Coding with Jesse
freeCodeCamp.org
Tradeoff Matrix - Agile Software Development
freeCodeCamp.org
The Definition of Ready - Agile Software Development
freeCodeCamp.org
Getting first React job without experience - Ask Preethi
freeCodeCamp.org
React: Google Analytics Click Tracking - Live Coding with Jesse
freeCodeCamp.org
Submitting a PR to an Open Source Project - Live Coding with Jesse
freeCodeCamp.org
Should I go back to school to get CS degree? - Ask Preethi
freeCodeCamp.org
Hero Section CSS Changes - Live Coding with Jesse
freeCodeCamp.org
Working Agreement - Agile Software Development
freeCodeCamp.org
A day at Pennybox with Co-Founder Reji Eapen
freeCodeCamp.org
React: Sorting and Filtering Data - Live Coding with Jesse
freeCodeCamp.org
React: Sorting and Filtering Data Part 2 - Live Coding with Jesse
freeCodeCamp.org
React: Building a New UI - Live Coding with Jesse
freeCodeCamp.org
Definition of Done - Agile Software Development
freeCodeCamp.org
Getting started with jQuery (tutorial) - Beau teaches JavaScript
freeCodeCamp.org
Making a React Blog with WordPress Content - Live Coding with Jesse
freeCodeCamp.org
React, NextJS, CSS - Live Coding with Jesse
freeCodeCamp.org
jQuery events - Beau teaches JavaScript
freeCodeCamp.org
React/NextJS Routing and WordPress API Custom Types - Live Coding with Jesse
freeCodeCamp.org
React: Working with API Data - Live Coding with Jesse
freeCodeCamp.org
React: Refactoring Components - Live Streaming with Jesse
freeCodeCamp.org
jQuery effects - Beau teaches JavaScript
freeCodeCamp.org
More React Refactoring - Live Coding with Jesse
freeCodeCamp.org
animate in jQuery - Beau teaches JavaScript
freeCodeCamp.org
"Finishing" My React Site - Live Coding with Jesse
freeCodeCamp.org
Starting a New React Project (P2D1) - Live Coding with Jesse
freeCodeCamp.org
React Project 2 Day 2: Learning Material UI - Live Coding with Jesse
freeCodeCamp.org
The Agile Manifesto - Agile Software Development
freeCodeCamp.org
jQuery: get and set with http, text, val, and attr - Beau teaches JavaScript
freeCodeCamp.org
React Project 2 Day 3 - Live Coding with Jesse
freeCodeCamp.org
The INVEST approach to product backlog items
freeCodeCamp.org
React Project 2 Day 4 - Live Coding with Jesse
freeCodeCamp.org
Chickens and Pigs - Agile Software Development
freeCodeCamp.org
React Project 2 Day 5 - Live Coding with Jesse
freeCodeCamp.org
jQuery: add and remove DOM elements - Beau teaches JavaScript
freeCodeCamp.org
React Project 2 Day 6 - Live Coding with Jesse
freeCodeCamp.org
Related Reads
📰
📰
📰
📰
Build a Claude Skill That Replaces Your $99 Cold-Email Tool
Medium · AI
Decide targets workplaces with enterprise AI rollout through CafeOne
TechCabal
Stop Ruining Your Daytime Shots: Why AI is Replacing Traditional Vintage Camera Apps
Medium · AI
The AI Tool I Built for Myself Ended Up Becoming the Product Clients Asked About the Most
Medium · Programming
🎓
Tutor Explanation
DeepCamp AI