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