ReadonlychannelReadonlyfftOptional ReadonlylowReadonlymagsOptional ReadonlymutedWhether this channel is MUTED right now (issue #162). Set from the console's own mute
truth, in-band with the frame — so the analyzer's MUTED indicator is authoritative and
arrives WITH the (already-floored) trace on the very first frame after a (re)connect,
never derived separately or dependent on a state:mute toggle. Absent (falsy) = not
muted; an older server build omits it and the client simply shows no indicator.
Optional ReadonlypostReadonlysampleReadonlytype
A real-time-analyzer frame for the STANDALONE panel (the /rta rows over ?watch=1): raw linear-magnitude FFT bins for one channel (any lane the desk is analysing — see
/channel/{kind}/{index}/rta).mags[k]is the amplitude atk · sampleRate / fftSizeHz. This is the web-ui'sSpectrumFrameshape verbatim — the browser'saggregateBandsdoes the log-band/dB reduction, so the server sends the raw FFT once and the client decides how to slice it (bar count, tilt, freeze) with no server round-trip.lowis an OPTIONAL second tier (issue #95, "zoom-FFT"): the same tap's spectrum again, decimated ÷8 before its own FFT — ~8× finer Hz/bin, covering the low end where a single fixed-size FFT is too coarse on a log display.postis an OPTIONAL second TAP (issue #96): a watched strip's POST-EQ spectrum (with its own high + low tiers), the top-level fields being the PRE-EQ tap — the client draws pre / post / both. Both optionals are additive: an older server build (single-tap, single-tier) still parses on either end; the client falls back to HIGH-tier-only / PRE-only when they're absent.