# InstaGrain Granular synthesizer plugin (VST3/AU/LV2) built with JUCE. Loads audio samples and splits them into tiny grains, manipulating position, size, density, pitch, and pan to create evolving textures and entirely new sounds. MIDI-controlled, polyphonic (8 voices), with drag & drop sample loading. ## Features - **Granular Engine** — 128 grain pool per voice, Hann windowing, linear interpolation - **8-voice polyphony** — MIDI note maps to pitch offset relative to configurable root note - **Root Note selector** — set which MIDI note the loaded sample represents - **Scatter controls** — randomize position, size, pitch, and pan per grain - **Direction modes** — Forward, Reverse, PingPong - **Freeze** — lock grain position for continuous texture generation - **ADSR envelope** — per-voice amplitude shaping - **Global effects** — State Variable filter (LP/HP/BP) + Reverb - **Sustain pedal** — full MIDI CC64 support with proper voice management - **Sample rate correction** — automatic pitch compensation for sample rate mismatches - **Waveform display** — real-time grain visualization with position indicator and scatter range - **Drag & drop** — load WAV, AIFF, MP3, FLAC, OGG files - **State save/restore** — sample path and all parameters persist with DAW session ## Build Requires [JUCE](https://github.com/juce-framework/JUCE) cloned at `../JUCE` relative to this project. ```bash cmake -B build -G "Visual Studio 17 2022" -A x64 cmake --build build --config Release ``` ## License GPL-3.0