Skip to content

Input ceilings: one stated level per effect, and the knobs that clip by design - #228

Merged
bdbarnett merged 22 commits into
mainfrom
tests/ceiling-light
Oct 27, 2026
Merged

bdbarnett merged 22 commits into
mainfrom
tests/ceiling-light

Conversation

@bdbarnett

@bdbarnett bdbarnett commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Each effect now says, in one sentence, how hot its input can be while its defaults and patches stay off the rails. The knobs that clip by design are named in one line instead of being excused cell by cell.

Seventeen effects state an input level below full scale, from -3 dBFS (Bitcrusher, LowPass) down to -24 dBFS (CombFilter, where two resonant patches build a DC offset up to the rail). Each level was measured with the ceiling kit on the defaults and every patch, 48 kHz stereo, across all its materials, in 3 dB steps. Each effect gets a quick test (1 to 15 s) that holds both halves: clean at the stated level, and red one step up on the setting that rails first. The thirteen effects that are clean at full scale state nothing, because full scale is what the kit holds them to anyway.

CLIPS_AT_TOP names the macros whose top is meant to clip: an output Trim or Gain, a boost, Drive, Feedback, Attack. The ceiling kit skips the rail check where one of them sits at 127, and still judges wraps there. Ten effects declare it, each with a one-line note in its player text. test_kit plants cover both sides, and so does CLIPS_BY_DESIGN = True, a class-wide form that no effect uses yet.

CombFilter, LadderFilter, Reverb and TransientShaper also stated a plucked phrase's clean level, with tests that probed above the new stated level. Those sentences and tests are gone, so each effect states one level. The remaining older level notes (Reverb's noise and tone figures, ParametricEQ's headroom section, AnalogDelay's Mix ceiling) describe other things and stay.

Compressor, Overdrive, Exciter and Distortion follow separately.

Part of #147.

CombFilter, LadderFilter, Reverb and TransientShaper each also stated a
plucked phrase's clean level. Those tests probed above the new stated
level, where the levels kit no longer plays, so they failed or passed on
nothing. The stated level is now the one figure.
@bdbarnett
bdbarnett merged commit 1e381a2 into main Oct 27, 2026
7 checks passed
@bdbarnett
bdbarnett deleted the tests/ceiling-light branch October 27, 2026 23:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant