A 4-hit percussion pattern with hits at exactly [0.5, 1.0, 1.5, 2.0] s is
analyzed two ways: the centered onset_strength
envelope + peakPick must recover all 4 hits within ±1 hop
(23 ms), and the quick-tier onsetDetect must find 4 within its
honest uncentered-window bound (100 ms). Detections are sonified with
audioio.clicks() and mixed over the pattern — the overlay
clicks land audibly ON the hits. A C3→C5 audioio.chirp plays
through AudioPlayer; its quarter-by-quarter zero-crossing counts must
strictly increase (frequency-ramp proof). Numeric asserts node-verified.