patch-press
Zero-manual-work sampler presets from VST plugins and sample libraries.
patch-press turns things you already have — a VST folder, a downloaded sample library, a bank of Serum wavetables — into ready-to-play presets for hardware samplers. It handles the tedious parts: playing every note, trimming silence, finding a clean loop point, laying WAVs out in the right folder structure, writing the preset files each target expects.
Two exporters ship today: the Synthstrom Deluge (XML + WAV) and the Polyend Tracker family (self-contained .pti). The pipeline is format-agnostic and designed to grow additional targets over time.
The pipeline is one command per source. No YAML written by hand in the happy path.
flowchart LR
A[VST plugin] -->|patch-probe| B[YAML dir]
B --> S[scan-*]
L[Sample library] --> S
W[Serum wavetables] --> S
S --> C[Configs]
C --> P[analyze<br/>trim · envelope · pitch · loop · normalize]
P --> X[exporter<br/>--format]
X --> D[SD card / preset files]
Start here
Have a VST folder? → VST workflow (patch-probe first, then scan-from-probe)
Have a sample library? → Sample libraries (scan-library)
Have Serum wavetables? → Wavetables (scan-wavetables)
Not sure which command? → Inputs overview has a decision table.
The 30-second version
# 1. Install
pip install -e .
# 2. Point patch-press at your sources → get one YAML config per preset
patch-press scan-library "~/samples/Mini From Mars" configs/Mini --type multisample
# 3. Run the pipeline → export to your target device's format
patch-press batch "configs/Mini/*.yaml" --path /media/DELUGE --format deluge
# ...or --path staging/Polyend --format pti for a Polyend Tracker instead
The scan commands write configs so you never have to. Editing a YAML is the escape hatch when an auto-detection got something wrong — one line change, re-run sample, done.
What’s on this site
- Install — Linux and macOS setup.
- Inputs — every source type patch-press understands, with its own page.
- Pipeline — what happens to your audio between input and output: trim, envelope, pitch, loop, normalize.
- Loop detection — how patch-press finds loop points, why sometimes it doesn’t, what to do when it picks a bad one.
- Outputs — target-specific export formats. Currently: Deluge and Polyend Tracker.
- Config reference — the YAML schema you’ll edit if you need to.
- CLI reference — every command and every flag.