Skip to content

live · 2025

Gesture-Based System Equalizer

Real-time hand tracking that drives a 10-band system-wide audio equalizer — no mouse, no sliders, just a webcam reading your hand position.

What it does

OpenCV captures webcam frames, MediaPipe extracts hand landmarks, and a PyQt5 desktop app maps hand position/gesture to values that drive a 10-band system-wide equalizer through Equalizer APO.

Why I built it

I wanted to see if a normal webcam and off-the-shelf hand-tracking could replace a physical mixer interface for something as mundane as EQ — turning a laptop camera into a tactile control surface.

Technical problem

Mapping continuous, noisy hand-tracking landmarks to stable, smooth control values for ten simultaneous EQ bands without jitter, while keeping the whole loop — camera capture, landmark extraction, gesture-to-value mapping, and system audio control — running in real time.

My contribution

Sole builder.

Evidence and limitations

Confirmed public repository, sole author (git history matches this portfolio's owner). A full README rewrite was drafted 2026-09-16 by reading gesture_eq.py directly (finger-count band selection, pinch-to-adjust with exponential smoothing, L-shape lock, two-hand exit/reset gestures) and by installing the pinned requirements into a clean Python 3.12 venv, which succeeded (all four dependencies import, the script compiles). Not yet pushed to GitHub — pending review. The earlier title-card image was removed; the project's media is now a demo screen recording supplied by the owner (not independently reviewed frame by frame by this session).

Technologies

Python, OpenCV, MediaPipe, PyQt5, NumPy, Equalizer APO

demo recording of the gesture equalizer

Project links