PFM::Project 12 Course

Build PFM::Project12 from scratch using JUCE and Modern C++

Learn how to:

  • Create a Multiband Compressor with Variable band count
  • Build the ability to change the number of bands
  • Pass objects between threads in a lock-free manner
  • Build: Averagers, ValueHolders, DecayingValueHolders, FIFOs.
  • Build Level Meters showing instantaneous and averaged RMS and Peak levels
  • Build a Stereo Spectrum Analyzer
  • Build an interactive GUI for controlling the filter crossovers and compressor thresholds
  • Implement saving and loading
  • Solo, Mute and Bypass individual filter bands
  • And much more!

Completing PFM::SimpleEQ or PFM::SimpleMultibandComp will prepare you for this project.

You will be challenged by this course!

I highly recommend completing PFM::Project 10 before tackling this course. 

If you want to deeply learn C++, how to use GIT correctly, and JUCE Framework basics, I have the following resources:


PFM::Project 12 is available in 3 versions:

  • Instructions Only. 46 Steps. Tackle the project at your own speed, using the same instructions set that comes with the mentored version. For those who want no assistance.
  • Instructions + Slack Access for asking basic questions (no code reviews or guidance). Tackle the project at your own speed, using the same instructions set the mentored version receives. For the developer who has simple questions but doesn't want or need any help getting everything working.
  • Instructions + Slack Access + 30 Days of Code Reviews & Guidance. For the developer who wants to get through the project as fast as possible and get as much help as they need. The mentored version is explained below.

It is recommended that you already know some C++ and how to use GIT to manage the project's source code, but not required. 

You will learn proper GIT etiquette during this course, if you do not already know it.

If you want to deeply learn C++, how to use GIT correctly, and JUCE Framework basics, I have the following resources:


Includes Chapters 6 and 7 from PFM::C++ Language Fundamentals to get you up to speed with JUCE and Multithreaded programming.

Learn more here: https://www.programmingformusicians.com/syllabus/


Details of the Mentored version:

You'll build this project from scratch and I will review your code.  

I will be your project manager and assign work accordingly.  

This project is built in phases.

  • DSP Pt. 1-3
  • GUI Pt. 1-5

Instructions are provided via a Jira Project board one phase at a time.

You'll submit your work via Pull Requests to a BitBucket repository.

I will review your work and either approve or request changes.

Discussions regarding the project are handled via a private Slack Workspace.

If you get really stuck, we can screen share via Zoom.

30 days of 1-on-1 mentorship via the Slack Workspace is included.  

Mentorship begins immediately upon purchase.  You decide how quickly you want to proceed through the material during the included mentorship period.

The completion time of this course depends entirely on the work the student puts in and their rate of progress through the project.

Continued Mentorship is available here: https://www.programmingformusicians.com/pfm_membership 

I want this!
18 sales
Watch link provided after purchase

No Refunds

Thank you for your interest in purchasing a digital product from Matkat Music! Before you complete your purchase, please carefully read the refund policy outlined below.

No Refunds
Due to the digital nature of the product, all sales are final. Once you have gained access to the product, we are unable to offer refunds, exchanges, or cancellations. By making a purchase, you agree to these terms.

Product Access.
Upon successful payment, you will receive immediate access. Please ensure that the email address you provide during the purchase process is accurate, as that is where all product-related content and communication will be delivered.

Last updated May 22, 2023

Copy product URL
$199

PFM::Project 12 Course

I want this!