Software
OSHAEQ
6-band parametric EQ VST3/AU plugin in C++/JUCE with real-time FFT spectrum analyser.
Background
OSHAEQ is a 6-band parametric equaliser audio plugin built in C++ using the JUCE framework. It targets VST3 and AU plugin formats and runs inside any compatible DAW (Ableton Live, Logic Pro, Reaper, etc.).
The project grew out of my MSc Audio & Music Technology at the University of York, where I wanted to go deeper than the theory and actually implement IIR filter design from scratch — specifically the RBJ Cookbook biquad formulas that are the industry standard for parametric EQ bands.
Features
- 6 fully parametric EQ bands with adjustable frequency, gain, and Q
- Per-band band types: low shelf, high shelf, peak, low-pass, high-pass
- Real-time FFT spectrum analyser overlay on the EQ curve display
- JUCE AudioProcessorValueTreeState for parameter management and DAW automation
- Custom OpenGL-accelerated frequency response curve rendering
Limitations
- No oversampling — aliasing artefacts may be audible at extreme settings near Nyquist
- The FFT display refresh rate is tied to the audio callback; high buffer sizes cause visible lag
- No preset system at this stage — parameter state saves and loads via the DAW only
- UI scaling is fixed; not tested at display densities above 2×
What I learned
Implementing biquad filters from the RBJ Cookbook and then visualising the resulting frequency response in real time was the steepest learning curve. The gap between the mathematics and a working, glitch-free GUI render took significant iteration. This project is the main evidence of my C++/JUCE competence.