Skip to content
Voro
  1. Audio
  2. Instruments

Sampler

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.

  • Input 0: voices — note_voices_f32_v1 (required). Gate, pitch, velocity, and aftertouch per voice.
  • Output 0: out — stereo audio (PCM f32).
  • 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

  • voices row required
    note_voices_f32_v1

Outputs

  • out row
    audio_pcm_f32_stereo_v1
Samplepath (Samplepath) Str op('sampler').par.Samplepath
Default:
"" (Empty String)
Mode (Mode) Menu op('sampler').par.Mode
Default:
0
Options:
classic, one_shot, loop
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