Violina - Real-Time ML Violin Posture Tracker
Inspiration
Violin posture often breaks down not because players don't know proper form, but because fatigue sets in during practice. As focus shifts to the music, wrists drop, arms drift, and tension builds without the player noticing. Violina was created to make posture visible again — providing real-time awareness when a teacher isn't there to correct it.
What It Does
Violina is a real-time ML violin posture tracker that uses a webcam to analyze wrist positioning, arm angles, and joint alignment while a player performs. It detects posture drift and provides immediate visual feedback to help players correct form before bad habits develop.
How We Built It
Violina uses a live webcam feed on the frontend and streams frames to a backend optimized for low latency. On the backend, MediaPipe pose and hand landmark detection extract joint positions, which are analyzed using geometric calculations to evaluate posture. Processed feedback is returned in real time with visual overlays.
Challenges We Ran Into
Running multiple computer vision models in real time introduced performance and latency challenges. We had to balance accuracy with responsiveness while translating expressive human movement into measurable geometry.
What's Next for Violina
We plan to expand Violina beyond posture into context-aware feedback by integrating music and note analysis. Long term, Violina could track progress over time and adapt feedback to each player's unique technique and physiology.
Built With
- flask
- machine-learning
- mediapipe
- python
- react
Log in or sign up for Devpost to join the conversation.