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.
- 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.
- 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
- 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.
- 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.
MassFundamental weight, low-order harmonics, low-end pressure. Asymmetric clipping.
FurnaceStarvation, grind, fuzz, hostile midrange. Asymmetric clipping and reflective folding, with a supply that sags.
ArcSource-derived metallic and electrical intermodulation. Folding again, but driven from the spectral features rather than level alone.
FeedbackShort bounded nonlinear recursion. The shaping function is explicitly bounded so the recursion cannot run away.
- 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.
- 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.
- 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.
- 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.
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.