Product manual

Back to V-ShiftSplit

V-ShiftSplit

Fwuzeem Audio V-Series

What it is

V-ShiftSplit is a 1-in/8-out amplitude splitter with one input bus and up to eight output buses. It measures the incoming level, assigns each sample to a level zone around a threshold, and routes the signal to the corresponding output or adjacent outputs. Bevel controls how many quantized transition zones are available; the base routing gains are power-of-two fractions whose outputs recombine with a unity sum before any output trim. This is dynamic, level-based routing, not a frequency crossover.

Controls & parameters

Split controls

Parameter IDDisplay nameRangeDefaultWhat it does
thresholdThreshold-60.0 to 0.0 dBFS, step 0.1-12.0Center level for zone decisions.
zoneWidthZone Width0.0 to 48.0 dB, step 0.112.0Width of the symmetric transition band around the threshold.
bevelLevelBevel Level0 to 4, step 11Sets the number of quantized bevel steps: 2^bevel + 1 zones.
numOutputsNum Outputs2 to 8, step 12Requested number of output buses. The editor labels this control Channels.
bypassBypassBooleanfalseCopies the input verbatim to Output 1 and silences the other output buses.
inputGainInput Gain-20 to +20, step 10Pure exponent-shift trim before level detection and routing.

Threshold is an absolute dBFS detector reference. Zone Width is interpreted symmetrically: half of the selected width is above threshold and half below it. At bevelLevel=0, the split is hard. Higher bevel levels create quantized crossfades between adjacent outputs.

The DSP limits active outputs to the available zones as well as to eight: min(numOutputs, 2^bevel + 1, 8). Consequently, the maximum active count is 2 at bevel 0, 3 at bevel 1, 5 at bevel 2, and 8 at bevel 3 or 4. This is separate from the requested numOutputs value and from the visibility of editor strips.

Envelope controls

Parameter IDDisplay nameRangeDefaultWhat it does
envelopeModeEnvelope ModeBooleantrueUses the one-pole envelope follower when true; false uses instantaneous amplitude detection. The editor button is Env.
attackTimeAttack Time0.1 to 500.0 ms, step 0.1, skew 0.410.0 msAttack time for the envelope detector.
releaseTimeRelease Time1.0 to 2000.0 ms, step 0.1, skew 0.35100.0 msRelease time for the envelope detector.

The envelope detector tracks the maximum of the left and right channel envelopes. Instant mode uses the maximum absolute channel amplitude for each sample.

Per-output controls

For each output N from 1 through 8:

Parameter IDDisplay nameRangeDefaultWhat it does
outN_gainTrimOutput N Gain Trim-20 to +20, step 10Per-output trim. In Coarse mode it is a pure exponent shift. In Fine mode it uses quarter-step fractional trim.
outN_gainModeOutput N Gain Modeinteger 0 to 100 = Coarse; 1 = Fine. The editor displays this as the C/F control.
outN_muteOutput N MuteBooleanfalseMutes output N. The editor button is M.
outN_soloOutput N SoloBooleanfalseWhen any output is soloed, silences every non-soloed output. The editor button is S.

Here N is the literal output number, so the IDs are out1_gainTrim through out8_gainTrim, out1_gainMode through out8_gainMode, out1_mute through out8_mute, and out1_solo through out8_solo. Coarse trim changes by whole exponent shifts. Fine trim divides the selected trim into quarter-step behavior using the processor’s fixed fractional ratios: positive fractional remainders use 19/16, 45/32, and 27/16; negative fractional remainders use 27/32, 45/64, and 19/32. The fractional remainder is not a literal exponent-field operation. 4 Fine steps equal 1 coarse shift; Fine +20 therefore equals +5 coarse shifts (and Fine -20 equals -5).

The GUI detail selector is stored as guiDetail, with values 0 to 2 and default 1:

  • 0 Simple: Threshold, Zone Width, Channels, and Bypass.
  • 1 Standard: adds Input Gain, Bevel, and the live zone visualizer.
  • 2 Full: adds Env, Attack, Release, and the FP32/FP64 readout.

Workflow / how to use it

  1. Connect the input bus and enable the required output buses in the host. Outputs 1 and 2 start active; outputs 3 through 8 start inactive.
  2. Set Threshold to the level where routing should change. Set Zone Width to define the symmetric band around that threshold.
  3. Choose Bevel Level. Use 0 for a hard two-way split; increase it for quantized adjacent-output crossfades.
  4. Set Channels / numOutputs, remembering that the bevel level caps the number of active zones and outputs.
  5. Choose Envelope mode for a one-pole attack/release detector, or turn it off for instantaneous amplitude decisions. Adjust Attack Time and Release Time in Full view.
  6. Use Input Gain to move the detector and routed signal in whole x2/x1/2 steps. Set each output’s trim mode with C/F, then adjust its gain, mute, or solo state.
  7. Recombine all active outputs to hear the unity-sum split, or route individual output buses to different processing chains.

Use cases

  • Dynamic, frequency-free splitting. Route quiet material to one bus and louder material to another without a crossover filter. The detector responds to amplitude, not spectral content.
  • Parallel bus routing. Send each level zone to a separate bus for different dynamics, saturation, or mix treatment. Use the per-output trim to establish each bus ratio.
  • Unity-sum zone crossfades. Use a nonzero bevel so adjacent outputs crossfade with power-of-two fractional gains. With trims and mutes at unity, recombining the active outputs preserves the base signal level.
  • Transient versus sustained routing. Use Envelope mode and adjust attack/release to keep short level changes from chattering between zones; use Instant mode when the split must follow each sample’s amplitude immediately.
  • Stepped output calibration. Use Coarse trim for exact doublings and halvings on a bus. For finer placement, switch that output to Fine mode and use the quarter-step trim behavior.
  • Selective output auditioning. Solo one output to inspect a zone, mute unwanted buses, then clear Solo to restore the multi-output route.

Specs & requirements

  • Formats: AU and VST3.
  • Audio buses: one input bus and up to eight output buses. Mono and stereo input/output bus layouts are accepted; enabled output buses may be mono or stereo.
  • Default bus activation: Output 1 and Output 2 active; Outputs 3 through 8 inactive.
  • Processing: FP32 and FP64, selected by the host.
  • Reported latency: 0 samples; tail length is 0 seconds. Envelope detection is causal.
  • Platform target: macOS 10.15 or later.
  • MIDI: not a MIDI effect; no MIDI input or output.
  • Programs: one host program; state is stored as APVTS XML.

Notes / caveats

  • Input Gain and Coarse output trim use direct IEEE-754 exponent shifts. A +1 shift is x2; a -1 shift is x1/2. Fine mode uses fixed fractional ratios for quarter-step behavior and is intentionally different from Coarse mode.
  • bevelLevel determines both the number of quantized zones (2^bevel + 1) and the maximum number of active outputs. Requesting eight outputs at bevel 0 does not create eight active DSP routes.
  • The base splitter’s adjacent-output gains are constructed to sum to unity. Per-output gain trims, mute, and solo are post-routing decisions and can intentionally change that sum.
  • Bypass is a routing bypass: it copies input to Output 1 and silences the other output buses. It does not apply inputGain while bypassed.
  • The envelope follower uses float level detection even when the audio callback is FP64; the audio processing path itself supports both FP32 and FP64.
  • The output strips can be visible according to numOutputs while the DSP active count is further limited by bevelLevel. Use the bevel cap above when planning bus routing.
Back to V-ShiftSplit plugin page