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.

This site uses Just the Docs, a documentation theme for Jekyll.