unityscalemathematik

unityscalemathematik · utilities · schema v1

Bipolar CV-shaping utility with three independent channels: a UNITY scaler (input * atten) plus two attenuvert sections (A, B) whose curve knob morphs the response from linear (k=1) to steep exponential (k=3) via y = sign(x) * |x|^k * atten. Sign is preserved across the curve morph so the transform stays bipolar. CV inputs on every atten/curve knob — useful for envelope shaping, LFO sculpting, or driving any modulation through a tunable response curve.

A bipolar CV-shaping utility with three independent channels. UNITY is a plain attenuverter — out = in · atten, with atten swinging -1..+1 so it can scale, attenuate, OR invert a signal. A and B are the same attenuverter PLUS a curve morph: each adds a knob that bends the response from linear toward exponential. The shaping math preserves the sign of the input and raises its magnitude to a power: y = sign(x)·|x|^k·atten where k = 1 + 2·curve runs from 1 (linear) to 3 (steep expo). A steep curve compresses small signals while leaving large excursions intact — useful for taming a hot LFO, reshaping an envelope, or turning a triangle into something rounder. The map is continuous through the bipolar zero crossing (no kink). Each atten and each curve also has its own CV input. There is a DSP worklet for the per-sample math.

the faceplate

unityscalemathematiku_incvu_atten_cvcva_incva_atten_cvcva_curve_cvcvb_incvb_atten_cvcvb_curve_cvcvu_outcva_outcvb_outcvaudiocvgatepitch
8 inputs · 3 outputs · 5 params

inputs

idcablewhat it does
u_incvUNITY-section signal input. Passed through the linear attenuverter: u_out = u_in · unityAtten.
control voltage (CV)
u_atten_cvcvCV that sums into the UNITY attenuverter amount (linear), modulating how much the UNITY section scales/inverts its input.
control voltage (CV); modulates unityAtten (additive offset — ±1 CV sweeps the full range, centered on the knob)
a_incvA-section signal input. Passed through the curve-morphed attenuverter: a_out = sign·|a_in|^k·aAtten.
control voltage (CV)
a_atten_cvcvCV that sums into the A attenuverter amount (linear) — voltage control over A's scale/invert.
control voltage (CV); modulates aAtten (additive offset — ±1 CV sweeps the full range, centered on the knob)
a_curve_cvcvCV that sums into the A curve amount (linear), sliding A's response between linear and exponential under modulation.
control voltage (CV); modulates aCurve (additive offset — ±1 CV sweeps the full range, centered on the knob)
b_incvB-section signal input. Same curve-morphed attenuverter shape as A: b_out = sign·|b_in|^k·bAtten.
control voltage (CV)
b_atten_cvcvCV that sums into the B attenuverter amount (linear).
control voltage (CV); modulates bAtten (additive offset — ±1 CV sweeps the full range, centered on the knob)
b_curve_cvcvCV that sums into the B curve amount (linear), modulating B's linear↔exponential bend.
control voltage (CV); modulates bCurve (additive offset — ±1 CV sweeps the full range, centered on the knob)

outputs

idcablewhat it does
u_outcvUNITY-section output, u_in · unityAtten — the plainly attenuverted (scaled, possibly inverted) signal.
control voltage (CV)
a_outcvA-section output, sign(a_in)·|a_in|^k·aAtten with k from the A curve — the sign-preserving curve-shaped attenuvert.
control voltage (CV)
b_outcvB-section output, the same sign-preserving curve-shaped attenuvert as A driven by B's own atten + curve.
control voltage (CV)

params

idlabelrangedefaultcurve
unityAttenUnity-1..11linear
aAttenA Att-1..11linear
aCurveA Crv0..10linear
bAttenB Att-1..11linear
bCurveB Crv0..10linear

controls

controlwhat it does
A AttA-section attenuverter, linear -1..+1 (default +1). Scales A's curve-shaped output; negative values invert it.
A CrvA-section curve, linear 0..1 (default 0 = linear). 0 is a straight attenuvert; turning it up bends the response toward exponential (exponent k goes 1→3), compressing small signals while preserving large ones. Sign is always kept.
B AttB-section attenuverter, linear -1..+1 (default +1). Scales B's curve-shaped output; negative inverts.
B CrvB-section curve, linear 0..1 (default 0 = linear), bending B's response from linear toward steep exponential exactly like A's curve.
UnityUNITY attenuverter, linear -1..+1 (default +1 = unity passthrough). +1 passes the input as-is, 0 mutes, -1 inverts; in between it attenuates (and flips below 0).

source

unityscalemathematik.ts on GitHub.

Generated from packages/web/src/lib/{audio,video}/module-registry.ts · repo