Search papers, labs, and topics across Lattice.
DuET, a Dual-Encoder Transformer, addresses the challenge of transcribing expressive piano performances to scores by jointly modeling note-level MIDI-to-score transcription and frame-level beat/downbeat tracking. Bidirectional cross-attention between note and frame encoders, coupled with an autoregressive decoder, enables the prediction of structured score attributes by integrating metrical context. This approach significantly reduces transcription errors, achieving a 3.64% MUSTER mean error on the Gangqinpu dataset, outperforming previous state-of-the-art baselines.
Explicitly modeling metrical structure alongside note events halves transcription error in expressive piano performances, bridging the gap between raw audio and symbolic notation.
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.