Primo: A Haptic Glove System for Real-Time Piano Learning
Beginner pianists must decide which note to play, when, and with which finger. Consumer practice software helps with the first two but says nothing about fingering, the assignment of fingers to notes, even though a poor fingering can make a passage unplayable at tempo. Primo delivers fingering guidance through a five-motor haptic glove driven from a MIDI keyboard, using only local computation. Three contributions are measured. Fingering is generated exactly, by dynamic programming over a trellis of notes against fingers using an ergonomic cost model; the solver is verified against exhaustive search and reaches a 61.2% general match rate against human annotation, against 31.0% for a greedy baseline, at 37 microseconds per step. Fingering is verified offline by a vision pipeline that maps the camera image onto the keyboard plane by planar homography and assigns each key press to a fingertip, reaching 91.1% on synthetic ground truth and eliminating impossible chord assignments. The software feedback path averages 3.645 milliseconds, 90% of it a single polling interval. Against published criteria for musical control, the system meets the 10 millisecond latency bound but fails the 1 millisecond jitter bound; the cause is identified and is correctable.