GRID is a performance sampler plugin for the Percussa SSP Eurorack module. Eight pads, deep editing, modular integration.
License: AGPL-3.0
Author: Andy Kuttor (@kuttor)
Platform: Percussa SSP (ARM Cortex-A17, 1600×480 display)
Version: 2.4.0-beta
- 8 independent sample pads with per-pad file loading
- Multi-voice polyphony (4 voices per pad) with voice stealing and crossfade
- Play modes: One-Shot, Loop, Clocked Loop, Clocked One-Shot
- Sample start/end with visual trim
- Reverse playback
- File browser with Smart Home, auto-preview, multi-select, and file operations
- Transient detection with LOW/MED/HIGH sensitivity
- Manual slice placement with undo
- Auto-slice presets (8, 16, 24, 32, 48, 64, 128, Transient)
- Per-slice pitch offset
- Destructive delete (tape-cut splice)
- Slice export to individual files
- CV-driven slice selection (2 assignable CV inputs)
- MIDI note-to-slice mapping
- WSOLA time stretch with cross-correlation grain alignment (default)
- Legacy OLA mode selectable per pad
- Pitch control with quantize mode (push encoder to toggle, displays note names)
- TPT SVF: LPF, HPF, BPF, Notch
- Formant filter
- MS-20 style filter
- Buchla LPG: vactrol envelope with memory effect, coupled 6dB/oct filter + VCA
- 8-bit, 12-bit, SP-1200 emulation, MPC-60 emulation
- 3 independent mod slots per pad (Mod A / B / C)
- 7 targets: Velocity, Pitch, Start, End, Filter, Pan, Stretch
- 5 actions: Increase, Decrease, Ping/Pong, Random, Sample/Hold
- 16-step pattern that advances on every trigger
- Mod editor popup with pixel art icons and 2x8 step grid
- 2x4 block selection matches SSP physical button layout
- 10 presets per mod slot with auto-save on editor close
- SSL-style feedback topology with soft knee
- Dual-time-constant auto-release
- Sidechain HPF, tanh saturation drive
- Gain reduction visualization overlay on pads
- Mute/Solo with configurable fade time
- Choke groups (A-H)
- Performance modes: Immediate, On Release, On Bar
- Kit save/load system with random name generator
- Program Change kit switching (MIDI PC or configurable CC)
- Stack files (Round Robin, Random, Velocity Split)
- Per-pad MIDI channel assignment (1-16 or Omni)
- Per-pad CC mapping (Slice, End, Volume, Pan, Stretch, Filter)
- MIDI clock sync with division/multiplication
- 24 inputs: per-pad trigger + pitch CV, clock, reset, slice CV, record, filter CV
- 10 outputs: stereo mix + 8 individual pad outputs
- Per-pad output routing with mix send toggle
- ARM cross-compiler:
arm-linux-gnueabihf-g++ - JUCE framework (included via CMake)
- SSP SDK (in
libs/ssp-sdk/)
cd ~/Code/Percussa-SSP--GRID
# First build compiles objects + creates helper
make -j$(sysctl -n hw.ncpu) 2>/dev/null || true
# Fake the VST3 helper (can't run ARM binary on Mac)
echo '#!/bin/bash
exit 0' > juce_vst3_helper
chmod 755 juce_vst3_helper
# If helper not in PATH:
sudo cp juce_vst3_helper /usr/local/bin/juce_vst3_helper
sudo chmod 755 /usr/local/bin/juce_vst3_helper
# Build VST3
make GRID_VST3
# Strip for deployment
arm-linux-gnueabihf-strip GRID_artefacts/Release/VST3/GRID.vst3/Contents/armv7l-linux/GRID.soCopy GRID.so to your SSP's SD card:
/media/BOOT/plugins/GRID/GRID.so
Inputs (24):
| Channel | Name | Description |
|---|---|---|
| 0,2,4...14 | P1-P8 Trig | Gate trigger per pad |
| 1,3,5...15 | P1-P8 Pitch | V/Oct pitch CV per pad |
| 16 | Clock | External clock |
| 17 | Reset | Clock reset |
| 18-19 | Slice CV 1-2 | Slice selection (assignable to any pad) |
| 20 | Rec Gate | Recording gate |
| 21-22 | Rec L/R | Recording input |
| 23 | Filter CV | Filter modulation |
Outputs (10):
| Channel | Name | Description |
|---|---|---|
| 0-1 | Left/Right | Stereo mix bus |
| 2-9 | Pad 1-8 | Individual pad outputs |
| Page | Encoders | Description |
|---|---|---|
| PADS | Pad / Rec / Mode / Length | Overview, recording |
| SAMPLE | Pad / File / - / - | File loading, browser |
| PLAY | Pad / Volume / Mode / - | Playback mode, volume |
| WARP | Pad / Stretch / Time / - | Time stretch |
| FADE | Pad / Fade In / Fade Out / Curve | Fade envelopes |
| FILTER | Pad / Cutoff / Reso / Type | Filter control |
| MIDI | Pad / Channel / Device / Clock | MIDI setup |
| MOD | Pad / Mod A / Mod B / Mod C | Step modulation |
/media/BOOT/
├── plugins/
│ └── GRID/
│ └── GRID.so
└── samples/
├── kits/ <- .kit preset files
├── stacks/ <- .stack multi-sample files
├── recordings/ <- recorded samples
└── [your samples]
- TheTechnobear (Bear): SSP SDK guidance, Midi Research and a bunch of other amazing SSP contributions.
- wavejockey: Lead Tester & Documentation
- Handsonicsuki: Tester
- ahabzutun: Tester
GRID uses the JUCE framework and the Percussa SSP SDK.
GNU Affero General Public License v3.0 (AGPL-3.0). See LICENSE.