Musical Movers
https://musical-mover.web.app/ (check it out!) Musical movers help uncoordinated people move to the beat of the music.
Core trick
Estimates tempo from microphone spectral-flux onsets and autocorrelation, committing only once consecutive estimates agree.
Description
https://musical-mover.web.app/ (check it out!)
Musical movers help uncoordinated people move to the beat of the music.
Users just have to tap to the beat or use their microphone to input the beat of the music, and they can copy the movement in their walks, runs or on the dance floor.
README excerpt
# Musical Mover A mobile-first web app that helps you *find the beat*. A holographic dancer moves in perfect time with your music — tap the tempo or let the microphone listen — and you copy the moves. Live: https://musical-mover.web.app ## Features - **Tap tempo** — tap the big button (or `Space`) on the beat. Every tap also re-aligns the downbeat, so the dancer's "1" is your "1". - **Listen** — the mic tracks the tempo continuously using spectral-flux onset detection and autocorrelation, and only commits once consecutive estimates agree. A tap always overrides it. - **Walk** — a natural gait, one step per beat, with the floor scrolling at the matching speed. - **Dance** — two routines: the club **Two-Step** and the **Grapevine**. Glowing footprints appear half a beat before each foot lands; the beat strip names every count. - **Look around** — drag on the dancer to orbit the camera and study a move from the side or behind; a *Front view* button snaps back. - **Click track** — optional metronome, accented on beat 1. - Home-screen installable, safe-area aware, works on desktop too. No accounts, no keys, nothing recorded. ## Run it ```bash npm install npm run dev # http://localhost:5173 ``` ```bash npm test # unit tests for the beat engine, tempo detection, choreography npm run lint npm run build # typecheck + production bundle in dist/ npm run deploy # build + firebase deploy ``` ## How it works ``` src/ engine/