Project 2026 Summer

Primo: A Haptic Glove System for Real-Time Piano Learning

Project Image
Student Jowi Aoun
Supervisor Mark Lanthier
Abstract

After personally attempting many times to learn how to play the piano the traditional way and failing, I decided to take a new approach. As a beginner pianist, you must decide which note to play, when, and with which finger. Existing apps address the first two and leave the finger positions, the assignment of fingers to notes, both unaddressed. Primo is an application and hardware glove which delivers guidance through a five-motor glove driven from an electronic keyboard, using only local computation. Finger numbers typed in by hand do not extend past the pieces you type, so Primo works them out instead. A dynamic programming solver finds the finger placement for a piece using a model of what is comfortable for a hand. It matches human annotation 61.2% of the time, against 31.0% for a simpler method, and takes 37 microseconds per note. I also built a camera pipeline that works out which finger actually pressed a key, and I measured the delay between a key press and the buzz. The software path averages 3.778 milliseconds, inside the 10 millisecond limit published for musical instruments.