Dynamic EQ
Lancet
Cut where it counts — a surgical dynamic EQ with an analog soul.
AU · VST3 · Standalone · macOS & Windows · AGPL-3.0
About
A six-band dynamic EQ named after the narrowest of Gothic arches: every band combines a static gain with a threshold-driven dynamic gain of up to ±12 dB — downward to tame resonances, harshness and boom only when they flare up, or upward for program-dependent presence. Each band listens to the untouched input through its own selective bandpass detector, so no band's move ever disturbs another's detection.
Why the name?
Lancet windows are the narrowest of Gothic arches — tall, pointed slits of light. And a lancet is a surgeon's blade. Both readings are this plugin: up to six narrow bands making precise, dynamic incisions exactly where — and only when — the material needs them.
Under the hood
A knob that finally does what its label says. Earlier versions ran a fixed 50 ms smoother behind the gain computer, so no Attack setting faster than about 50 ms could actually be heard — even though the shipped range goes down to 0.1 ms. That smoother is gone: the whole chain — detector envelope, dB conversion, soft-knee gain computer, Range clamp, filter gain — now evaluates once per sample. Measured: envelope t63 within 30% of the dial at 0.1, 0.5, 5, 50 and 200 ms, and 90% of steady-state gain reduction inside a millisecond at the 0.1 ms floor.
Zipper-free by topology, not by hiding it. You cannot modulate a direct-form biquad's coefficients every sample and call it a filter — its internal state means something different after each jump, which is exactly what zipper noise is. So the band core is a topology-preserving-transform state-variable filter with trapezoidal integration, whose state variables are the two integrator outputs and keep their meaning no matter how the coefficients move. Dynamic gain enters as a scalar bandpass mix, and the bell's frequency warp is never re-tuned by it. Integrator state runs in double precision, because the trapezoidal update contains a deliberate cancellation that single precision loses digits on at low frequency and high Q. No discrete line at the sub-block rate under full-depth pumping, for bells and both shelf types.
Your existing curves are untouched. The new core realises transfer functions identical to the standard cookbook biquads it replaces — verified against an independent double-precision reference to better than −100 dBFS peak residual over ten seconds of noise per setting, and against the analytic magnitude response to ±0.05 dB across a band-type/gain/Q grid. At exactly 0 dB every gain-dependent mix scalar is exactly zero, so an idle band is bit-transparent with no branch and no workaround.
One signed control for compress and expand. Range is how far a band may move on top of its static Gain. Negative cuts as the signal gets louder — resonance taming, de-essing. Positive boosts as it gets louder, for bringing out a pick attack only on the hard-hit notes. Zero is a pure static EQ band, forced to exactly zero rather than merely small. Range also sets the knee width, so shallow settings read gentler on their own. Forty decibels of overshoot never moves a band a hundredth of a decibel past the Range you dialled.
Detection you can choose, route and hear. Split keeps each band listening only to its own frequency region through a cascaded fourth-order bandpass measured at better than 20 dB rejection two octaves out. Wide drops that filter so a band breathes with the whole mix while still only moving its own band. Or feed the detector from an external sidechain and carve room for a kick or a lead — and if the host offers no sidechain, the band quietly keeps using the internal signal instead of going silent. Listen always auditions the feed the detector is genuinely hearing, in every combination, because the audition buffer is written inside the same loop that feeds the envelope. Every detector taps the same unperturbed signal right after Input Trim, before Band 1 — never a band's own serially-processed input — so one band's cut can't confuse another band's detection.
Anti-aliased saturation, still at zero latency. The optional per-band drive uses a first-order antiderivative-antialiased kernel instead of a plain waveshaper — same character, measurably less fold-back, no oversampling stage and no added samples. Measured suppression of the dominant fold at 48 kHz: 13.2 dB at −24 dBFS, 10.0 dB at −12 dBFS, 8.4 dB at −6 dBFS. No absolute alias floor is claimed, because base-rate first-order treatment doesn't earn one — an oversampled stage would, at the cost of latency this plugin doesn't spend. It only ever engages while a band is actively boosting; cutting and idle bands render bit-identical with it switched on.
Honest engineering, enforced by CI. 145 test cases on macOS and Windows on every push, plus pluginval at maximum strictness: zero heap allocations on the audio thread under a replaced allocator — including with the sidechain bus live — a −120 dBFS bit-transparent null, an impulse whose peak really lands on sample 0, finite output and zero latency from 44.1 up to 192 kHz, and recovery from NaN and Inf bursts on both the main input and the sidechain without needing a reset.
Features
- Six bands — RBJ bells, with Low/High Shelf modes on the outer bands
- Static Gain plus dynamic Range (±12 dB) per band — downward or upward
- Per-band Threshold, Attack (0.1–500 ms, true across its whole range since v0.4.0) and Release (5–1500 ms), with a Range-scaled soft knee (v0.2.0) and per-band voicing defaults tuned to each band's role (v0.3.0)
- Auto Release & Gain/Q — program-dependent release shortening and dynamic-gain-linked Q widening (v0.2.0)
- Gentle Saturation — anti-aliased soft waveshaping while a band is actively boosting, untouched while cutting or idle, at no latency cost (v0.4.0)
- Pre-chain band-filtered detectors — surgical selectivity, no inter-band interaction
- Listen — solo exactly what a band's detector hears
- Zero latency (minimum-phase biquads, no lookahead) — safe for tracking
- Global Input/Output Trim and parallel Mix
- Per-band sidechain — SC Source keys a band off an external input instead of the audio passing through it, and SC Mode picks whether it listens to its own frequency region (Split) or the whole signal (Wide) (v0.4.0)
- Factory presets & preset management — browse/save/import/export via the in-plugin preset bar
- Full state save/recall; extensive DSP verification suite
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.






