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.
- Formats: AU, VST3. Mono or stereo (same channel count in and out).
- Editor: 200 × 600 px by default, resizable at a fixed ratio (1:3), two pages — Motor and Settings.
- By Xrone — xrone.ae (audio exorcism).
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:
frontieris the level from which the filter is wide open. Below it, the cutoff is interpolated between 20 Hz (at the −60 dB floor) and maximum opening. Low, it lets almost everything through; high, it only opens on peaks.deviancecurves that interpolation. At 1 it is linear; above that, the filter stays closed longer and then snaps open as it approachesfrontier— the gesture becomes sharp and selective.
Dark mode
The theme button is not only cosmetic: in dark mode, three things are added to the chain.
- random drift on the cutoff, ±50 Hz, a new target every 5 s, independent per channel;
- grey/brown noise added after the filter, so full-spectrum and present even on silence;
tanhsaturation across the whole block.
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:
| Param | Range | Default | Role |
|---|---|---|---|
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.
window size— default width, 150 to 600 px (default 200, i.e. 200 × 600). The 1:3 ratio is locked, height follows width. The window stays resizable with the mouse at any time: this value only sets the starting point.theme mode— default theme, light or dark. Reminder: the theme changes the sound. The header button remains the way to switch live.
At the bottom, the buy me a coffee button opens xrone.ae, and the version number is shown.
What is saved, and where
- With the host's session or preset: the three parameters, the window size, and the current theme. A reopened project recovers its exact state, sound included.
- Globally, for new instances:
window sizeandtheme mode, written on save to~/Library/Application Support/Xrone/Xlpg1/Xlpg1.settings(macOS) or%APPDATA%\Xrone\Xlpg1\Xlpg1.settings(Windows).
Xlpg1 has no internal presets — management goes through the host's.