MusicXML import — What's the easiest way to delete overfilled portions of measures?

• Nov 1, 2020 - 19:37

I have decades of legacy scores in Encore 5 format. Foruntately I can export to MusicXML (I believe in MusicXML version 1.3)

I get good results opening Encore's exported XML in MuseScore ... with an interesting exception:

When Encore exports a score containing a tablature staff, on importing the XML MuseScore correctly populates each measure on import but also MuseScore appends an amount of rest that overfills every measure.

Looking at the XML I don't see what prompts MuseScore to overfill measures.

That aside ... I'm wondering, What's the simplest way to delete the tail end of overfilled measures? In other words, how can I truncate anything that exceeds a full measure, deleting from right to left (from the "fully filled" point to the end of the bar?)

I constructed a simple test score in Encore that looks like this:

      Encore MusicXML Export with Tablature.png

Here's the exported MusicXML

      Encore XML Export test WITH TAB for MuseScore.xml

I see varying results when importing this MusicXML test into various apps:

  • Overture imports it most accurately, without overfilled measures, with stem directions and beaming preserved (and without a populated tablature staff, because, well, Encore does not encode the tablature, except for the staff itself.)
  • GuitarPro7 imports it without overfilling measures. It doesn't bother to include an unpopulated tablature staff. It beams the last half of Measure 2, ignoring the beam and stem direction.
  • MuseScore imports it but overfills measures with trailing rests and therefore shows a + sign above each treble clef and tablature measure. It beams the last half of Measure 2, rather than showing the unbeamed notes and their stem direction.
  • Dorico imports essentially like MuseScore, but oddly with a second treble staff rather than a tablature staff, and like Overture it gets the beaming and stem direction right,

Interesting ...

Suggestions?

For the record I can delete the tablature staff before export MuseScore does not overfill measures, but I'm sure there are a lot of Encore users looking for a viable tool, now that Encore now amounts to flotsam, jetsam and failed promises. And their path into MuseScore would proceed most smoothly if they don't need to figure out workarounds. On the other hand, if the XML is I can delete the tablature staff before export MuseScore does not overfill measures fatally flawed, that's another matter.

Thanks!

scorester


Comments

I'm hoping Leon will pick up on this post for the MusicXML issues.

As for how to remove additional time: select it (so that the blue rectangle covers it) and press Ctrl/Cmd + Del (or Tools → Remove Selected Range)

In reply to by jeetee

Thanks!

Naturally I selected various rests and tried removing them with Delete/Backspace; I didn't know an industrial strength product (Ctrl/Cmd + Delete) is required to do so!

Additionally I now realize that—after about three months of using MuseScore daily—apparently I've never needed to delete a rest!

I'd like to see a built-in feature—or plug-in—that would scan for overfilled measures and prompt to:
* delete all overfills (without asking)
* traverses the score and selectively deletes the overfill (i.e. stops and asks at each highlighted instance, and if you cancel at that point you can deal with it manually.)

At some point I may get involved with plugins. Does this seem like a beginner's project?

scorster

In reply to by scorster

Yes, this seems like something a plugin can do.

It's not super beginner friendly as I believe you can't directly access the actual and expected duration for a measure. So you'll likely have to look at the currently effective time signature and then evaluate the measure duration.
Following that information, you should be able to set a selection from a plugin and then call the Remove Selected Range command on it.

In reply to by Leon Vinken

Thanks Leon.

There are numerous issues with Encore's MusicXML export. Particularly in the area of Title and Headers. If you're interested I can post some findings on that in a separate thread.

It would be great if Encore users had a functional lifeboat they can use to paddle their scores into MuseScore ... even if MuseScore had to handle a few odd MusicXML encodings unique to Encore.

There are several existing and detailed Encore/MusicXML discussions on the Sonic Scores site.

Here's a post that speaks a bit on the topic of Encore's encoding of Title elements

In reply to by scorster

The file attached here:
- does not contain any TAB data for staff 2 (besides the information that its clef is a TAB clef)
- contains overfilled measures (e.g. measure 1 contains 3 1/8 forwards and 1 whole rest)
- notes 5, 6, 7 and 8 in measure 2 do not have beam information, these are imported as "auto beam" instead of "no beam"
As MuseScore cannot handle measure of different size in the two parts, the MusicXML importer sets measures to the largest size of that measure found in both parts. This explains why measure 1 gets 7/4 instead of 4/4.

I don't know how Encore works WRT XML export but the code suggests it is adding 3 quarter notes to the first bar and 7 eighth notes to the second bar. Seems the only solution (unless Encore has different export options) is to not export the TAB. What happens if you only export the TAB, though? - if it exports (and imports) OK ten you could Copy/Paste to recreate the score.

In reply to by underquark

> the code suggests it is adding 3 quarter notes to the first bar and 7 eighth notes to the second bar.

I think you miscounted. I see 4 and 8 respectively in measures 1 and 2. And indeed that's what MuseScore imports.

> What happens if you only export the TAB?

MuseScore imports a single TAB stuff, unpopulated (without any fret numbers, because Encore fails to export them) and yet the measures are overfilled. I can delete the overfill as jeetee advised, but then I just have a blank score.

In reply to by scorster

Given that all things point towards the tablature staff export being the culprit and it not containing the notes anyway, my advice would be to remove the tablature staff before export.
It is almost trivial in MuseScore to add one after import, be it a linked stave (recommended in this case) or an unlinked one, on which you can then copy and paste from the standard notation staff.

In reply to by jeetee

Of course Encore doesn't actually include the tab symbols in such a case. Rather it uses a placeholder, in comment format, thus:

for each should-be symbol.

It provides after each of these should-be symbols a forward advance directive, thus:

240

This should advance the symbol insertion point by one quarter note's worth of musical time.

Then, after four of these quatrains, there is a whole rest:

960
1

All this seems to add up to eight pounds in a four-pound bag, likely the cause of the odd result when this file is loaded by MuseScore.

In a copy of that file, I extirpated the rests in the tab staff. The resulting file loads into MuseScore and produces a sensible-looking score.

The modified file is attached.

Best regards,

Alan

Attachment Size
Encore_tab-02.xml 9.9 KB

In reply to by Doug Kerr

You mean

<!-- =========== TAB HERE ================== -->
<forward>
<duration>240</duration>
</forward>

and

<measure number="3">
<attributes> </attributes>
<note>
<rest/>
<duration>960</duration>
<staff>1</staff>
</note>
</measure>

(enclosing those in <xml>...</xml>)

In reply to by Jojo-Schmitz

Hi, jojo,

Oh, yes, you said that. Duh!

Lemme try one:

      <midi-instrument id="P1-I1">
        <midi-channel>1</midi-channel>
        <midi-program>74</midi-program>
        <pan>90</pan>
      </midi-instrument>

Ah, works fine.

Thanks so much.

Best regards,

Doug

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