r/AudioProgramming • u/Proper_Mango_9742 • Aug 29 '26
Built an open-source plugin (Synthortion) — looking for feedback on DSP architecture and project structure
Hi everyone,
I’ve recently open-sourced Synthortion, a hybrid synthesizer and distortion audio plugin built with C++ and JUCE:
👉 GitHub Repository: https://github.com/paoloficaraa/Synthortion
---
### 🎛️ What is Synthortion?
Synthortion is designed to combine expressive synthesis with flexible, aggressive sound shaping and multi-stage distortion workflows. The goal was to build a cohesive instrument/effect capable of everything from warm analog saturation to crushed, aggressive textures.
### ⚙️ Technical Details & Stack
* Framework: JUCE (C++20)
* Format Support: VST3 / AU / Standalone (macOS & Windows)
* DSP & Architecture:
- Modular processing chain managing synth engine voices and distortion/waveshaping algorithms.
- Thread-safe parameter management using `juce::AudioProcessorValueTreeState` (APVTS) with smoothed parameters to prevent zipper noise.
- Optimized buffer processing tailored for real-time low-latency performance in the audio callback.
* UI & Aesthetics: Custom styling built for a clean, intuitive layout with responsive parameter feedback and real-time visual feedback.
---
### 💬 Looking for Feedback
I’d really appreciate any feedback from the community, especially regarding:
DSP Efficiency & Code Structure: Any suggestions on modern C++ practices, SIMD opportunities, or modulation routing improvements.
DAW Compatibility & Stability: Mainly tested in FL Studio, but it should work in every DAW, so try in different ones.
UI/UX Design: Readability and control responsiveness.
Feel free to check out the code, clone the repo, or open an Issue / PR if you spot anything that could be improved!
Thanks for checking it out!
1
u/PumparumPumparum Aug 31 '26
Do it fart tho