Tenebrae plugin icon

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

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

product mockup
product mockup

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.