Averages byte FREQUENCY data (AnalyserNode.getByteFrequencyData, 0..255 per bin) into
count equal buckets normalized 0..1. Only the lower ~70% of the spectrum is used —
voice energy lives there; the top bins are mostly hiss and would flatten the display.
Pure — unit-testable without Web Audio.
Averages byte FREQUENCY data (
AnalyserNode.getByteFrequencyData, 0..255 per bin) intocountequal buckets normalized 0..1. Only the lower ~70% of the spectrum is used — voice energy lives there; the top bins are mostly hiss and would flatten the display. Pure — unit-testable without Web Audio.