INITIALIZING...
Tushar Jain.

Air Guitar

Gesture-controlled virtual guitar using MPU6050 and Karplus-Strong sound synthesis.

How I got this idea

I wanted to bridge the gap between physical motion and digital sound synthesis without using pre-recorded samples, making it feel more like a real instrument.

Problem

  • Digital instruments often feel disconnected from physical strumming
  • High latency in gesture-based audio
  • Need for realistic timbre without large audio libraries

Solution

  • Used MPU6050 (IMU) to track wrist tilt for string selection and flicking for strumming
  • Developed a Python audio engine using the Karplus-Strong Algorithm to synthesize strings in real-time
  • Implemented low-latency Serial communication (115200 baud) between Arduino and Python
  • Applied velocity-sensitive logic based on acceleration magnitude
PythonArduinoMPU6050NumPyKarplus-Strong SynthesisSerial Communication

Hardest Technical Challenge

Implementing the Karplus-Strong algorithm in a real-time thread-safe audio callback while maintaining sub-10ms latency for a responsive 'strum' feel.

Demo

[ Demo Video / Screenshots to be added ]

What I learned

  • Sound can be simulated as a physical system (buffers and averaging)
  • Thread locking is critical when mixing audio dynamically
  • Serial data jitter can be mitigated with calibration and delta-based checks