openmixer — generated API reference
    Preparing search index...

    Interface GateState

    A downward gate / expander, in engineering units. The static side is a transfer curve of applied gain (dB) against input level (dB): below the knee the signal is pulled down by rangeDb (the closed floor), above it the gain is unity (0 dB, open), and the soft knee ramps between kneeStartDb (fully closed) and kneeEndDb (fully open). thresholdDb is the open reference the DSP comparator uses; hysteresisDb is the open-vs-close gap (the gate closes at thresholdDb − hysteresisDb). The dynamic side is the usual attack / hold / release envelope. The transfer geometry + seed defaults live in @freemixer/catalog/gate (gateGainDb / defaultGateState / normalizeGate), whose GateState is structurally this one — the curve maths stay in the dependency-free catalog, alongside the EQ curve.

    interface GateState {
        attackMs: number;
        holdMs: number;
        hysteresisDb: number;
        kneeEndDb: number;
        kneeStartDb: number;
        on: boolean;
        rangeDb: number;
        ratio: number;
        releaseMs: number;
        thresholdDb: number;
    }
    Index
    attackMs: number
    holdMs: number
    hysteresisDb: number

    Open-vs-close threshold gap (dB, ≥ 0) — the gate closes hysteresisDb below open.

    kneeEndDb: number

    Input level (dB) where the soft knee ends — above it the gate is fully open (unity).

    kneeStartDb: number

    Input level (dB) where the soft knee begins — below it the gate is fully closed.

    on: boolean
    rangeDb: number

    Attenuation applied when fully closed (dB, ≤ 0; the closed floor).

    ratio: number

    Downward EXPANSION ratio (≥ 1) — what turns the hard GATE this model otherwise draws into a genuine, gentler EXPANDER: 1 is off (no expansion at all), a low ratio (e.g. 2:1) is a gentle expander that only nudges the signal down below threshold, a high ratio (the default) reads as a hard gate. This is the SAME ratio the compressor's ACT-ABOVE atom carries, mirrored here for the gate's ACT-BELOW atom — see @freemixer/server's gateStateToNativeDyn, which threads it straight onto native.setStripDyn's below-mode ratio. The default (GATE_DEFAULT_RATIO in @freemixer/catalog/gate) is chosen so a freshly-seeded gate reads exactly as hard as the pre-ratio model did (see that constant's doc for the derivation).

    releaseMs: number
    thresholdDb: number

    Open reference / comparator level (dB).