- Audio
- Instruments
Sampler
Purpose
Section titled “Purpose”Sampler loads a WAV file or a folder of WAV samples and plays them as a polyphonic, velocity-mapped note instrument. Point it at a single WAV for a simple pitched instrument, or at a folder of note-named and velocity-layered WAV files for a full multisample instrument. Automatic note and velocity parsing from filenames handles most sample library conventions.
Set Samplepath to a WAV file or a folder containing WAV files. Set Rootnote if the samples are not named with note information. Wire note_voices_f32_v1 from MIDI Note or any note-voice source into the voices input. Choose classic (gate-controlled), one_shot (fire and forget), or loop mode. Wire the stereo audio output to Device Out or a mixer.
Inputs and outputs
Section titled “Inputs and outputs”- Input 0: voices — note_voices_f32_v1 (required). Gate, pitch, velocity, and aftertouch per voice.
- Output 0: out — stereo audio (PCM f32).
Controls
Section titled “Controls”- Samplepath — Path to a WAV file or folder. Folders are scanned recursively for WAV files (up to 768 samples). Samples are auto-mapped by note and velocity parsed from filenames.
- Mode — Playback mode: classic (plays while gate is held, releases on gate off), one_shot (plays to end regardless of gate), loop (loops between Start and End while gate is held).
- Rootnote — Fallback root note for samples without note information in their filename. Default 60 (C4).
- Gain — Master output level.
- Tone — Brightness filter (LP cutoff).
- Attack / Release — Amplitude envelope attack and release times.
- Declick — Edge de-click fade length in milliseconds at sample start/end boundaries.
- Start / End — Sample region as a fraction of the file length (0-1).
- Startjitter — Random offset added to the start position on each trigger for natural variation.
- Velgain — Velocity gain multiplier.
- Punch — Transient emphasis using a differentiator on note attack.
- Lowcut — High-pass filter cutoff in Hz (0 = off, up to 240 Hz).
- Drive — Saturation amount.
- Width — Stereo pan spread across notes.
- Room — Built-in multi-tap delay room ambience.
- Velocitycurve — Velocity response curve exponent (0.25-4.0). Lower = more compressed, higher = more dynamic.
- Transpose — Semitone transpose (-24 to +24).
- Maxvoices — Maximum simultaneous voices (1-64).
- Monomode — When on, each new note releases all previous voices.
- Reverse — Play samples in reverse.
- Reload — Pulse to force a reload from disk.
- Limiter — Output safety limiter.
- Sample loading happens on a background thread; the audio thread is never blocked.
- Filename parsing recognizes note names (C4, Fs3, Bb2), MIDI note numbers, and velocity indicators (v1-v16, pp, mf, ff, etc.).
- Auxiliary samples with names starting with “pedal”, “harm”, or “rel” followed by a digit are automatically excluded from the keymap.
- Cubic interpolation is used for pitch-shifted playback.
- Multi-voice polyphony auto-trims gain by the square root of active voices to prevent summing overload.
Inputs
-
voicesrow required
Outputs
-
outrow
Parameters
Section titled “Parameters” Samplepath (Samplepath) Str
op('sampler').par.Samplepath - Default:
"" (Empty String)
Rootnote (Rootnote) Float
op('sampler').par.Rootnote - Default:
60- Range:
- 0 to 127
Gain (Gain) Float
op('sampler').par.Gain - Default:
0.86- Range:
- 0 to 2
Tone (Tone) Float
op('sampler').par.Tone - Default:
0.78- Range:
- 0 to 1
Attack (Attack) Float
op('sampler').par.Attack - Default:
7- Range:
- 0.2 to 2000
Release (Release) Float
op('sampler').par.Release - Default:
480- Range:
- 20 to 5000
Declick (Declick) Float
op('sampler').par.Declick - Default:
8- Range:
- 0 to 80
Start (Start) Float
op('sampler').par.Start - Default:
0.002- Range:
- 0 to 0.995
End (End) Float
op('sampler').par.End - Default:
0.995- Range:
- 0.001 to 1
Startjitter (Startjitter) Float
op('sampler').par.Startjitter - Default:
0.035- Range:
- 0 to 1
Velgain (Velgain) Float
op('sampler').par.Velgain - Default:
1.55- Range:
- 0.1 to 6
Punch (Punch) Float
op('sampler').par.Punch - Default:
0.1- Range:
- 0 to 1
Lowcut (Lowcut) Float
op('sampler').par.Lowcut - Default:
32- Range:
- 0 to 240
Drive (Drive) Float
op('sampler').par.Drive - Default:
0.06- Range:
- 0 to 1
Width (Width) Float
op('sampler').par.Width - Default:
0.86- Range:
- 0 to 1
Room (Room) Float
op('sampler').par.Room - Default:
0.18- Range:
- 0 to 1
Velocitycurve (Velocitycurve) Float
op('sampler').par.Velocitycurve - Default:
0.72- Range:
- 0.25 to 4
Transpose (Transpose) Int
op('sampler').par.Transpose - Default:
0- Range:
- -24 to 24
Maxvoices (Maxvoices) Int
op('sampler').par.Maxvoices - Default:
48- Range:
- 1 to 64
Monomode (Monomode) Toggle
op('sampler').par.Monomode - Default:
Off- Options:
- Off, On
Reverse (Reverse) Toggle
op('sampler').par.Reverse - Default:
Off- Options:
- Off, On
Reload (Reload) Pulse
op('sampler').par.Reload - Default:
None
Limiter (Limiter) Toggle
op('sampler').par.Limiter - Default:
On- Options:
- Off, On