Skip to content

basilica-audio/Silentium

Repository files navigation

Silentium icon

Silentium

Silence between the storms — a tight lookahead noise gate for palm-muted rhythm.

CI License: AGPL v3

Work in progress. Silentium is pre-1.0 and under active development. Binaries for macOS and Windows are available from the Releases page (currently unsigned — see the release notes); building from source works too. Expect breaking changes until v1.0.0 ships (see Roadmap).

What it is

Silentium is a tight, lookahead noise gate built on JUCE 8, aimed at killing amp hiss/hum in the silence between palm-muted chugs: it detects transients on a sidechain-filtered copy of the input (so hum/rumble can't falsely hold it open), opens fast with a lookahead head start so it never clips the leading edge of a pick attack, and uses two separate open/close thresholds so a signal hovering near the threshold can't chatter the gate open and closed.

Features (v0.2.0 scope)

  • Threshold - open threshold on the (sidechain-filtered) envelope, -80 dB to 0 dB (default -40 dB)
  • Hysteresis - the gate's close threshold sits a fixed 3 dB below Threshold, so it can never chatter on a signal hovering near one value
  • Attack - program-dependent ramp time from the Range floor up to unity once the envelope opens the gate, 0 - 50 ms (default 1 ms; floor lowered from 0.1 ms in v0.2.0)
  • Hold - minimum time the gate stays open once opened, retriggered continuously while the envelope stays above the close threshold, 0 - 250 ms (default 20 ms; ceiling lowered from 500 ms in v0.2.0)
  • Release - program-dependent ramp time back down to the Range floor once Hold has elapsed, 5 - 500 ms (default 80 ms)
  • Range - floor attenuation applied while closed, -80 dB to 0 dB (default -60 dB); 0 dB means the gate never attenuates at all
  • Lookahead - delays the main signal 0 - 20 ms (default 5 ms) so the gate can start opening just before a transient arrives; reported to the host as this plugin's total latency
  • SC HPF - sidechain-only high-pass, 20 - 500 Hz (default 80 Hz), keeps hum/rumble from falsely holding the gate open; never applied to the main signal
  • SC LPF (v0.2.0) - sidechain-only low-pass in series after SC HPF, 1000 - 16000 Hz (default 16000 Hz/off), narrows the detection band toward the guitar pick-attack transient region
  • Knee - soft-knee width around Threshold, 0 - 24 dB (default 0 dB); 0 dB is the classic hard-knee snap, wider values blend the gain smoothly across the band
  • Duck - inverts the gain computer into a ducker (attenuate above Threshold instead of opening above it), off by default
  • Listen - routes the sidechain-filtered detection signal to the output for auditioning what the gate hears, off by default
  • External sidechain input - an optional second input bus (disabled by default) lets the detection path be keyed from another track instead of the main input
  • Presets (v0.2.0) - nine factory presets plus full user preset save/load/import/export, with a German-localised preset bar frame (falls back to English)
  • Full state save/recall via AudioProcessorValueTreeState, tolerant of older (v0.1.0) sessions

Signal flow

                    +-- SC HPF (20-500 Hz) --> SC LPF (1-16 kHz) --> stereo-linked max|.| --> peak envelope follower --+
                    |                                                                                                  |
Input --> Lookahead |                                hysteresis comparator + hold timer + knee blend + duck <---------+
 (or Sidechain      |                                                    |
  bus, if enabled)  |                     program-dependent attack/release gain ramp (dB domain)
    |               |                                                    |
    +---------------+------------------------------------------------> x (gain), or Listen output --> Output

See docs/architecture.md for the full breakdown, including the hysteresis/hold state machine, the knee/duck/listen additions, the external sidechain input, the v0.2.0 SC LPF and program-dependent ramp, and the lookahead latency-reporting strategy - and docs/manual.md for the user-facing parameter reference and mixing tips. docs/design-brief.md documents the research-derived sourcing behind the v0.2.0 voicing pass.

Roadmap

Milestone Description Status
M0 Bootstrap - project skeleton, CI, docs Done
M1 DSP completion - knee, duck mode, listen mode, external sidechain input, broadened test suite Done
M2 Presets & state recall, research-derived deep-dive voicing pass, DE localisation Done
M3 Custom GUI & accessibility Planned
M4 Release engineering - signing, notarization, installers, v1.0.0 Planned

Installation

No pre-built binaries are published yet (see the work-in-progress notice above). Once releases begin, installation will follow the standard plugin locations:

macOS

Format Path
AU (Component) ~/Library/Audio/Plug-Ins/Components/
VST3 ~/Library/Audio/Plug-Ins/VST3/

If Logic Pro doesn't pick up the plugin after installing, force a rescan by resetting the AU cache:

killall -9 AudioComponentRegistrar
auval -a

Windows

Format Path
VST3 C:\Program Files\Common Files\VST3\

Building from source

Requires JUCE 8.0.14, C++20, and CMake ≥ 3.24. See docs/building.md for full prerequisites and step-by-step build/test commands for macOS and Windows.

cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build
ctest --test-dir build --output-on-failure

License

Silentium is licensed under the GNU Affero General Public License v3.0 (AGPLv3).

This project uses JUCE 8, whose open-source tier is licensed under AGPLv3 (as of JUCE 8; JUCE 7 and earlier used GPLv3), which is why this project is AGPLv3 rather than GPLv3. See docs/adr/0002-agplv3-licensing.md for the full reasoning.

VST is a registered trademark of Steinberg Media Technologies GmbH.

Silentium is an independent open-source project and is not affiliated with, endorsed by, or sponsored by any plugin manufacturer.

About

Tight noise gate (AU/VST3) — lookahead and hysteresis gate with a sidechain high-pass for palm-muted metal rhythm. JUCE 8, AGPLv3.

Topics

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors