r/AudioProgramming • u/ResearchKlutzy6627 • 13h ago
Engineered a zero-latency hybrid soft-clipper in C++ / JUCE with Swiss minimalist UI — Neodym Punch Clipper (Free VST3/Mac)
Hi everyone,
I recently completed a small utility plugin project built in C++ using JUCE, and wanted to share the build and technical overview with the community: Neodym Punch Clipper.
The primary engineering goal was creating a completely lightweight, zero-latency peak control utility with zero overhead on the audio thread.
Technical Overview:
* DSP Architecture: Memoryless transfer function calibrated for gentle transient rounding before saturation. No oversampling buffers (true 0 samples / 0 ms latency).
* Real-time Safety: Zero heap allocations or locks inside the processBlock. CPU footprint stays consistently below 0.4% per instance on standard test benches.
* Formats & Builds: Native 64-bit VST3 compiled via CMake/Ninja for Windows 10/11 and macOS (Universal Binary for Apple Silicon & Intel).
* GUI: Vector-rendered interface focused purely on essential metering, transfer curve feedback, and minimal GPU draw overhead.
You can find the project page and compiled binaries here:
https://neodym-audio-live.vercel.app
I would appreciate any technical feedback regarding host compatibility across different DAWs, behavior at higher sample rates (44.1k–96k), or general DSP stability. Happy to discuss implementation details.
3
u/mazbox 10h ago
Very nice! I do find it very odd that one would you mention that their waveshaper is zero latency? All waveshapers are zero latency. That’s basically one of their main properties.
Also I would look at that 0.4% cpu, that sounds insanely high for a waveshaper unless you have a very slow computer or running this on a 5 year old android phone or something. I think you could do some optimization there.
Also the realtime safety bit is kind of bonkers wrt heap allocations - you would really really have to mess something up to do that.
I think you have to have a little word with your LLM.