Skip to main content

merge_overlaps

Function merge_overlaps 

Source
pub fn merge_overlaps(notes: &NoteList) -> NoteList
Expand description

Merges every pair of notes of one key that sound at the same time into one note from the earlier onset to the later offset.

A ghost moved down by check_octaves lands on its true note and disappears into it. The decoder itself never gives two notes of one key that overlap, so a repeat it decodes never merges. The merged note keeps the onset, pitch and octave flag of the note that starts first, and the higher velocity. It has no contour and no overlap flag: PitchTrack::with_contours and NoteList::with_overlaps fill those after the cleanup.