Skip to content
Voro
  1. Audio
  2. Control

Smooth

Smooth applies configurable slew to any control signal, eliminating the stair-stepping of raw MIDI CCs and adding performance-grade feel. Separate attack and release rates let fast transients punch through while releases fade gracefully.

Place Smooth after MIDI Learn, MIDI Note, Control Remap, or any control_f32_v1 source. Adjust the smoothing time to taste. Wire the smoothed output into instrument or effect parameters. Works on all channels of the input stream.

  • Input 0: in — control_f32_v1 (required). The control signal to smooth.
  • Output 0: out — control_f32_v1. The smoothed signal.
  • Smoothms — Global smooth time in milliseconds. 0 = passthrough. Default 5 ms.
  • Attackms — Separate attack slew time. -1 = use Smoothms. When set, rising values use this rate.
  • Releasems — Separate release slew time. -1 = use Smoothms. When set, falling values use this rate.
  • Curve — Smoothing character: linear (faster perceived response), exp (standard exponential, default), or log (slower approach with faster initial movement).
  • Processes at audio rate for sub-sample smooth transitions.
  • On first frame, state initializes to the input value to avoid startup glitches.
  • Automatically expands to handle up to 64 channels if the input stream grows.
  • Reveal channels show the effective smooth, attack, and release times in milliseconds.

Inputs

  • in row required
    control_f32_v1

Outputs

  • out row
    control_f32_v1
Smoothms (Smoothms) Float op('smooth').par.Smoothms
Default:
5
Range:
0 to 5000
Attackms (Attackms) Float op('smooth').par.Attackms
Default:
-1
Range:
-1 to 5000
Releasems (Releasems) Float op('smooth').par.Releasems
Default:
-1
Range:
-1 to 5000
Curve (Curve) Menu op('smooth').par.Curve
Default:
1
Options:
linear, exp, log