Utilities
Rescale
Reshape a control voltage - attenuate, invert, offset, and clamp a signal into the range you need.
Try one in your browser →
What is a Rescale?
A rescale (sometimes called attenuverter + offset, or marketed as A*B+C after the linear formula it implements) is the universal CV-shaping utility. It takes a control voltage in, multiplies it by a gain (which can also invert when negative), adds an offset (a constant DC voltage), and clamps the result to a min/max window. Three operations on one signal: OUT = clamp(IN * gain + offset, min, max).
It exists because modulation sources and modulation destinations rarely speak the exact same voltage language. An LFO outputs ±5V bipolar; a VCA CV input expects 0-5V unipolar. An envelope rises from 0V to +8V; you want it to swing -3V to +3V for a subtle filter sweep. A keyboard outputs notes from 0V to +4V; you want them transposed up an octave to +1V to +5V. All these conversions are the same transformation - multiply, add, clamp - and a rescale module performs them in one strip.
The clamp step is the safety net. It's there to prevent voltages outside a target module's expected range from causing weird behavior - oscillators flying out of audio range, filters going into self-oscillation, sequencers wrapping around. Clamping a CV to ±5V before it leaves the rescale ensures the destination always sees something it understands.
More broadly, rescaling is how you compose modulation. You can't usefully sum a unipolar envelope and a bipolar LFO without first putting them in the same range. You can't smoothly cross-fade between two modulation sources without normalizing their amplitudes. You can't generate a slow drift from a fast LFO without attenuating it. Rescale is the small, unsexy module that makes the rest of the patch coherent - and a system without enough rescale capacity feels rigid and brittle.
Our Rescale
Our Rescale implements the exact A*B+C with clamp topology: a single CV input, a gain (-1 to +1), an offset (-10V to +10V), and independent min and max clamps. The order matters and is fixed: input is multiplied by gain, then offset is added, then the result is clamped to the [min, max] window. So you can shape a signal aggressively with gain and offset, then catch the overflow with the clamps.
Both gain and offset have their own CV inputs, so the shaping itself can be modulated. Patch an LFO into the gain CV and the modulation depth breathes over time - one source affecting another's intensity. Patch a stepped CV into the offset and the bias point of the rescale steps in time with the patch. The clamps stay knob-only, since they're meant as safety rails rather than performance controls.
If you find yourself wanting just the attenuverter half (no offset, no clamp), our Attenuverter panel is the simpler tool. If you want a multi-channel summing version, our CV Mix does that. Rescale is for when one signal needs to be precisely transformed before going on to its destination - the workhorse.
In a patch
The most common patch: an LFO into the input, gain set to 0.2, output into a filter cutoff. The LFO's ±5V swing becomes a gentle ±1V wobble - just enough motion to make the filter feel alive without dominating the patch. A second rescale on the same LFO with gain 1.0 and a steep clamp turns the same source into an aggressive vibrato.
Range conversion is the bread-and-butter use. A 0-10V envelope into a rescale with gain 1.0 and offset -5V becomes a -5V to +5V bipolar envelope. A ±5V LFO with gain 0.5 and offset +2.5V becomes a 0V to +5V unipolar LFO suitable for a VCA input. Once you've internalized the math, you can convert between any two voltage standards instantly.
Inversion is free: set gain to a negative value. An envelope with gain -1 becomes an inverted envelope - the destination ducks down while the original rises. Combined with a regular envelope on a second destination (a VCA opening as a delay send closes), this is how you build complementary modulation pairs without a dedicated inverter.
Inputs
- IN (audio) — Signal input. Accepts any audio or CV signal to be processed.
- Gn (cv) — Gain CV modulation. Adds to the Gain knob value. Use to dynamically change the scaling amount.
- Ofs (cv) — Offset CV modulation. Adds to the Offset knob value. Use to dynamically shift the signal center.
Outputs
- OUT (audio) — Processed output. The result of: clamp(IN * GAIN + OFFSET, MIN, MAX).
Controls
- Gain — Signal multiplier from -1 (fully inverted) to +1 (unity). At 0 the output is just the offset. At -1 the signal is flipped upside down.
- Offset — DC offset added after gain, from -10V to +10V. Shifts the signal up or down without changing its shape.
- Max — Upper clamp limit (-10V to +10V, default +10V). The output will never exceed this voltage.
- Min — Lower clamp limit (-10V to +10V, default -10V). The output will never go below this voltage.
Inspired by
The textbook A*B+C utility: a single signal multiplied by a gain (with sign inversion), shifted by an offset, and clamped to a min/max window. Mundane on paper and indispensable in practice.
- Befaco A*B+C
- Mutable Instruments Shades
- classic offset/attenuverter utility
← Back to all modules