EngravingGNN: A Hybrid Graph Neural Network for End-to-End Piano Score Engraving

Emmanouil Karystinaios, Francesco Foscarin, Gerhard Widmer
9/23/2025
cs.GRcs.AI

No confident code implementation found for this paper.

Abstract

This paper focuses on automatic music engraving, i.e., the creation of a humanly-readable musical score from musical content. This step is fundamental for all applications that include a human player, but it remains a mostly unexplored topic in symbolic music processing. In this work, we formalize the problem as a collection of interdependent subtasks, and propose a unified graph neural network (GNN) framework that targets the case of piano music and quantized symbolic input. Our method employs a multi-task GNN to jointly predict voice connections, staff assignments, pitch spelling, key signature, stem direction, octave shifts, and clef signs. A dedicated postprocessing pipeline generates print-ready MusicXML/MEI outputs. Comprehensive evaluation on two diverse piano corpora (J-Pop and DCML Romantic) demonstrates that our unified model achieves good accuracy across all subtasks, compared to existing systems that only specialize in specific subtasks. These results indicate that a shared GNN encoder with lightweight task-specific decoders in a multi-task setting offers a scalable and effective solution for automatic music engraving.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{karystinaios2025engravinggnn,
  title  = {EngravingGNN: A Hybrid Graph Neural Network for End-to-End Piano Score Engraving},
  author = {Emmanouil Karystinaios and Francesco Foscarin and Gerhard Widmer},
  year   = {2025},
  eprint = {2509.19412},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2509.19412v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2509.19412.svg)](https://codeofpaper.com/paper/2509.19412)

Discussion