  Music is often experienced as a progression of concurrent streams of notes,
or voices. The degree to which this happens depends on the position along a
voice-leading continuum, ranging from monophonic, to homophonic, to polyphonic,
which complicates the design of automatic voice separation models. We address
this continuum by defining voice separation as the task of decomposing music
into streams that exhibit both a high degree of external perceptual separation
from the other streams and a high degree of internal perceptual consistency.
The proposed voice separation task allows for a voice to diverge to multiple
voices and also for multiple voices to converge to the same voice. Equipped
with this flexible task definition, we manually annotated a corpus of popular
music and used it to train neural networks that assign notes to voices either
separately for each note in a chord (note-level), or jointly to all notes in a
chord (chord-level). The trained neural models greedily assign notes to voices
in a left to right traversal of the input chord sequence, using a diverse set
of perceptually informed input features. When evaluated on the extraction of
consecutive within voice note pairs, both models surpass a strong baseline
based on an iterative application of an envelope extraction function, with the
chord-level model consistently edging out the note-level model. The two models
are also shown to outperform previous approaches on separating the voices in
Bach music.
