February 2026 – Present
Solace Synth
Role: Lead Developer & DSP Engineer

Stats
Tech Stack
About This Project
Most synthesizer plugins are either expensive commercial products, abandoned open-source projects built on outdated frameworks, or simplified educational toys that never reach production quality. Solace Synth started as a challenge: build a fully functional polyphonic synthesizer from scratch — not by forking an existing codebase, but by writing every DSP module, every voice manager, and every parameter bridge from the ground up using modern C++ and JUCE 8.
The audio engine implements a complete subtractive synthesis signal chain: dual oscillators with five waveforms each, a state-variable filter with three modes (LP12, LP24, HP12), dedicated ADSR envelopes for both the amplifier and filter, an LFO with three assignable modulation targets, configurable polyphony up to 16 voices, unison with detune, and velocity-sensitive modulation routing. Every parameter is bridged to the UI via atomic reads on the audio thread — zero allocations, zero locks, zero compromises on real-time safety.
The UI uses JUCE 8's native WebView integration (WebView2 on Windows), allowing the frontend to be built entirely in HTML, CSS, and JavaScript while the C++ backend handles all DSP processing. This architecture enabled a collaborative workflow: the UI/UX designer works directly in Figma and translates designs into frontend code, while the audio engine remains a clean C++ layer underneath. The result is a modern, slider-based interface that feels native while being fully customizable.
- Dual oscillators — Sine, Sawtooth, Square, Triangle, and Noise waveforms with octave, transpose, and fine-tuning controls.
- State-variable filter — LP12, LP24, and HP12 modes with cutoff, resonance, and a dedicated filter ADSR envelope.
- LFO modulation — Assignable to three simultaneous targets from a fixed list including filter cutoff, oscillator pitch, and levels.
- Full ADSR envelopes — Separate amplifier and filter envelopes with per-voice processing and correct voice-stealing behavior.
- Velocity modulation — Configurable velocity-to-parameter routing with multiple assignable targets.
- WebView UI architecture — HTML/CSS/JS frontend communicating with C++ DSP via JUCE's native relay bridge. Designed collaboratively with a dedicated UI/UX designer.
- Outputs as both VST3 plugin and standalone application from a single JUCE codebase.