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::C++ Language Fundamentals (mentored)
- PFM::SimpleEQ (Free, follow-along videos)
- PFM::SimpleMultibandComp (free, follow-along videos)
- PFM::Project 10 (mentored)
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:
- PFM::C++ Language Fundamentals (mentored)
- PFM::SimpleEQ (free, follow-along videos)
- PFM::SimpleMBComp (free, follow-along videos)
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