Data Lab node
Stats
Descriptive statistics of every channel over the Signal’s window — mean, RMS, min, max, range, variance, std, median, two percentiles, skewness, kurtosis, zero-crossing rate, slope — as one value per channel, plus a Summary JSON of the chosen channel and a Bands Signal (mean, −σ, +σ, min, max over time) ready for Plot.
Inputs
| Port | Type | Default |
|---|---|---|
| SignalThe Data Lab signal to analyse — a Signal node's output, a Window, or any float array with its sample rate. Multi-channel signals are handled per channel. | structure | — |
| ChannelWhich channel the Summary JSON and the Bands Signal describe (the arrays cover every channel). | int | 0 |
| Percentile LowThe lower percentile reported in P Low (5 = the value 5 % of samples sit below). | float | 5 |
| Percentile HighThe upper percentile reported in P High. | float | 95 |
| Update RateHow many times per second the analysis is recomputed (default 10); 0 = every frame. Lower rates save CPU on long windows — a moved parameter always recomputes at once. | float | 30 |
Outputs
| Port | Type |
|---|---|
| Mean | float |
| RMS | float |
| Min | float |
| Max | float |
| Range | float |
| Std | float |
| Variance | float |
| Median | float |
| P Low | float |
| P High | float |
| Skewness | float |
| Kurtosis | float |
| Zero Cross Rate | float |
| Slope | float |
| Summary | json |
| Bands | structure |
How It Works
Stats reports descriptive statistics of every channel over the Signal's window: mean, RMS, min, max, range, variance, standard deviation, median, two percentiles, skewness, kurtosis, zero-crossing rate and slope — one value per channel.
Two extras make it plottable. Summary is a JSON of the chosen channel, ready for Value Text or a JSON consumer. Bands is a Signal carrying mean, −σ, +σ, min and max over time, so you can draw the statistics themselves as a chart alongside the raw data.
Update Rate decouples the cost of the analysis from the frame rate: run it at 10 Hz while the Plot draws at 60. Like every Analyze node it recomputes only when its data or its parameters actually moved.
Use Cases
- A readout — Mean and RMS into Value Text, written on the render output.
- Normalise by measurement — Feed Min and Max into a Remap so a downstream mapping adapts to the real range.
- Detect character, not level — Skewness and kurtosis distinguish a spiky signal from a smooth one at the same RMS.
- Confidence bands — The Bands Signal into Plot as an Area gives a mean ± σ envelope behind the trace.
- Zero-crossing rate — A cheap pitch-ish or noisiness measure for audio and vibration.
Tips
- Slope is the linear trend across the window — a drift detector that does not care about the mean.
- Percentiles are more robust than min/max on noisy data; P5/P95 ignores the occasional spike.
- Lower Update Rate on long windows; the statistics of four seconds of data do not need recomputing 120 times a second.
- Crest-like behaviour (peak vs RMS) lives on Envelope, not here.
- Channel picks which channel the Summary describes; the per-channel outputs cover all of them.
Open Stats in the interactive catalog →
Stats is one of 381 nodes in Grafit Pro.
Free download. Every feature for 7 days, no card. Then €99.99 once — or keep playing your projects as a Player.