Gesture Media Controller

Control a media player with your hand. This is a browser rebuild of my original macOS controller, which mapped MediaPipe hand landmarks to system volume and playback through AppleScript. Hand tracking runs in your browser, so your camera feed never leaves this device. The music is synthesized live with the Web Audio API.

The hand model loads when you start the camera.

Start the camera and hold your hand up, palm facing the screen.
No webcam? The player controls on the right work too.

Track 1

Paused

Loop position0%
Volume60%
FPS: n/a Detection: n/a Pose: n/a Last gesture: none

Gestures

Open palm, hold half a secondPlay or pause. Hold it still; it fires once, so lower your hand before using it again.
Point with your index finger, then pinchVolume. Index finger up, other three fingers folded; the gap between thumb tip and index tip sets the volume.
Swipe left or rightPrevious or next track. Move your hand quickly across the frame, in the direction you see on screen.
Fist, hold half a secondMute or unmute.