3-band multiband compressor
Triptych
Three panels, one altarpiece — a 3-band multiband compressor for dense mixes.
AU · VST3 · Standalone · macOS & Windows · AGPL-3.0
About
A three-band multiband compressor for dense, heavy mixes: two Linkwitz-Riley crossovers split the signal into Low, Mid and High bands, each with its own full-featured compressor, console-style mute/solo, and an optional brickwall limiter on the high band.
Why the name?
A triptych is a three-panel altarpiece: three images, hinged into one work. Triptych splits your signal into three bands — low, mid, high — compresses each on its own panel, and hinges them back into one picture.
Under the hood
A detector, in three orthogonal layers. Peak is a thin wrapper around the exact envelope-follower call the previous version made — deliberately not a re-implementation. RMS runs a mean-square one-pole at max(Attack, 5 ms) into that same ballistics chain, reading the textbook 3.01 dB below peak on a sine. Auto Release runs a fast branch and a slow reservoir in parallel and takes the maximum, which is what guarantees the tail decays monotonically instead of bouncing. Stereo Link is a max-law blend applied to the detector inputs, so at 100% both channels integrate the same value sequence and their gains cannot differ by even a rounding step.
A ceiling with a proof, not just a test. The lookahead brickwall pairs an amortised-O(1) sliding minimum with a cascaded box smoother whose FIR support never exceeds the lookahead window. Because every value averaged into the final gain is bounded by the request at the delayed sample, and the release pole only lowers it further, the output magnitude can never exceed the threshold — for any program material. Verified over 10,000 randomised segments per setting, driven well above full scale, with worst-case overshoot below 1e-6.
A sidechain that matches the band it keys. Selecting External runs the key through a second, independent crossover pair at the same frequencies and slope, so the low band's detector follows the sidechain's low band — not its cymbals. Nothing connected? It falls back to internal keying sample-exactly, not silently quiet. SC Listen plays a band's detector key so you set thresholds against what the detector actually hears.
Crossovers built the hard way. 12 and 48 dB/oct are genuine Linkwitz-Riley designs — a squared 1st-order and a squared 4th-order Butterworth prototype — because cascading the existing 24 dB/oct crossover with itself is a different transfer function, not a steeper one. The 24 dB/oct path is byte-untouched and asserted sample-exactly against the original. Measured: 12 ±1.5, 24 ±2.0, 48 ±3.0 dB per octave, with the band sum flat to ±0.1 dB at the default.
A gate that cannot click. Hold lives in the envelope domain as a shadow held envelope that decays with the gate's own release coefficient; Hysteresis moves the effective threshold through the 50 ms smoother that already owns it. Neither ever steps the output gain by more than 0.5 dB per sample — asserted across hold expiry and every hysteresis transition, worst case included.
Zero latency is the default, not a universal property. Every band's crossover is minimum-phase and every detector is causal, so a fresh instance reports 0 samples of latency — and every session saved before Lookahead existed still does. Engage Lookahead on any band and that stops being true: the plugin reports exactly the lookahead length, in samples, and the host re-runs delay compensation to match.
| Lookahead | 44.1 kHz | 48 kHz | 88.2 kHz | 96 kHz | 192 kHz |
|---|---|---|---|---|---|
| Off | 0 | 0 | 0 | 0 | 0 |
| 1.5 ms | 66 | 72 | 132 | 144 | 288 |
| 3 ms | 132 | 144 | 265 | 288 | 576 |
| 5 ms | 221 | 240 | 441 | 480 | 960 |
Compatibility as an engineering contract. 23 new parameters, all neutral by default, all appended after the 59 shipped ones so AU automation lanes keep their indices. A fresh instance renders sample-exactly like the previous version — proven by a same-binary A/B against a reference chain rebuilt from the very components still linked, with bit-exact equality rather than a tolerance. Zero audio-thread allocations with the entire feature matrix engaged, under a replaced allocator that counts.
Features
- Two crossovers — Low/Mid (40 Hz–1 kHz) and Mid/High (400 Hz–12 kHz) with enforced band-order separation under automation, at a selectable 12, 24 or 48 dB/oct (v0.5.0)
- Per-band compression — Threshold, Ratio (0.2:1–20:1, v0.3.0 widened for upward compression/expansion), Knee (v0.2.0), Attack, Release and Makeup for each of Low / Mid / High
- Per-band Range — clamps maximum gain change up or down, keeping aggressive Ratio settings musically usable (v0.3.0)
- Per-band downward expander/gate — independent Threshold, Ratio, Attack and Release running in parallel with each band's compressor (v0.4.0), plus Hold and Hysteresis to stop it chattering (v0.5.0)
- Per-band Mid/Side — encode to Mid/Side before gain computation with an independent Side Threshold/Ratio, mono-safe by construction (v0.4.0)
- Per-band Mute/Solo — console semantics; compressors keep running under solo, so no re-attack pop on unmute
- High-band limiter — optional brickwall stage after the High band's compressor
- Zero added latency by default — minimum-phase crossovers and causal detectors; the optional 1.5/3/5 ms Lookahead is the only thing that reports delay, and hosts compensate it automatically (v0.5.0)
- Output — master trim, ±24 dB
- Per-band detector — a Peak or RMS law, program-dependent Auto Release, a VCA character that rounds the knee and speeds the attack with ratio, and 0–100% Stereo Link (v0.5.0)
- External sidechain — key every band's compressor off the sidechain bus, split at the same frequencies, with SC Listen to audition the detector key (v0.5.0)
- Mix — dry/wet around the whole multiband chain, with the dry path delayed to match Lookahead (v0.5.0)
- Per-band gain-reduction meters with a decaying peak-hold line (v0.5.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
Coming with the next release.
The custom interface is currently in design — screenshots will appear here as soon as it ships.
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.






