Manual
A dual-band de-esser / ess-restorer built on a subtractive split-band engine — at rest y = x exactly, so there’s no phase smear on non-sibilant material. Each band can De-ess (remove) or Enhance (restore) sibilance, with a bipolar Temper character (STONED ↔ CLEAN ↔ RAGE). A brain consumer, and the satellite side of Tyson Group.
The interface - every control mapped
12345678910111213Two independent sibilance bands. The subtractive engine isolates each with a constant-0 dB band-pass and subtracts a fraction back, so the removed signal is exactly x − y.
De-ess (downward, remove) or Enhance (upward, restore). Enhance is a genuine reverse de-esser: the relative detector fires on an “sss” *regardless of loudness*, so a weak/lispy ess can be lifted and saturated back in.
Threshold (relative or absolute) and Range = max action for that band.
Bipolar character feeding the saturator: CLEAN (centre, no harmonics), STONED (soft-clip, warm), RAGE (hard-clip, gritty). Harmonics are always added, which is what lets it keep presence while de-essing *and* add ess where lacking. Scaled so the whole throw is usable (displayed 100 = internal 0.45); sized for WILD.
Det Drive gains into the detector (set sensitivity by drive, not threshold). Sat Drive pushes the band harder into the saturator — it stacks on Temper’s own drive, so it only does anything when Temper is engaged (nothing to intensify at CLEAN).
Relative compares band level to broadband, so it fires on sibilance not loud vowels (the “doesn’t lisp on sustained notes” default). Absolute thresholds the band directly. Gated below −70 dB so silence shows no phantom reduction.
Split subtracts the band (default, phase-correct). Wideband ducks the whole signal by the combined band gain (classic wideband grab). Soften/character apply to the split path only.
Routes what you hear: Process / Detector (the band key) / Suppressor (the removed sibilance — the “am I lisping?” check). Falls out of the same maths, no separate audition DSP.
Scope overlay over a live spectrum with each band’s coverage stripe: Sensitivity (detector level vs threshold, amber when triggering) or Reduction (De-ess bar hangs from top, Enhance bar grows from bottom in cyan). Each band also has its own scrolling activity strip.
Lookahead knob (0 ms = off, no separate toggle) delays the through-signal so a fast ess is caught. Key Source Internal/External sidechain.
Reads a bespoke de-ess by track name (getComputedDeEssByName). Measurement-driven: finds each voice’s sibilant peaks where the HF pokes above its own local envelope — two singers at 6 kHz vs 8 kHz get different bands — and sets centre/Q/threshold/range/envelope from how far it pokes and how much of the mix already carries that region. Returns nothing for non-sibilant sources (kick, bass…).
Joins the tg::StackRegistry by the GROUP field, posts per-band sibilance + an HF profile, and reads back a continuous per-band budgetScale applied as a smoothed multiplier on the *applied* reduction (detector untouched — no measurement feedback). The budget only engages with 2+ members or a coordinator present. Orthogonal to LevelsBrain AUTO — use both at once.