Skip to content
Voro
  1. Audio
  2. Instruments

Synth

Synth is a polyphonic subtractive synthesizer for leads, pads, and bass. It provides band-limited oscillators (saw, square, triangle, sine), a Cytomic TPT state-variable filter with key tracking and envelope modulation, unison detuning, a sub oscillator, ADSR envelope, drive, and stereo spread.

Wire note_voices_f32_v1 from MIDI Note, a chord voicer, an arpeggiator, or any note-voice source into the voices input. Choose a waveform, set the filter, shape the envelope, and wire the stereo audio output to Device Out, an effect chain, 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).
  • Waveform — Oscillator shape: saw, square, triangle, or sine. All shapes are band-limited with PolyBLEP anti-aliasing.
  • Gain — Master output level.
  • Unison — Number of detuned oscillators per voice (1-7).
  • Detune — Unison detune spread in cents.
  • Sub — Sub oscillator level (sine, one octave below the fundamental).
  • Pulsewidth — Pulse width for the square waveform (0.05-0.95).
  • Cutoff — Filter cutoff (0-1, mapped to 20 Hz-20 kHz logarithmically).
  • Resonance — Filter Q (0-1, mapped to 0.5-20).
  • Filtermode — Filter type: lowpass, highpass, bandpass, or notch.
  • Filterenv — Filter envelope modulation amount (-1 to +1). Positive values open the filter on attack; negative values close it.
  • Attack / Decay / Sustain / Release — ADSR envelope (milliseconds for A/D/R, 0-1 for sustain level).
  • Drive — Post-filter saturation.
  • Width — Stereo spread of unison voices.
  • Keytrack — Filter cutoff key tracking amount (0-1). At 1.0, the filter follows the keyboard pitch.
  • Limiter — Output safety limiter.
  • Up to 8 polyphonic voices.
  • The filter is a topology-preserving Cytomic SVF that remains stable at high resonance and fast modulation.
  • Velocity controls output amplitude (30% floor + 70% velocity scaling).
  • Glide between notes uses a simple exponential smoothing (5% per sample step).

Inputs

  • voices row required
    note_voices_f32_v1

Outputs

  • out row
    audio_pcm_f32_stereo_v1
Waveform (Waveform) Menu op('synth').par.Waveform
Default:
saw
Options:
saw, square, triangle, sine
Gain (Gain) Float op('synth').par.Gain
Default:
0.5
Range:
0 to 2
Unison (Unison) Int op('synth').par.Unison
Default:
3
Range:
1 to 7
Detune (Detune) Float op('synth').par.Detune
Default:
12
Range:
0 to 50
Sub (Sub) Float op('synth').par.Sub
Default:
0.2
Range:
0 to 1
Pulsewidth (Pulsewidth) Float op('synth').par.Pulsewidth
Default:
0.5
Range:
0.05 to 0.95
Cutoff (Cutoff) Float op('synth').par.Cutoff
Default:
0.65
Range:
0 to 1
Resonance (Resonance) Float op('synth').par.Resonance
Default:
0.2
Range:
0 to 1
Filtermode (Filtermode) Menu op('synth').par.Filtermode
Default:
lowpass
Options:
lowpass, highpass, bandpass, notch
Filterenv (Filterenv) Float op('synth').par.Filterenv
Default:
0.3
Range:
-1 to 1
Attack (Attack) Float op('synth').par.Attack
Default:
5
Range:
0 to 5000
Decay (Decay) Float op('synth').par.Decay
Default:
200
Range:
0 to 5000
Sustain (Sustain) Float op('synth').par.Sustain
Default:
0.7
Range:
0 to 1
Release (Release) Float op('synth').par.Release
Default:
300
Range:
0 to 10000
Drive (Drive) Float op('synth').par.Drive
Default:
0.15
Range:
0 to 1
Width (Width) Float op('synth').par.Width
Default:
0.7
Range:
0 to 1
Keytrack (Keytrack) Float op('synth').par.Keytrack
Default:
0.5
Range:
0 to 1
Limiter (Limiter) Toggle op('synth').par.Limiter
Default:
On
Options:
Off, On