Back to Xlpg1 Documentation

Xlpg1 — Documentation

Xlpg1 — low pass gate. The signal level drives the cutoff frequency of a low-pass filter directly: what is loud opens up, what is weak darkens and disappears off the top of the spectrum. No volume drop, no gate slamming shut. The sound closes in on itself.

Terms set in monospace (frontier, deviance…) are the ones shown on screen.

The engine

A low pass gate is not a noise gate: volume is never touched, it is the bandwidth that follows the envelope. At full level the filter is wide open; at low level it drops to 20 Hz and the sound fades out by going dark. This is how the vactrol cells in the Buchla 292 behave — dynamics and timbre are one and the same gesture.

INPUT ─┬─ RMS DETECTION (one measurement per block, per channel, floor −60 dB)
       │     → ENVELOPE   instant attack · release = dissolve
       │     → CURVE      frontier · deviance → cutoff frequency
       │     → SMOOTHING  0.25 s
       │          └─ dark mode: + random drift ±50 Hz
       │
       └─ LOW-PASS 12 dB/oct · Q 0.707 · independent filter per channel
                └─ dark mode: + grey/brown noise → tanh saturation
                       → OUTPUT

Both channels are detected and filtered separately: a transient on the left does not open the filter on the right. In mono, only the left channel works and the right-hand display mirrors it.

Envelope and opening curve

The attack is instant — the envelope follows the RMS level with no delay — and only the fall is smoothed, over the duration of dissolve. The filter opens sharply on a transient and closes slowly: that asymmetry is the gesture. A further smoothing of the cutoff (0.25 s) prevents crackling; it is independent of the buffer size, so rendering is identical in real time and on export.

Two parameters describe the level → cutoff relationship:

Dark mode

The theme button is not only cosmetic: in dark mode, three things are added to the chain.

This is the tired-circuit mode. Light mode is clean and deterministic.

Maximum opening is capped at 20 kHz, or 95% of Nyquist below 44.1 kHz (15.2 kHz at 32 kHz), without which the biquad coefficients would become unstable. The engine never allocates memory during audio processing, and reports a tail equal to dissolve so the host does not truncate the end of exports.

Navigation

The header is the same on both pages: on the left the Xrone logo (decorative), on the right [sun/moon], which switches light ↔ dark immediately (and changes the sound, see above), and [≡], which opens Settings — [×] returns to Motor.

No tabs: ≡ is the only path between the two pages.

Motor page

Two vertical meters, left and right, each overlaying two pieces of information: the level bar, rising from the bottom on a −60 → +6 dB scale, and inside that bar a contrast fill proportional to how closed the filter is (logarithmic 20 Hz → 20 kHz scale). Filter open, nothing is filled; filter closed, the whole bar is. Between the two, a marker tracks frontier: as soon as the bar rises above it, the filter is wide open.

Three parameters, in signal order:

ParamRangeDefaultRole
frontier −60 … +6 dB 0 dB Level of full opening. Low = open almost all the time (bright), high = only opens on peaks (dark).
deviance 1 … 16 1 Curvature of the level → cutoff relationship. 1 = linear, high = stays closed then snaps open.
dissolve 0.5 … 5 s 0.5 s Closing time. Opening, by contrast, is always instant.

All three are automatable and recalled with the session, editor open or closed.

Settings page

These two settings define the default values for future instances and only take effect on save; reset returns the sliders to 200 and light, without saving.

At the bottom, the buy me a coffee button opens xrone.ae, and the version number is shown.

What is saved, and where

Xlpg1 has no internal presets — management goes through the host's.