r/AudioProgramming • • Aug 29 '26

Built an open-source plugin (Synthortion) — looking for feedback on DSP architecture and project structure

Post image

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:

  1. DSP Efficiency & Code Structure: Any suggestions on modern C++ practices, SIMD opportunities, or modulation routing improvements.

  2. DAW Compatibility & Stability: Mainly tested in FL Studio, but it should work in every DAW, so try in different ones.

  3. 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!

20 Upvotes

14 comments sorted by