Tipiano: Cascaded Piano Hand Motion Synthesis via Fingertip Priors
Organizations: Korea Advanced Institute of Science and Technology (KAIST), South Korea · Seoul National University, South Korea · YAMAHA, Japan
Abstract
Synthesizing realistic piano hand motions requires both precision and naturalness. Physics-based methods achieve precision but produce stiff motions; data-driven models learn natural dynamics but struggle with positional accuracy. Piano motion exhibits a natural hierarchy: fingertip positions are nearly deterministic given piano geometry and fingering, while wrist and intermediate joints offer stylistic freedom. We present [OURS], a four-stage framework exploiting this hierarchy: (1) statistics-based fingertip positioning, (2) FiLM-conditioned trajectory refinement, (3) wrist estimation, and (4) STGCN-based pose synthesis. We contribute expert-annotated fingerings for the FürElise dataset (153 pieces, ~10 hours). Experiments demonstrate F1 = 0.910, substantially outperforming diffusion baselines (F1 = 0.121), with user study (N=41) confirming quality approaching motion capture. Expert evaluation by professional pianists (N=5) identified anticipatory motion as the key remaining gap, providing concrete directions for future improvement.
Figures & tables
| Dataset | Pieces | Notes | Hours | Performer | Annotation | Boundary |
| PIG a | 150 | 100K | — | Expert | Expert | ✗ |
| ThumbSet b | 2.5K | — | — | — | Amateur | ✗ |
| PianoVAM c | 106 | 1.05M | 21 | Amateur | Researcher | ✗ |
| Tipiano | 153 | 340K | 10 | Expert | Expert | ✓ |
| Method | Task Accuracy | Position (mm) | Accel. Ratio ∗ | ||||||||||||||||||
| Prec. | Rec. | F1 | Fingertip | Wrist | Full | Fingertip | Wrist | Full | |||||||||||||
| Left | Right | Both | Left | Right | Both | Left | Right | Both | Left | Right | Both | Left | Right | Both | Left | Right | Both | ||||
| FürElise Dataset | .839 | .670 | .739 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 |
| S2C a | .100 | .163 | .121 | 74.1 | 64.3 | 69.2 | 65.4 | 58.5 | 61.9 | 69.6 | 59.9 | 64.8 | 0.74 | 0.67 | 0.70 | 0.75 | 0.79 | 0.77 | 0.77 | 0.72 | 0.75 |
| RoboPianist b | .996 † | .783 † | .877 † | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
| Tipiano (Stage 1) | .798 | .991 | .882 | 50.0 | 49.7 | 49.8 | — | — | — | — | — | — | 3.06 | 3.45 | 3.79 | — | — | — | — | — | — |
| Configuration | Prec | Recall | F1 | F1 |
| Full (proposed) | 0.847 | 0.988 | 0.912 | — |
| w/o Y-axis masking | 0.846 | 0.909 | 0.876 | 0.036 |
| Raw MIDI features | 0.829 | 0.986 | 0.901 | 0.011 |
| Concat (no FiLM) | 0.838 | 0.987 | 0.907 | 0.005 |
Human Motion Generation
Human motion generation creates articulated movement from language, audio, video, spatial constraints, or interaction goals.
See all 291 papers