High-gain distortion
Tenebrae
A liturgy of shadows — cascaded high-gain distortion for the heaviest rhythm tone.
AU · VST3 · Standalone · macOS & Windows · AGPL-3.0
About
A high-gain rhythm-guitar distortion aimed squarely at the core "chug" tone of modern metal: a tightening high-pass ahead of three cascaded, oversampled waveshaper stages — each progressively tighter and darker — followed by a passive-style 3-band tone stack. Pair it with a cabinet IR loader (such as Nave) for the final voicing.
Why the name?
Tenebrae — Latin for darkness — is the Holy Week service in which the candles are extinguished one by one until a single flame remains. A fitting name for a high-gain distortion built from cascaded stages: each one takes away a little more light, and what remains burns hotter.
Under the hood
Stages that are solved, not shaped. Each triode stage solves its own DC operating point at load time, then builds a 2048-point plate curve from a published 12AX7 model with the grid stopper in circuit — so grid conduction compresses the positive swing the way the circuit does. The published equations are asserted parameter by parameter, and the plate/grid current identity holds to 1e-6 across the working grid.
Three things a lookup table cannot do. Rectified grid overshoot charges the coupling cap fast and bleeds off over a measured 20 ms — that is why palm mutes feel compressed and chugs bloom. The cathode network only bypasses above its corner, so the Tight voicing gives bass over 3 dB less drive than treble while Loose stays flat within 0.5 dB from 50 Hz to 10 kHz. And each stage's Miller capacitance rolls off the one after it, at the 6 dB/oct slope the physical capacitance actually has.
A power amp, not a second EQ. Resonance and Presence are cut-only shelves in the feedback return path — cutting the return raises closed-loop gain in that band, exactly as the hardware does. The measured low-end lift matches the theoretical feedback prediction within 1.5 dB and stays within 0.5 dB of flat at 1 kHz and 5 kHz. Sag squeezes the transformer's headroom by a measured 1.9 dB with a 5 ms attack and a 120 ms recovery. The loop's small-signal gain is bounded with 6 dB of margin at every frequency up to the oversampled Nyquist — asserted at load time and gated in CI across every control setting at every oversampling rate.
Anti-aliasing that is consistent by construction. Every shaper runs first-order ADAA, and the lookup table's antiderivative is the exact quartic antiderivative of the same cubic Hermite segments the curve is built from, so the two are identical by construction rather than merely close. Published alias-to-signal spec: −88.6 dB at Standard and −90.3 dB at HQ at 1244 Hz, against −39.4 dB for the same cascade with no oversampling and no ADAA. Above roughly 2.5 kHz the residual is set by the oversampler's own decimation filter rather than by the shapers, which ADAA already handles — closing that further needs a steeper suite-wide oversampler, not a shaper change.
A gate that can hear the guitar. At high preamp gain, a 30 dB difference between "not playing" and "playing" can arrive at a post-distortion detector less than 6 dB apart — no threshold separates them. Keying from before the cascade preserves 25 dB of that difference. Add hysteresis measured within 1 dB of what you dial, a finite range floor that lands within 0.5 dB of where you ask, and an Auto release that races two envelopes to tell a stopped note from a decaying one, then fades at the note's own measured rate.
Latency is real, mode-dependent, and honestly reported. Tenebrae is not a zero-latency plugin: oversampling is the only source of its latency, and both Engine and Quality change how much there is. The guarantee is that the reported figure always equals the measured one, in every combination, with a bit-transparent passthrough at 0% Mix. HQ (8× linear-phase FIR) carries the most; Eco (2× IIR half-band) the least. Because the latency can only change on a stepped configuration switch rather than continuously, both controls are deliberately non-automatable.
Nothing about your old sessions changes. All ten new parameters default to neutral and the Classic engine's code is untouched, so a pre-existing session renders byte-identically to a fresh instance at its defaults — float for float, in the same process, in CI, on every push. The original factory presets too. 108 tests on macOS and Windows, with pluginval at strictness 10 and auval -strict on top.
Features
- Tight — high-pass pre-emphasis, 20–300 Hz, so palm mutes stay percussive
- Gain — 0–40 dB into the 3-stage waveshaper cascade
- 3-stage cascade — progressively tighter, more asymmetric stages inside oversampling (Classic runs at a fixed 8×; the Triode engine follows the Quality switch)
- Voicing — Tight / Loose switch between two complete cascade voicings
- Bright — fixed pre-cascade high-shelf switch, modelled on an amp channel's bright switch
- Bass / Mid / Treble — passive-style tone stack, ±15 dB per band
- Tone Voice — Flat / Scoop / Boost one-switch tilt for instant rhythm-tone shapes
- Presence — post-cascade high-shelf at 2.4 kHz, independent of Bright's pre-cascade shelf (v0.2.0)
- Gate — full-band noise gate after the cascade and tone stack, on by default, with a pre-distortion detector key, hysteresis, an adjustable range floor and an auto release mode (v0.3.0)
- Level & Mix — output trim and delay-compensated dry/wet
- Engine — Classic keeps the v0.2.0 waveshaper cascade; Triode swaps in three modelled 12AX7 stages that bias toward cutoff after a hard hit and recover over ~20 ms (v0.3.0)
- Quality — Eco / Standard / HQ oversampling for the Triode engine (v0.3.0)
- Bias Shift — how far the Triode stages bias themselves toward cutoff after being overdriven (v0.3.0)
- Power Amp — modelled output stage with a saturating transformer, plus Resonance and supply Sag; Triode engine only, off by default (v0.3.0)
- Factory presets & preset management — browse/save/import/export via the in-plugin preset bar
Download
The latest builds are published on GitHub Releases.
The macOS binaries are Developer-ID-signed, notarised by Apple and stapled — they install and open without Gatekeeper warnings. Windows builds are not yet Authenticode-signed; SmartScreen may warn about an unknown publisher.
Compatible DAWs
Any modern DAW that supports VST3 or Audio Units. Pro Tools (AAX) is currently not supported.
Screenshots
Audio examples
Coming with the next release.
Before/after clips are being recorded — audio examples will appear here with an upcoming release.
Support development
Basilica Audio is free software, built at night and tuned by ear. If it earns a place in your session, you can help keep the candles lit.
Donation links are not wired up yet — they will go live soon.






