Cannot change voice when moved from another staff

• May 27, 2022 - 18:46

I am trying to clean up a somewhat messy MIDI import. Specifically I moved some notes from treble to bass staff (with Ctrl-Shift-Down). On the treble staff these notes were of voice 2. Voice 1 in bass had two rests of the same duration in the same positions. After the operation I am left with these two unnecessary rests in the bass staff. I am unable to change the voice of my moved notes to 1. The rests cannot be deleted.
When I select one of the moved notes the status bar of the application window would still say it's on staff 1. So does Ctrl-Shift-Down not really move notes to the other staff, but only displays them as such?

notes_wrong_voice.png

A side issue: I am well aware that MIDI lacks the information depth needed to be adequately transformed into music notation. However the situation here seems trivial to me. Why would the import choose treble staff for notes that would easily and more logically fit in the bass? Just curious what the technical issue is here.


Comments

In reply to by fesida2667

Copy & paste is indeed tedious, but someone better than fixing all the problems that attempting to "fake" the proper notation using cross-staff notation would be - you'd have tons of missing or incorrectly calculated rests and far worse to deal with. Realistically, by far the best solutions are to either a) fixing the MIDi file to export the two staves separately, or b) enter the music by hand. Either is likely to be much much much more efficient than any method of attempt to fix a poorly formatted MIDI file within MuseScore - it just wasn't designed for that.

As for why MuseScore picked the defaults it did, there is a bit of AI going on in trying to sort out the most playable notation, taking into account the pitch of the notes, the span of the hand, the presence of other notes. But like most AI algorithms, it is sometimes spectacularly wrong.

In reply to by Marc Sabatella

I am considering to write a plugin to assist me with the cut/paste. Do you know any plugin which I could derive from or use as a reference? The idea would be something like: Given a grand staff, move every note to the "closest" staff. For every note try to reduce the number of voices to a minimum if the rhythmic values allow it. I would ignore playability or hand span at first, deal with it later.

In reply to by fesida2667

If "closest" staff is pitchbased, then you can do the following:

  1. Right-click in a staff, choose "Split staff"
  2. Provide the split point, a new staff will be created
  3. Select the new staff and click the voice 1 button to attempt to move as much as possible into voice 1 already
  4. Implode it with the target staff
  5. Select the resulting staff and again click voice 1
  6. Implode that resulting staff again

Do you still have an unanswered question? Please log in first to post your question.