Skip to content

PabloWasinger/dj-turbo

Repository files navigation

DJ Turbo — Hand Gesture Music Mixer

▶︎ •၊၊||၊|။||||။‌‌‌‌‌၊|၊၊၊၊||၊|။||||။‌‌‌‌‌၊|||၊|။||||။‌‌‌‌‌၊၊၊||၊|။||||။‌‌‌‌‌၊|၊၊||၊|။||||။‌‌‌‌‌၊||•

 ________         ___          _________    ___  ___      ________      ________      ________
|\   ___ \       |\  \        |\___   ___\ |\  \|\  \    |\   __  \    |\   __  \    |\   __  \
\ \  \_|\ \      \ \  \       \|___ \  \_| \ \  \\\  \   \ \  \|\  \   \ \  \|\ /_   \ \  \|\  \
 \ \  \ \\ \   __ \ \  \           \ \  \   \ \  \\\  \   \ \   _  _\   \ \   __  \   \ \  \\\  \
  \ \  \_\\ \ |\  \\_\  \           \ \  \   \ \  \\\  \   \ \  \\  \|   \ \  \|\  \   \ \  \\\  \
   \ \_______\\ \________\           \ \__\   \ \_______\   \ \__\\ _\    \ \_______\   \ \_______\
    \|_______| \|________|            \|__|    \|_______|    \|__|\|__|    \|_______|    \|_______|

Control music effects and volume live with just your hands — no controllers, no knobs.

Requirements

  • Python 3.10+
  • Webcam
  • Audio output device
  • Any MP3 file (bring your own)

Installation

git clone https://github.com/belubeluga/dj-turbo.git
cd dj-turbo
python -m venv myVenv
source myVenv/bin/activate  # Windows: myVenv\Scripts\activate
pip install -r requirements.txt

Running

python main.py path/to/your/song.mp3

How It Works

DJ Turbo uses your webcam and MediaPipe to track both hands in real time. Each hand has a distinct role:

Effects Hand (left side of screen by default — your right hand)

Make a gesture to apply an audio effect:

Gesture How to do it Effect
✊ Fist Close all fingers tight Silence
🖐 Spread All five fingers open Volume boost (+6 dB)
👌 OK Thumb and index form a circle, other fingers down Highpass filter — cuts bass
👎 Bad Thumb and index pointing ~90° apart Lowpass filter — cuts treble
🤏 Pinch Thumb and index very close, other fingers down Volume cut (-10 dB)
🤌 Great Thumb and index as close as possible (tighter than pinch) Pitch shift up (+7 semitones)

No gesture detected = no effect, clean audio.

Volume Hand (right side of screen by default — your left hand)

Open your palm (spread), then rotate your wrist:

  • Rotate clockwise → louder
  • Rotate counter-clockwise → quieter

Keep any other gesture and the volume stays locked at the last level.

Keyboard Controls

Key Action
s Swap which hand controls effects vs volume
q Quit

The current hand assignment is always shown at the bottom of the window.

License

MIT — see LICENSE.

████████████████████████████████████████
████████████████████████████████████████
██████▀░░░░░░░░▀████████▀▀░░░░░░░▀██████
████▀░░░░░░░░░░░░▀████▀░░░░░░░░░░░░▀████
██▀░░░░░░░░░░░░░░░░▀▀░░░░░░░░░░░░░░░░▀██
██░░░░░░░░░░░░░░░░░░░▄▄░░░░░░░░░░░░░░░██
██░░░░░░░░░░░░░░░░░░█░█░░░░░░░░░░░░░░░██
██░░░░░░░░░░░░░░░░░▄▀░█░░░░░░░░░░░░░░░██
██░░░░░░░░░░████▄▄▄▀░░▀▀▀▀▄░░░░░░░░░░░██
██▄░░░░░░░░░████░░░░░░░░░░█░░░░░░░░░░▄██
████▄░░░░░░░████░░░░░░░░░░█░░░░░░░░▄████
██████▄░░░░░████▄▄▄░░░░░░░█░░░░░░▄██████
████████▄░░░▀▀▀▀░░░▀▀▀▀▀▀▀░░░░░▄████████
██████████▄░░░░░░░░░░░░░░░░░░▄██████████
████████████▄░░░░░░░░░░░░░░▄████████████
██████████████▄░░░░░░░░░░▄██████████████
████████████████▄░░░░░░▄████████████████
██████████████████▄▄▄▄██████████████████
████████████████████████████████████████
████████████████████████████████████████

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages