← Gallery Glitch playground — loop + beat glitching

Glitch playground — loop + beat glitching

core/loopPlayground + core/beatGlitcher

A seeded random sequencer chops a beat into ever-changing loops — halving, nudging, reversing — and because it's seeded, the same seed replays the exact same glitch choreography every time. Press Start to watch the loop window jump around the waveform of Drive Through Beat.wav while the ops scroll past in the ticker. Technically, Section 1 proves randomSequence (node-verified in examples/node/loop-playground.mjs): seeded determinism — identical op logs for the same seed, pinned golden log for seed 42 — and a 500-step bounds fuzz with zero violations; a GibClock then drives step execution against live LoopPlayer playback. Same seed ⇒ same choreography.

Live playground

seed loading + decoding WAV…

Section 2 — beatGlitcher: bar-synced glitch clock

A synthesized 120 BPM click buffer (sr 32768, so the 0.5 s beat is exactly 16 energy frames — the internal fast BPM detector reads 120.0) drives startBeatGlitch({maxOpsPerBar: 1}). Badges (asserts node-verified: mean 1999.6 ms, 8/8 updates, 0 post-stop): mean bar interval 2000 ± 40 ms over 8 bars, effective BPM 120 ± 2 derived from the measured interval, onUpdate fired exactly once per bar, and the stop handle silences the clock (no calls within 3 s). Runs automatically — takes ~19 s; keep this tab focused (background-tab timer throttling would corrupt the timing measurement).

beatGlitcher: waiting…