A polyphonic granular synthesizer plugin for macOS (AU, VST3) and Windows (VST3) that turns a loaded WAV sample into a MIDI-playable instrument across thirteen grain, envelope, and pitch parameters.
The DSP engine is written in standalone C with no external dependencies or audio-thread allocations. Each MIDI voice spawns overlapping Hann-windowed grains from a shared sample buffer; position, spread, grain duration, density, stereo pan, and pitch drift are modulated per grain at spawn time, then summed through a per-voice ADSR envelope into the master bus.
The JUCE editor renders two real-time readouts from lock-free ring buffers fed by the audio thread: a stereo goniometer phase scope of the master output and a waveform source strip displaying the active spread band, per-voice playheads, and a trigger flash at each grain’s sample coordinate.