8-voice polyphonic granular synth (VST3/AU/LV2) with: - 128 grain pool per voice, Hann windowing, linear interpolation - Root note selector, sample rate correction, sustain pedal (CC64) - Scatter controls, direction modes (Fwd/Rev/PingPong), freeze - ADSR envelope, global filter (LP/HP/BP), reverb - Waveform display with grain visualization - Drag & drop sample loading, full state save/restore - CI/CD for Windows/macOS/Linux Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
35 sor
1.5 KiB
Markdown
35 sor
1.5 KiB
Markdown
# 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
|