I built TrebleMaker to properly learn C++ and JUCE. While the DSP is a standard high-shelf filter, the real challenge of the project was the architecture and the UI system. I wanted to see if I could build a resolution-independent interface entirely from code, no image assets allowed.
It's a work in progress, but it's functional and I learned a ton building it.
|
Inspired by Dieter Rams, the interface is purely algorithmic. Every knob, texture, and bezel is drawn in real-time using |
I used |
|
The audio thread is completely lock-free. No memory allocations or blocking operations during processing. |
It's a topology-preserving transform (TPT) state-variable filter. I added a small amount of parameter drift to the cutoff to give it a slightly more "analog" behavior than a perfect digital filter. |
- Real-time FFT frequency analyzer
- Optimize drawing performance (caching complex paths)
- General code cleanup and refactoring
