analoglogicmaths

analogLogicMaths · utilities · schema v1

Analog-logic mixer inspired by Mystic Instruments ANA (hardware-only — this is a from-spec implementation, not a port). Two continuous-signal inputs A and B feed bipolar attenuverters (-1..+1) and the post-attenuverter signals fan out into FIVE simultaneous algebraic outputs: MIN = min(A',B'), MAX = max(A',B'), DIFF = A'-B', SUM = tanh(A'+B') (soft-clipped), PRODUCT = tanh(A'*B') (soft-clipped, gives ring-mod-ish behavior for audio + smooth blending for CV). MIN/MAX of two waveforms mashes shapes; MAX of two envelopes = "either-trigger fires"; DIFF of two LFOs is anti-correlated motion; PRODUCT of two CVs is smooth blending. Continuous-signal "analog logic" — NOT the digital boolean logic that ILLOGIC ships. Tanh soft-clip on SUM + PRODUCT only (the operations that can leave [-1, +1]); MIN/MAX/DIFF stay bounded naturally.

An analog-logic processor that runs five continuous algebraic operations on two inputs at once — the 'analog' counterpart to ILLOGIC's digital 0/1 booleans. Two inputs A and B each pass through a bipolar attenuverter, then the module simultaneously outputs their sample-wise MINIMUM, MAXIMUM, DIFFERENCE (A−B), SUM (soft-clipped with tanh), and PRODUCT (A×B, soft-clipped). Unlike ILLOGIC nothing is ever thresholded — every output is a smooth function of the inputs, so it works equally on CV and on audio. Musically: MIN/MAX of two waveforms gives jagged or smoothed wave-mashing; MAX of two envelopes is an 'either fires' combiner; DIFF of two LFOs makes anti-correlated motion; PRODUCT of two audio signals is ring modulation, of two CVs a smooth crossfade-blend. The two attenuverters can themselves be swept by CV.

the faceplate

analoglogicmathsacvbcvattA_cvcvattB_cvcvmincvmaxcvdiffcvsumcvproductcvaudiocvgatepitch
4 inputs · 5 outputs · 2 params

inputs

idcablewhat it does
acvInput A (bipolar CV or audio). Scaled by the ATT A attenuverter before feeding all five math operations.
control voltage (CV)
bcvInput B (bipolar CV or audio). Scaled by the ATT B attenuverter before the math.
control voltage (CV)
attA_cvcvCV control over the ATT A attenuverter knob — patch an LFO or envelope here to sweep how much of input A reaches the outputs (it adds to the knob's position).
control voltage (CV); modulates attA (additive offset — ±1 CV sweeps the full range, centered on the knob)
attB_cvcvCV control over the ATT B attenuverter knob — sweep how much of input B reaches the outputs (adds to the knob).
control voltage (CV); modulates attB (additive offset — ±1 CV sweeps the full range, centered on the knob)

outputs

idcablewhat it does
mincvThe sample-wise minimum of the two attenuverted inputs, min(A', B') — follows whichever signal is lower at each moment.
control voltage (CV)
maxcvThe sample-wise maximum, max(A', B') — follows whichever signal is higher; MAX of two envelopes acts as an OR-style 'either triggers'.
control voltage (CV)
diffcvThe signed difference A' − B' — zero when the two match, swinging positive or negative as they diverge.
control voltage (CV)
sumcvThe sum A' + B' run through a tanh soft-clipper, so it stays within ±1 and saturates gracefully instead of hard-clipping when both inputs are loud (at low levels it is nearly transparent).
control voltage (CV)
productcvThe product A' × B' through the same tanh soft-clip: ring modulation for two audio inputs, or a smooth multiplicative blend for two CVs.
control voltage (CV)

params

idlabelrangedefaultcurve
attAAtt A-1..11linear
attBAtt B-1..11linear

controls

controlwhat it does
Att ABipolar attenuverter for input A (-1 to +1, default +1): +1 passes A through, 0 removes it from the math, negative values invert its sign. The ATT A CV input adds to this position.
Att BBipolar attenuverter for input B (-1 to +1, default +1): +1 passes B, 0 removes it, negative inverts. The ATT B CV input adds to this position.

source

analog-logic-maths.ts on GitHub.

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