Append-only ring buffer of VAD frames in stream-relative ms order. pushFrame is O(1) amortized; framesInWindow is O(n) over kept frames, which is fine for the per-word lookups we do (a 30 s window at 50 frames/s per channel × 2 channels = 3000 entries, scanned once per word).

Runtime-agnostic — no DOM or Web Audio dependencies.

Constructors

Methods