Releases: basilica-audio/Firmament
Release list
v0.2.0
What's Changed
- v0.2.0: deep-dive DSP rework, Decorrelate, M2 preset system by @yves-vogl in #19
Full Changelog: v0.1.1...v0.2.0
v0.1.1
Patch release with two DSP fixes and the app icon.
Fixed
- Bass-mono crossover: transient-free re-engagement (#12) - the crossover's internal filter state was frozen while the section was disabled (
Bass Mono Freqat 0 Hz), so re-engaging it (e.g. automation sweeping back up through 0 Hz) resumed from a stale snapshot and produced an audible transient. The crossover now keeps tracking the live signal while disabled, so re-engagement is seamless. - Auto Mono Safety: smooth on/off toggle (#13) - flipping the toggle could step the Side gain by up to ~9 dB in a single sample when the input was strongly out-of-phase. The toggle now crossfades over ~50 ms, like every other parameter.
Both fixes are covered by new regression tests (51 test cases total).
Added
- App icon on the plugin and standalone bundles.
Assets
firmament-v0.1.1-windows.zip- VST3 + standalone (unsigned).- The signed/notarized macOS build will be attached once the release pipeline's signing configuration is restored.
Full Changelog: v0.1.0...v0.1.1
Firmament v0.1.0
Firmament is a Mid/Side stereo widener and imager plugin in the Basilica Audio suite — sacred-architecture DSP for heavy music. It scales the Side channel of a Mid/Side encode to control apparent stereo width, with an optional multiband crossover that keeps sub-bass content centered (or independently wide) regardless of how wide the rest of the spectrum is pushed. In a heavy-music mix chain it sits on lush layers — strings, choirs, synth pads — giving them a wider, more open stereo image without smearing the low end or breaking mono compatibility.
This is the first tagged release (v0.1.0), covering the M1 milestone: core DSP completion and broadened test coverage.
What's new in 0.1.0
Added
- Project bootstrap: README, license, contributing guide, architecture and build docs, ADRs, and CI workflow.
- DSP core: initial working Firmament signal path (Width, Bass Mono crossover, Output trim) with unit tests.
- Multiband width: independent
Low Width(0-200%, default 0%) andWidthcontrols for the Side signal's low/high bands, split atBass Mono Freq.Low Width's default exactly reproduces the original "bass mono forces the low band to silence" behaviour. - Auto Mono Safety: an optional, correlation-driven Side attenuation that reins in the stereo image whenever the input goes strongly out-of-phase, without ever touching Mid (so the mono-sum invariant holds regardless of whether it is engaged).
- Correlation/phase meter (DSP): a running, leaky-integrated input-correlation estimate exposed via
FirmamentEngine::getCorrelationValue()andFirmamentAudioProcessor::getCorrelationMeterValue(), driving Auto Mono Safety internally and ready for a future GUI meter widget (M3). - Haas Mode: an optional alternative widening technique (0-40 ms Right-channel delay after M/S decode, via
juce::dsp::DelayLine) that can widen genuinely mono-compatible material, clearly documented as the one exception to Firmament's otherwise-provable mono-sum guarantee. docs/manual.md: a full user manual (what Firmament is, where it sits in a heavy production chain, signal flow, complete parameter reference, mixing tips).- Broadened Catch2 test suite (24 -> 49 test cases): sample-rate sweeps (44.1-192 kHz), extreme/randomised parameter automation, mono/stereo bus-configuration coverage (including direct
isBusesLayoutSupported()acceptance/rejection tests), and long-run NaN/Inf stability sweeps, alongside dedicated coverage for every M1 DSP addition above.
Changed
PluginEditor: extended the v0.1-style functional editor with controls for every new M1 parameter (Low Widthknob,Auto Mono Safety/Haas Modetoggles,Haas Timeknob). A custom vector-drawn LookAndFeel and a visible correlation/phase meter widget remain M3 scope.docs/architecture.md: updated signal-flow diagram and per-stage documentation for the M1 signal path.
Fixed
- Corrected a documentation inaccuracy inherited from the v0.1 bootstrap:
juce::dsp::LinkwitzRileyFilter's dual-output low/high bands sum to a flat-magnitude allpass, not an exact reconstruction of the input (per JUCE's own class documentation, confirmed empirically) - the original "Bass Mono" feature was unaffected by this (it only ever discards the low band rather than re-summing), but the documentation claim was corrected before it could mislead the new multiband-width design.
Supported formats
- Plugin formats: AU, VST3, Standalone
- Platforms: macOS (Universal Binary: arm64 + x86_64), Windows (x64)
Installation
Download the zip for your OS below, unzip, and copy the plugin into your system's plugin folder:
- macOS: AU ->
~/Library/Audio/Plug-Ins/Components/, VST3 ->~/Library/Audio/Plug-Ins/VST3/. Standalone app can be run directly from wherever you unzip it (or moved to/Applications). - Windows: VST3 ->
C:\Program Files\Common Files\VST3\. Standalone app can be run directly from wherever you unzip it.
Rescan plugins in your DAW after installing.
Signed & notarized
The macOS binaries in this release are Developer-ID-signed, notarized by Apple and stapled — they install and open without Gatekeeper warnings. (Windows binaries remain unsigned for now; Authenticode signing is tracked as roadmap milestone M4.)