V-ShiftFiner
Fwuzeem Audio V-Series
What it is
V-ShiftFiner is a four-path parallel exponent-shift processor. Each path receives its own IEEE-754 exponent shift, the four paths are summed and normalized by x0.25, and a master shift is applied afterward. It can operate as a mono four-path processor, as independent stereo L/R processing, or in Mid/Side mode. An optional clipper bounds the processed output, and an optional fixed-time smoothing mode changes how parameter transitions are applied.
The core unit remains an integer exponent shift: +1 is x2 and -1 is x1/2. For a nonzero shift, normal finite (non-subnormal) samples receive that exact ratio. ScopedNoDenormals and the zero-skip handling keep subnormal inputs out of the exponent path, avoiding denormal processing; NaN and overflow cases are sanitized to finite values or clamp to the largest finite value. Zero samples are skipped. Finer does not turn the shift controls into a dB fader.
Controls & parameters
All shift parameters below use the range -20.0 to +20.0, step 1.0, default 0.0, unless stated otherwise.
Mode controls
| Parameter ID | Display name | Range | Default | What it does |
|---|---|---|---|---|
smoothingEnabled | Smoothing | Boolean | false | Enables the fixed 10 ms parameter ramps. One smoothed exponent value is emitted per host block and held for that block. Off preserves abrupt exponent-step changes and their zipper character. |
stereoModeEnabled | Stereo Mode | Boolean | false | Switches from the mono path set to independent L/R path sets. |
midSideModeEnabled | M/S Mode | Boolean | false | Processes the stereo pair as Mid and Side. Enabling it also enables Stereo Mode in the editor. |
clipperEnabled | Clipper Enabled | Boolean | false | Applies a hard -1.0 to +1.0 bound after the path sum and master shift. |
The editor presents these as Smooth, Stereo Mode, M/S Mode, and Enable Clipper buttons. All are off by default.
Mono path controls
| Parameter ID | Display name | Range | Default | What it does |
|---|---|---|---|---|
shift1 | Shift 1 | -20.0 to +20.0, step 1.0 | 0.0 | Exponent shift for path 1. |
shift2 | Shift 2 | -20.0 to +20.0, step 1.0 | 0.0 | Exponent shift for path 2. |
shift3 | Shift 3 | -20.0 to +20.0, step 1.0 | 0.0 | Exponent shift for path 3. |
shift4 | Shift 4 | -20.0 to +20.0, step 1.0 | 0.0 | Exponent shift for path 4. |
masterShift | Master Shift | -20.0 to +20.0, step 1.0 | 0.0 | Exponent shift after the four-path sum. |
Stereo L/R or M/S controls
The stereo parameter IDs retain their Left and Right names even when the editor labels the channels M and S.
| Parameter IDs | Display labels | Range | Default | What they do |
|---|---|---|---|---|
shift1Left, shift2Left, shift3Left, shift4Left | L1 … L4, or M1 … M4 | -20.0 to +20.0, step 1.0 | 0.0 | Four independent shifts for the left channel, or the Mid channel in M/S mode. |
shift1Right, shift2Right, shift3Right, shift4Right | R1 … R4, or S1 … S4 | -20.0 to +20.0, step 1.0 | 0.0 | Four independent shifts for the right channel, or the Side channel in M/S mode. |
masterShiftLeft | Master L, or Master M | -20.0 to +20.0, step 1.0 | 0.0 | Master shift for left or Mid. |
masterShiftRight | Master R, or Master S | -20.0 to +20.0, step 1.0 | 0.0 | Master shift for right or Side. |
The editor shows four mono path knobs and one mono master knob in Simple view. Stereo mode shows eight channel knobs and two channel master knobs. Standard view adds the mode buttons, the info strip, and the ~2 compensation note. Full view adds the host precision readout (FP32 or FP64).
Workflow / how to use it
- Start with all path and master shifts at
0. Four equal paths are summed and multiplied byx0.25, so the parallel topology has a unity normalization before the master shift. - Set one shift per path to define the four parallel level states. Think in ratios:
+1is x2,-2is x1/4. - Set
masterShiftfor the final mono ratio, or setmasterShiftLeftandmasterShiftRightfor stereo/M/S work. - Enable Stereo Mode when L and R need independent path settings. Enable M/S Mode when the independent channels should be Mid and Side; the editor enables Stereo Mode for you.
- Leave Smoothing off when the stepped transition is wanted. Enable
Smoothwhen a parameter change should use the fixed 10 ms ramp; the applied smoothed exponent remains held for each host block. - Enable the clipper only when the sum needs the explicit
-1.0to+1.0safety bound. It is a hard clipper, not a transparent limiter.
Use cases
- Layer four shifted paths. Use four different path shifts to create deterministic parallel level layers, then use the master shift to place the combined result. For example, one path at
0, one at-1, and two at-2gives a ratio-defined blend of unity, half, and quarter levels. - M/S width shaping. In M/S Mode, apply opposite shifts to the Mid and Side controls. Raising Side while reducing Mid changes the side-to-mid ratio in exact powers of two;
+1on Side and-1on Mid changes that relative ratio by x4. - Stereo widener. Use separate L/R path and master settings for channel-dependent widening. In M/S mode the same idea can be expressed directly as Mid preservation plus Side increase.
- Safe parallel sums. Enable the clipper after building a large parallel sum when excursions beyond full scale must be bounded. Check the result by ear: clipping is intentional once enabled.
- Stepped gain staging. Use path and master shifts as a set of repeatable x2 and x1/2 states instead of trying to recall continuous dB positions.
Specs & requirements
- Formats: AU and VST3.
- Main audio bus: mono or stereo input/output with matching layouts; stereo mode uses independent L/R processing.
- Processing: FP32 and FP64, selected by the host.
- Reported latency: 0 samples; tail length is 0 seconds.
- 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
- The four path gains are literal exponent shifts. The path sum is normalized by
x0.25before the master shift; that normalization is the ratio of four equal paths, not an extra user-facing gain control. - The editor displays a
~2 compensationnote below the master control. This is a static reminder related to thex0.25four-path sum (equivalent to -2 shifts). It is not an automatic second compensation stage, and it is not required in addition to the DSP normalization for four equal paths. - Smoothing is a Boolean parameter only. When enabled, the source uses a fixed 10 ms
SmoothedValue, advances it for the host block, and applies one smoothed exponent value to every sample in that block; there is no exposed smoothing-time control. The ramp timing is smoothed, but the applied value is block-held. When disabled, zipper noise from stepped changes is intentional. - M/S processing encodes Mid and Side, processes the four paths per channel, then decodes back to L/R. The
LeftandRightparameter IDs are retained for the M/S lanes. - The clipper uses a hard
jlimit-style bound and can change the waveform.