A six-channel, touch-first groove box built in Unity and running in the browser via WebGL. Tap a pad and it locks to the groove on the next phrase — every start, stop, loop and tempo change is scheduled on the audio hardware clock, so nothing ever drifts. The browser build is the working prototype for a giant, physical groove box art installation.
Tap the pads to lock samples to the groove · pick a sample bank on the right · sweep the Effects filter · ride the master EQ / limiter. Multi-touch, so you can slap several pads at once. Browsers hold audio until you interact, so the first pad tap wakes the sound — if the frame is fiddly here, open it fullscreen ↗.
// the instrument
GrooveMyBox is a live loop instrument: a grid of six channels — Kick, Bass, Drum, HitHat, Synth and Effects — each with four swappable sounds drawn from interchangeable sample banks. You build a groove by tapping pads. Only one sound plays per channel at a time, and every pad you arm snaps to the next phrase boundary instead of firing the instant you touch it, so the result stays musical no matter how sloppily you play.
On top of the grid: a per-channel Effects filter that sweeps between high-pass and low-pass, a master EQ + limiter that keeps stacked loops from clipping, live tempo, and a beat/phrase indicator. It's designed touch-first and runs in a browser tab — the same engine is meant to drive a physical installation.
The whole thing is timed off the audio hardware clock (AudioSettings.dspTime), not the frame rate. Frames stutter; the DSP clock doesn't — so the grid never drifts even when the visuals hitch. Every sound is placed on that clock ahead of time with sample-accurate scheduling (PlayScheduled / SetScheduledEndTime) rather than being played "now", which is what makes starts, stops and loop seams land exactly on the beat.
Each pad owns a double-buffered pair of voices: when a loop reaches the end of its cycle the next pass is scheduled to begin at the exact sample the old one ends, so loops relaunch gaplessly with no click. Loops are pitch-fitted to the grid — a clip is nudged in pitch to the nearest musical multiple (¼×, ½×, 1×, 2×, 4×) of the phrase so it always lines up. Tempo changes are phase-preserving: a new BPM is held until the next phrase boundary, where the grid re-anchors, so the groove speeds up or slows down without ever jumping. Swapping sample banks mid-play hands over on a boundary too. And because a browser can't run custom audio DSP, the master limiter runs as true DSP on desktop but falls back to a voice-aware headroom control on the web — either way, stacking six loud loops stays clean instead of crackling.
The browser build is a prototype for an art installation: a room-scale, physical groove box you play with your whole body. The on-screen grid becomes a wall or table of large, illuminated pads; the same sample-accurate engine keeps everyone locked to one shared groove; and several people can build a track together — each pad a hand, the phrase grid keeping the collective jam in time. The web version proves the engine, the feel and the timing; the installation scales it up into something tangible and social.