True-peak brickwall limiter
Apotheosis
The final ascension — a lookahead true-peak brickwall limiter for the master.
AU · VST3 · Standalone · macOS & Windows · AGPL-3.0
About
A lookahead brickwall true-peak limiter for the master bus — the final gate before export: input gain drives an oversampled true-peak detector, a lookahead delay makes gain reduction instantaneous rather than reactive, and a smooth release relaxes it back once the peak has passed. With the opt-in True Peak Guard engaged, a BS.1770-4-compliant meter reads the finished output's true (inter-sample) peak at or below the Ceiling.
Why the name?
Apotheosis: the elevation of a work beyond the human — the final step, after which nothing more may be changed. As the true-peak limiter at the very end of the chain, it speaks the last word before a mix leaves for eternity.
Under the hood
Zero overshoot, by construction. The lookahead attack has always been a sliding-window minimum — the future peak is already known, so no attack time constant exists. That minimum now runs through a cascaded-box FIR smoother, and the smoothed gain is provably never less attenuating than required. The test bypasses the safety clamp to prove the algorithm rather than the net: 10,080 randomised signals across four styles and three lookahead settings, zero violations. Running sums accumulate in double precision with exact re-summation every 2^14 samples — float running sums drift, and drift in a gain envelope is audible.
A ceiling you can measure. ITU-R BS.1770-4 Annex 2, implemented directly: a 4x polyphase FIR, 12 taps per phase, the standard's 48 coefficients with phase symmetry asserted at compile time. With True Peak Guard on, it runs on the base-rate output — the signal a delivery meter actually sees — and ducks by exactly the measured excess for exactly its duration. At a −1.0 dBTP ceiling, an independent compliant 4x meter reads −1.128, −1.287, −1.293 and −1.733 dBTP across the test corpus: every item at or below the ceiling, including a near-Nyquist inter-sample-peak case. A compliant 4x meter can itself under-read the true peak by up to 0.554 dB near that frequency — a property of the BS.1770-4 standard, not of this implementation, so the honest claim is "a compliant 4x meter reads at or below your ceiling", not "no sample anywhere exceeds it".
Oversampling that spends its budget where you can hear it. Alias energy folds back in the decimator, so the custom filter stages spend −106 dB on the way down against −86 dB on the way up, relaxing 10 dB per stage. Measured alias products sit at or below −70 dBc at 4x, −90 dBc at 8x and −100 dBc at 16x Linear, with pass-through magnitude flat to within 0.0004 dB out to 20 kHz across all six factor/phase combinations. The 4x minimum-phase default deliberately keeps the original filters, because its job is bit-exact compatibility with older sessions.
Dither designed, not borrowed. A 9th-order weighted error-feedback requantiser with per-channel TPDF, its coefficients least-squares-fitted offline to an inverse threshold-in-quiet audibility curve for 44.1 and 48 kHz. Measured 20.05 dB of F-weighted noise-floor improvement over flat TPDF at 16-bit, against a binding 15 dB floor — and a chi-square test confirming the dither generator is genuinely triangular, not an approximation.
Delivery-grade metering, O(1) memory. Integrated LUFS the specified way: 400 ms blocks at 75% overlap, −70 LUFS absolute and −10 LU relative gates, two passes over a 0.1 LU histogram instead of a growing block list, so a spec-compliant meter stays real-time-safe over an unbounded session. Verified against the EBU Tech 3341 test vectors to 0.1 LU, with Loudness Range per Tech 3342 to 1 LU.
Audition that actually nulls. Delta taps its dry reference through a second, filter-identical oversampler, so subtracting it leaves no filter-difference residue — 6 dB under the ceiling, the delta sits below −100 dBFS RMS. Unity Gain trims by exactly minus the Input Gain, so switching A/B compares character instead of level.
Latency, reported in full. Apotheosis is not a zero-latency plugin: reported latency is lookahead plus the oversampler's round-trip plus a 6-sample guard delay that sits in the signal path unconditionally below 176.4 kHz, whether or not True Peak Guard is engaged — deliberately, because a delay that appeared and disappeared with the toggle would force the host to re-run delay compensation mid-mix. At the default 5 ms lookahead, in samples at the project rate:
| Project rate | 4x Min | 8x Min | 16x Min | 4x Linear | 8x Linear | 16x Linear |
|---|---|---|---|---|---|---|
| 44.1 kHz | 232 | 232 | 232 | 283 | 286 | 286 |
| 48 kHz | 252 | 252 | 252 | 303 | 306 | 306 |
| 96 kHz | 492 | 492 | 492 | 543 | 546 | 546 |
| 192 kHz | 966 | 966 | 966 | 1017 | 1017 | 1017 |
Minimum Phase is flat across factors because the IIR allpass chain's own latency is effectively zero at every factor; Linear Phase is where the oversampling factor shows up, and even there 4x → 8x costs only 3 samples.
Compatibility proven by corpus. Before any new feature landed, the previous engine was rendered to committed float32 fixtures with settings, checksums and generating platform recorded. Every commit since is compared against them bit-exact, after compensating that constant 6-sample guard delay — a pure integer shift, no sample value changes. Zero audio-thread allocations with 16x Linear Phase, the guard, weighted dither, the Safe style, Delta and Unity Gain all engaged simultaneously, counted under a replaced allocator.
Features
- True-peak detection — 4×, 8× or 16× oversampled, so inter-sample peaks are caught and limited, not just sample-domain peaks (v0.4.0)
- Ceiling — −12 to 0 dBTP target, default −1.0 dBTP; the oversampled true-peak detector holds the output at or below it, with an exact BS.1770-4 measurement available via True Peak Guard
- Lookahead — 0.1–20 ms; makes gain-reduction attack instantaneous and click-free
- Release — 5–1000 ms, log-mapped, with Exponential / Linear / Smooth curve shapes
- Attack — transient/sustain classifier for near-instant recovery on brief peaks (v0.2.0)
- Auto Release — program-dependent release-time modulation, layered on top of Release Curve (v0.2.0)
- Stereo Link — 0–100% true-peak detector linking, for independent per-channel limiting when needed (v0.2.0)
- Clip Mix — blends the transparent limiter with a tanh soft-clip character, same ceiling guarantee
- Dither — Off / 16-bit / 24-bit TPDF at the output word length, with Flat/Shaped noise-shaping (v0.2.0) or a psychoacoustically Weighted 9th-order error-feedback shaper (v0.4.0)
- Metering — gain reduction, a measured BS.1770-4 output true peak with max-hold, Momentary/Short-Term/fully gated Integrated LUFS and Loudness Range (engine-side, v0.4.0)
- Style — Classic keeps v0.2.0 bit-for-bit; Transparent, Punchy, Bus and Safe replace the rectangular gain envelope with an FIR-smoothed one, making zero overshoot structural rather than a clamp (v0.4.0)
- OS Filter — minimum-phase IIR halfbands for the lowest latency, or linear-phase FIR for preserved phase relationships (v0.4.0)
- True Peak Guard — a BS.1770-4 detector on the final output ducks by exactly the excess, turning the Ceiling from a margin into a measurement (v0.4.0)
- Delta & Unity Gain — monitor modes that audition what the limiter removed, and A/B Input Gain at matched loudness (v0.4.0)
- Factory presets & preset management — browse/save/import/export via the in-plugin preset bar
- Full state save/recall
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.






