lewonn

VOIDWORM · 1.1.1 · Architecture

Architecture

Inside VOIDWORM

The controls set the processing. The source decides how it reacts. That sentence is doing real work, and this page is what is behind it: a feature analyser reading the incoming signal, four independent distortion chains running in parallel off what it finds, and a recombination stage that has to survive all four arriving at once.

In order Eight stages
  1. 01

    Gate

    An input noise gate, first, so nothing downstream is reacting to a noise floor. Everything after this point assumes silence is actually silent.

  2. 02

    Analyse

    Drive is applied, then every sample updates a running picture of the source: peak and RMS, a fast and a slow envelope, a transient estimate and a sustain estimate, level and ratio in three bands, and an overall brightness. Thirteen figures, recomputed per block.

    peak · rms · fast envelope · slow envelope · transient · sustain · low/mid/high level · low/mid/high ratio · brightness

  3. 03

    Oversample up

    The wet path is lifted to 2×, 4× or 8× before anything nonlinear happens, so the harmonics the next stage invents have somewhere to go other than back down the spectrum as aliasing. The clips and folds are anti-aliased on top of that.

  4. 04

    Four reactors, in parallel

    The rack runs all four chains on the same oversampled block, each one steered by the analyser rather than by a fixed setting. They are not stages in a row — they are four different answers to the same input, summed afterwards.

    Mass

    Fundamental weight, low-order harmonics, low-end pressure. Asymmetric clipping.

    Furnace

    Starvation, grind, fuzz, hostile midrange. Asymmetric clipping and reflective folding, with a supply that sags.

    Arc

    Source-derived metallic and electrical intermodulation. Folding again, but driven from the spectral features rather than level alone.

    Feedback

    Short bounded nonlinear recursion. The shaping function is explicitly bounded so the recursion cannot run away.

  5. 05

    Oversample down

    Back to the host rate. The dry path goes through the same oversampling filters as the wet one, so the mix control stays phase-coherent instead of comb-filtering as you turn it.

  6. 06

    Tear

    An event-driven stage rather than a continuous one: it reports activity back to the interface because it fires on what the source does, not on a knob position.

  7. 07

    Weld

    Four parallel distortions summed will exceed full scale whenever they agree. Weld is the recombination stage that holds that together, and it reports its own gain reduction.

  8. 08

    Tone, then limit

    Three bands of output shaping with a range control, then a final limiter with a separate threshold and ceiling. The limiter is the last thing in the chain and can be switched off.

Why Three decisions

Parallel, not serial

Chained distortions compound: each stage only ever sees what the previous one left. Four in parallel means each reads the original source, so the character comes from how they are balanced rather than from an order of operations.

Steered by features

Every chain takes the analyser's output as an argument. A transient-heavy source and a sustained one arrive at the same setting and leave differently, which is the whole idea and also the reason one preset cannot cover two sources.

Bounded on purpose

The feedback chain's shaper is bounded, the weld stage counts its own state faults, and the pre-EQ checks filter health once a block. Recursive nonlinear audio fails loudly when it fails, so it is cheaper to constrain it than to trust it.

Everything above is in the source, AGPL-3.0.

Download 1.1.1 for Windows