DuET: Note-Frame Dual Encoding for Piano Performance-to-Score Transcription
Organizations: Integrative Sciences and Engineering Programme, NUS Graduate School · School of Computing, National University of Singapore
Abstract
Transcribing expressive piano performances into scores requires interpreting individual note timings within an underlying metrical structure. However, score attributes are associated with notes, whereas beats may occur without coincident note onsets. We introduce DuET, a Dual-Encoder Transformer that jointly learns note-level performance MIDI-to-score (PM2S) transcription and frame-level beat and downbeat tracking. Bidirectional cross-attention connects note and frame encoders, while an autoregressive decoder alternates between their representations to predict structured score attributes. We further introduce TimeRoPE and Time-Pitch Rotary Positional Encoding (TPRoPE) to establish a shared performance-time reference and explicitly encode relative temporal and pitch relationships. Evaluations on ASAP, a classical piano dataset, and our curated Gangqinpu dataset, which spans multiple genres with a focus on popular piano music, demonstrate improvements in score timing and notated duration. Compared with the strongest baseline on each dataset, DuET reduces MUSTER mean error from 6.56% to 3.64% on Gangqinpu and from 11.30% to 11.22% on ASAP. Ablations support the benefits of frame-level context, time-based positional encoding, and decoder-history masking. Code, weights, and demos are available at https://github.com/wei-zeng98/DuET.
Figures & tables
| Attribute | Name | Values | Description |
|---|---|---|---|
| Pitch | MIDI pitch copied from the input note | ||
| Bar index | Encoded relative to window anchor | ||
| Onset integer part | Whole quarter-note units from bar start | ||
| Onset fractional part | Fractional quarter-note offset | ||
| Duration | Notated duration; zero denotes a grace note | ||
| Staff | Upper or lower staff, respectively |
| MUSTER [ 31 , 20 ] | ScoreSimilarity [ 32 , 33 ] | |||||||||
| Method | Pitch | Miss | Extra | Onset | Offset | Mean | Miss | Extra | Duration | Staff |
| ASAP | ||||||||||
| MuseScore [ 16 ] | 2.41 | 7.35 | 9.64 | 47.90 | 49.44 | 23.35 | 16.17 | 16.74 | 55.23 | 21.87 |
| HMMs (J-pop) [ 19 ] | 2.09 | 6.38 | 8.67 | 25.02 | 29.21 | 14.27 | 10.80 | 11.39 | 71.38 | – |
| HMMs (classical) [ 19 ] | 2.11 | 6.47 | 8.75 | 22.58 | 29.84 | 13.95 | 10.74 | 11.28 | 64.73 | – |
| Neural beat tracking [ 10 ] | 2.02 | 6.81 | 9.01 | 68.28 | 54.11 | 28.04 | 17.10 | 17.67 | 66.98 | 6.86 |
| MUSTER [ 31 , 20 ] | ScoreSimilarity [ 32 , 33 ] | |||||||||
| Model | Pitch | Miss | Extra | Onset | Offset | Mean | Miss | Extra | Duration | Staff |
| ASAP | ||||||||||
| DuET | 2.25 | 5.95 | 11.10 | 7.66 | 16.42 | 8.68 | 9.28 | 12.69 | 30.58 | 3.99 |
| Note encoder only | 2.35 | 5.94 | 10.94 | 10.85 | 22.42 | 10.50 | 9.71 | 13.11 | 52.23 | 4.74 |
| Index / Alternating † | 2.35 | 6.92 | 12.41 | 8.67 | 19.00 | 9.87 | 10.27 | 13.67 | 36.62 | 4.73 |
| Time / Alternating | 2.84 | 11.41 | 16.95 | 13.21 | 24.00 | 13.68 | 15.88 | 19.28 | 42.98 | 4.93 |
| ASAP | Gangqinpu | |||
| Model | Beat | Downbeat | Beat | Downbeat |
| DuET | 68.01 | 65.55 | 77.34 | 79.94 |
| Frame-only tracker | 61.19 | 55.51 | 78.86 | 81.37 |
| Dual-encoder tracker | 62.89 | 53.97 | 80.24 | 80.73 |
| Index / Alternating † | 62.34 | 61.66 | 70.60 | 73.09 |
| Time / Alternating | 65.73 | 60.45 | 81.24 | 82.50 |
Automatic Music Transcription
Automatic music transcription converts recorded music into symbolic notes, rhythms, instruments, and sometimes readable scores or tablature.
See all 34 papers