KADENZlive
READY
source ↗

Closed-loop music recommendation

A recommender never finds out
whether the floor emptied.

Engines like Spotify's answer one question extremely well — given this track, what sounds like it? They cannot answer the one that matters in a room: did anybody move?

Kadenz closes that loop with a camera. It measures the response and re-ranks the same catalogue an open-loop model ranks blind — both running side by side, so you can watch them disagree.

Read the source
  1. 01Catalogueaudio features
  2. 02Decka track plays
  3. 03Visionpose + motion
  4. 04Responsere-ranks 01

Runs entirely in your browser. The pose model downloads once (~13 MB) and every frame is measured and discarded on your own machine. No server, no upload — the code is the page you are on.

What this demo does, and what it doesn't
Detection, pose, tracking
Real. The same YOLOv8-pose weights as the desktop app, exported to ONNX
Crowd energy, per-person energy, flux
Real, from frame differencing rather than the desktop's dense optical flow — coarser, and it is what drives the recommender here. Below a measured noise floor it reads 0 rather than ranking sensor noise against itself, so sitting still gives zero, not a number
Both recommenders
Real code. A port of engine/dj.py; the catalogue is generated from the Python so the two cannot drift
BPM, groove sync, level
Real with the microphone, from spectral flux rather than librosa. Denied or silent, they stay blank — never invented
The tracks
Real releases used as recognisable labels — but their tempo, key and 0–1 feature values are estimates assigned by hand, not retrieved from Spotify or anywhere else

A webcam sees one room, not a dancefloor. Expect one or two people and a modest energy range — the crowd numbers in the README come from venue footage.

0:00