# Musical Voice Separation as Link Prediction: Modeling a Musical Perception Task as a Multi-Trajectory Tracking Problem

arXiv: https://arxiv.org/abs/2304.14848 · HTML: https://mlsanity.com/paper/2304.14848/

## Key facts

- Cited by 5 papers in the map (data through 14 Oct 2026).
- Builds on 9 of its 47 references that are in the map.
- First posted on arXiv 28 Apr 2023.

## Builds on (most cited first, 9 of 9)

- [Modeling Relational Data with Graph Convolutional Networks](https://mlsanity.com/paper/1703.06103/) (2017)
- [Representation Learning on Graphs with Jumping Knowledge Networks](https://mlsanity.com/paper/1806.03536/) (2018)
- [Benchmarking Graph Neural Networks](https://mlsanity.com/paper/2003.00982/) (2020)
- [Representation Learning on Graphs: Methods and Applications](https://mlsanity.com/paper/1709.05584/) (2017)
- [Learning a Neural Solver for Multiple Object Tracking](https://mlsanity.com/paper/1912.07515/) (2019)
- [Partitura: A Python Package for Symbolic Music Processing](https://mlsanity.com/paper/2206.01071/) (2022)
- [Cadence Detection in Symbolic Classical Music using Graph Neural Networks](https://mlsanity.com/paper/2208.14819/) (2022)
- [GLAN: A Graph-based Linear Assignment Network](https://mlsanity.com/paper/2201.02057/) (2022)
- [The match file format: Encoding Alignments between Scores and Performances](https://mlsanity.com/paper/2206.01104/) (2022)

## Built on by (most cited first, 5 of 5)

- [Roman Numeral Analysis with Graph Neural Networks: Onset-wise Predictions from Note-wise Features](https://mlsanity.com/paper/2307.03544/) (2023)
- [GraphMuse: A Library for Symbolic Music Graph Processing](https://mlsanity.com/paper/2407.12671/) (2024)
- [Perception-Inspired Graph Convolution for Music Understanding Tasks](https://mlsanity.com/paper/2405.09224/) (2024)
- [Cluster and Separate: a GNN Approach to Voice and Staff Prediction for Score Engraving](https://mlsanity.com/paper/2407.21030/) (2024)
- [CompLex: Music Theory Lexicon Constructed by Autonomous Agents for Automatic Music Generation](https://mlsanity.com/paper/2508.19603/) (2025)

## Abstract (arXiv)

This paper targets the perceptual task of separating the different interacting voices, i.e., monophonic melodic streams, in a polyphonic musical piece. We target symbolic music, where notes are explicitly encoded, and model this task as a Multi-Trajectory Tracking (MTT) problem from discrete observations, i.e., notes in a pitch-time space. Our approach builds a graph from a musical piece, by creating one node for every note, and separates the melodic trajectories by predicting a link between two notes if they are consecutive in the same voice/stream. This kind of local, greedy prediction is made possible by node embeddings created by a heterogeneous graph neural network that can capture inter- and intra-trajectory information. Furthermore, we propose a new regularization loss that encourages the output to respect the MTT premise of at most one incoming and one outgoing link for every node, favouring monophonic (voice) trajectories; this loss function might also be useful in other general MTT scenarios. Our approach does not use domain-specific heuristics, is scalable to longer sequences and a higher number of voices, and can handle complex cases such as voice inversions and overlaps. We reach new state-of-the-art results for the voice separation task in classical music of different styles.
