AudioGraphCompressor

Feed-forward dynamic range compressor: linked channels (one gain across all channels), log-domain soft knee, branching attack/release smoothing, makeup gain. All fields are runtime params (makeup honours a set_params transition).

Field

Type

Repeated

Description

input

uint32

threshold_db

double

ratio

double

knee_db

double

attack_ms

double

release_ms

double

makeup_db

double

meter_ms

double

Opt-in gain-reduction metering cadence (ms); 0/absent = no measurements.

unlinked

bool

Per-channel (unlinked) detection instead of the linked default — for discrete multichannel feeds where the channels are unrelated.

detector_rms

bool

RMS detector instead of the sample peak (smoother, more "musical").

rms_ms

double

RMS averaging window (ms) when detector_rms; 0/absent = default 10 ms.

auto_release

bool

Program-dependent (auto) release — fast on transients, slow when sustained.

sidechain_hp_hz

double

Sidechain high-pass on the detector (Hz; 0/absent = off). Low = anti-bass- pump; high (~5-6 kHz) = de-esser. Gain still lands on the full signal.

auto_makeup

bool

Auto makeup-gain derived from threshold/ratio (tracks live changes).

key

AudioGraphNodeRef

External-key (sidechain) ducking: when present, the detector reads the referenced KEY node instead of input (classic "music ducks under voice"). Absent = self-keyed. The gain still lands on input; an external key forces linked detection. A message wrapper gives optional-node-ref presence (node 0 is a valid ref, so a bare uint32 default-0 would be ambiguous).

Member of

Message

Description

AudioGraphNode

One node in the graph. (Extended one op at a time.)