awdawdawdawd# MediaPipe Synth
A hand-tracked, Serum-inspired synth prototype built with Python, MediaPipe, and Pyo. Built for synth sound design without the need for the various dials/controls on common synths such as Serum.
- Size of expanded hand → controls the number of voices (polyphony)
- Hand rotation → smoothly morphs waveform (sine → saw → square → triangle)
- Side-to-side palm tilt → sets detune amount between voices
- Thumb–Index distance → controls lowpass filter cutoff (Moog LP style)
- Thumb–Middle distance → sets chorus depth
- Index–Middle distance → controls distortion drive
- Hand rotation → sets the pitch of oscillators
- MediaPipe → hand landmark detection
- OpenCV → webcam input + image processing
- Pyo → audio synthesis & effects
- Python 3.11+
git clone https://github.com/minjunminji/mediapipesynth.git
cd mediapipesynthpython -m venv .venv
# On Windows
.\.venv\Scripts\activate
# On macOS/Linux
source .venv/bin/activatepip install -r requirements.txtpython vision.pyThis opens your webcam feed, tracks your hands, and sends control values into the synth engine.
- Coming soon
.
├── synth.py # Audio engine (oscillators, filter, chorus, distortion)
├── vision.py # Hand tracking & parameter mapping
├── requirements.txt
└── README.md
- Add more waveforms & advanced morphing
- Add envelope control (ADSR)
- Add reverb effect
- Build a simple UI to tweak ranges & mappings
Inspired by Xfer Serum and motion-controlled synth concepts. Built using MediaPipe, OpenCV, and Pyo.
This is a prototype built for experimentation. Latency and stability may vary depending on your system.