Cluster and Separate: a GNN Approach to Voice and Staff Prediction for Score Engraving

Francesco Foscarin, Emmanouil Karystinaios, Eita Nakamura, Gerhard Widmer
7/15/2024
eess.AScs.AIcs.LG

Official code: CPJKU/piano_svsep (25 stars, MIT, last commit 2026-03-09).

Abstract

This paper approaches the problem of separating the notes from a quantized symbolic music piece (e.g., a MIDI file) into multiple voices and staves. This is a fundamental part of the larger task of music score engraving (or score typesetting), which aims to produce readable musical scores for human performers. We focus on piano music and support homophonic voices, i.e., voices that can contain chords, and cross-staff voices, which are notably difficult tasks that have often been overlooked in previous research. We propose an end-to-end system based on graph neural networks that clusters notes that belong to the same chord and connects them with edges if they are part of a voice. Our results show clear and consistent improvements over a previous approach on two datasets of different styles. To aid the qualitative analysis of our results, we support the export in symbolic music formats and provide a direct visualization of our outputs graph over the musical score. All code and pre-trained models are available at https://github.com/CPJKU/piano_svsep

View on arXivView PDF

Code Implementations(1)

CPJKU/piano_svsepOfficial100%
MIT

Code for the paper Cluster and Separate: A GNN Approach to Voice and Staff Prediction for Score Engraving

251PythonJul 9, 20247 months agoMIT

Similar Papers

Cite this paper

@article{foscarin2024cluster,
  title  = {Cluster and Separate: a GNN Approach to Voice and Staff Prediction for Score Engraving},
  author = {Francesco Foscarin and Emmanouil Karystinaios and Eita Nakamura and Gerhard Widmer},
  year   = {2024},
  eprint = {2407.21030},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2407.21030v1}
}

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/2407.21030.svg)](https://codeofpaper.com/paper/2407.21030)

Discussion