rism-digital / verovio

šŸŽµ Music notation engraving library for MEI with MusicXML and Humdrum support and various toolkits (JavaScript, Python)
https://www.verovio.org
GNU Lesser General Public License v3.0
660 stars 181 forks source link

mrest enhancement in MusicXML-to-MEI converter #1568

Open craigsapp opened 4 years ago

craigsapp commented 4 years ago

In the following example MusicXML file, there are two main problems related to the whole-measure rest and to inferred tuplet spaces. In this issue I will discuss the whole-measure rest, and I will add another for the implicit <space>s that are needed in the last measure.

Intended rendering (in Sibelius):

Screen Shot 2020-07-21 at 9 39 21 PM

Actual rendering after import of MusicXML into verovio:

Screen Shot 2020-07-21 at 9 44 59 PM

The whole-measure rest in the first measure of the top staff of the piano part is being converted into a whole-measure rest, but with an explicit duration of a whole note rather than the duration of the 2/8 meter, which means the duration of the rest should be a quarter note rather than a whole note.

In the MusicXML file, there are 256 ticks per quarter note:

    <divisions>256</divisions>

The problem whole-measure rest:

   <note default-x="118">
    <rest />
    <duration>256</duration>
    <instrument id="P2-I1" />
    <voice>1</voice>
    <type>whole</type>
    <staff>1</staff>
   </note>

Notice that the <type> is whole, but the <duration> is 256, which is equivalent to a quarter note. In the MusicXML-to-MEI conversion:

            <rest xml:id="rest-0000001621851033" dur.ppq="256" dur="1" />

@dur is set to "1" (a whole note duration). This is incorrect since the meter is 2/8, so the duration of the rest should be a quarter note. When converting @dur to "4", the rhythm becomes correct, and there is no gap at the end of the first measure:

Screen Shot 2020-07-21 at 10 02 30 PM

Of course, this rest should be encoded as an <mRest> since the duration of the measure matches the time signature:

            <mRest xml:id="rest-0000001621851033" />

Using this gives the correct display for that measure in verovio:

Screen Shot 2020-07-21 at 10 08 11 PM

for 4/4, 2/2, 1/1, 8/8 meters, it may be difficult to identify an mRest since the duration is the same as a whole note, but in MusicXML, it should be easy to detect such cases as in this example by comparing the <type> to the <duration>. In this case the type is whole, which has an expected duration of 1024. But since it is instead 256, that is one clue that this is an mRest rather than a rest. In addition the duration of the meter is one quarter note or 256 divisions, which reinforces that this is an mRest rather than a rest.


I will also point out a conceptual error in the MusicXML importer as well as the Sibelius MuisicXML export: The <duration> element of <note>s in MusicXML maps exactly to note@dur.ges in MEI (plus note@dots.ges and also incorporates tuplet@num and tuplet@numbase). There is absolutely no difference between them other than that MusicXML version includes the tuplet ratio in . It is conceptually incorrect to map MusicXML note/duration to note@dur.ppq; however, Sibelius MusicXML has the same conceptual error as can be noted by the power-of-two value that is always generated for <divisions> in the MusicXML file (causing any tuplets to be approximately represented in <duration>.

A problem with mapping <duration> to note@ppq is that this implies that the performance duration of the MIDI note is that value, but rather the value in the MusicXML file is the time from the start of that note to the start of the next note (this is called the inter-onset interval (IOI) in cognitive psychology). So <duration> in MusicXML is actually an IOI rather than a duration. This is also true for note@dur in MEI. In MIDI, the PPQ is typically a physical performance time, and so mapping to note@ppq is implying that that <duration> is not an IOI but rather a performance time, which is incorrect. Consider a note with a staccato articulation: the note@dur of the note remains the same, but when mapping to MIDI, there is no articulation parameter, and instead the duration of the note is shortened, so if this note/rest were staccato, I would expected note@ppq to be 1/2 of the IOI duration in note@dur.

MusicXML derives the divisions/duration/type system from Musedata, where it also maps exactly to MEI @dur/@dur.ges system: Both the duration and type is always required in Musedata, as it is in MusicXML, while in MEI @dur.ges is only given when it disagrees with @dur. Musedata and Musicxml use different units for @dur/@dur.ges, while MEI uses the same units (making it clearer that they are closely related to each other). When there is a difference between the visual duration of the note and the alignment duration they will be different in a manner similar to MEI @dur and @dur.ges. This system was specifically to encode echoes of mensural notation in the music of J.S. Bach. I will also point out that this is also analogous to the rhythm-encoding system in SCORE, where P7 of note gives the "duration" of the note for alignment purposes, and P6 (notehead shape)/P9 (flags/augmentation dots) give the visual appearance of the note.

Here is the documentation for <divisions> in MusicXML

https://usermanuals.musicxml.com/MusicXML/Content/EL-MusicXML-divisions.htm

Musical notation duration is commonly represented as fractions. The divisions element indicates how many divisions per quarter note are used to indicate a note's duration. For example, if duration = 1 and divisions = 2, this is an eighth note duration. Duration and divisions are used directly for generating sound output, so they must be chosen to take tuplets into account. Using a divisions element lets us use just one number to represent a duration for each note in the score, while retaining the full power of a fractional representation. If maximum compatibility with Standard MIDI 1.0 files is important, do not have the divisions value exceed 16383.

The emphasis is mine. Note that the MusicXML export from Sibelius does not take tuplets into account, since divisions of 256 per quarter note is 2*2*2*2*2*2*2 with no factors of 3 to deal with integer divisions of the triplets encoded in this example. There is also some conceptual mixing of "musical notation duration" and "performance duration" since MIDI files can represent both or a mixture of the two, but when discussion "fractions" it is clear that these values are not intended to be used for performance durations but rather printed music proportional notation durations.

Documentation for duration element:

https://usermanuals.musicxml.com/MusicXML/Content/EL-MusicXML-duration.htm

Duration is a positive number specified in division units. This is the intended duration vs. notated duration (for instance, swing eighths vs. even eighths, or differences in dotted notes in Baroque-era music). Differences in duration specific to an interpretation or performance should use the note element's attack and release attributes.

There is also a bit of conceptual mixing of performance and notation, but this also relates to IOI duration rather than sounding duration.

craigsapp commented 4 years ago

MusicXML data for example:

<?xml version="1.0" encoding='UTF-8' standalone='no' ?>
<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 3.0 Partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="3.0">
 <identification>
  <encoding>
   <encoding-date>2020-06-08</encoding-date>
   <software>Sibelius 20.3.0</software>
   <software>Direct export, not from Dolet</software>
   <encoding-description>Sibelius / MusicXML 3.0</encoding-description>
   <supports element="print" type="yes" value="yes" attribute="new-system" />
   <supports element="print" type="yes" value="yes" attribute="new-page" />
   <supports element="accidental" type="yes" />
   <supports element="beam" type="yes" />
   <supports element="stem" type="yes" />
  </encoding>
 </identification>
 <defaults>
  <scaling>
   <millimeters>215.9</millimeters>
   <tenths>1570</tenths>
  </scaling>
  <page-layout>
   <page-height>2031</page-height>
   <page-width>1570</page-width>
   <page-margins type="both">
    <left-margin>109</left-margin>
    <right-margin>109</right-margin>
    <top-margin>109</top-margin>
    <bottom-margin>109</bottom-margin>
   </page-margins>
  </page-layout>
  <system-layout>
   <system-margins>
    <left-margin>68</left-margin>
    <right-margin>0</right-margin>
   </system-margins>
   <system-distance>55</system-distance>
  </system-layout>
  <music-font font-family="Opus Std" font-size="15.5906" />
  <word-font font-family="Didot" font-size="9.3787" />
  <lyric-font font-family="Didot" font-size="9.0133" />
  <lyric-language xml:lang="en" />
 </defaults>
 <part-list>
  <score-part id="P1">
   <part-name>Violoncello</part-name>
   <part-name-display>
    <display-text>Violoncello</display-text>
   </part-name-display>
   <part-abbreviation>Vc.</part-abbreviation>
   <part-abbreviation-display>
    <display-text>Vc.</display-text>
   </part-abbreviation-display>
   <score-instrument id="P1-I1">
    <instrument-name>Violoncello (2)</instrument-name>
    <instrument-sound>strings.cello</instrument-sound>
    <ensemble />
    <virtual-instrument>
     <virtual-library>General MIDI</virtual-library>
     <virtual-name>Cello ensemble</virtual-name>
    </virtual-instrument>
   </score-instrument>
  </score-part>
  <part-group type="start" number="1">
   <group-symbol>brace</group-symbol>
  </part-group>
  <score-part id="P2">
   <identification>
    <miscellaneous>
     <miscellaneous-field name="show-rhythms">false</miscellaneous-field>
    </miscellaneous>
   </identification>
   <part-name>Piano</part-name>
   <part-name-display>
    <display-text>Piano</display-text>
   </part-name-display>
   <part-abbreviation>Pno.</part-abbreviation>
   <part-abbreviation-display>
    <display-text>Pno.</display-text>
   </part-abbreviation-display>
   <score-instrument id="P2-I1">
    <instrument-name>Piano (2)</instrument-name>
    <instrument-sound>keyboard.piano.grand</instrument-sound>
    <solo />
    <virtual-instrument>
     <virtual-library>General MIDI</virtual-library>
     <virtual-name>Acoustic Piano</virtual-name>
    </virtual-instrument>
   </score-instrument>
  </score-part>
  <part-group type="stop" number="1" />
 </part-list>
 <part id="P1">
  <!--============== Part: P1, Measure: 124 ==============-->
  <measure number="124" width="316">
   <print new-page="yes">
    <system-layout>
     <system-margins>
      <left-margin>145</left-margin>
      <right-margin>0</right-margin>
     </system-margins>
     <top-system-distance>277</top-system-distance>
    </system-layout>
   </print>
   <attributes>
    <divisions>256</divisions>
    <key color="#000000">
     <fifths>3</fifths>
     <mode>major</mode>
    </key>
    <time color="#000000">
     <beats>2</beats>
     <beat-type>8</beat-type>
    </time>
    <staves>1</staves>
    <clef number="1" color="#000000">
     <sign>F</sign>
     <line>4</line>
    </clef>
    <staff-details number="1" print-object="yes" />
   </attributes>
   <direction>
    <direction-type>
     <words default-x="112" default-y="-85" justify="left" valign="middle" font-family="Opus Text Std" font-style="normal" font-size="9.3787" font-weight="normal">[mf </words>
     <words justify="left" valign="middle" font-family="Didot" font-style="italic" font-size="9.3787" font-weight="normal">cresc.</words>
     <words justify="left" valign="middle" font-family="Opus Text Std" font-style="normal" font-size="9.3787" font-weight="normal">]</words>
    </direction-type>
    <voice>1</voice>
    <staff>1</staff>
   </direction>
   <direction>
    <direction-type>
     <metronome default-y="52" color="#000000" font-family="Opus Text Std" font-style="normal" font-size="9.3787" font-weight="normal">
      <beat-unit>eighth</beat-unit>
      <per-minute>84</per-minute>
     </metronome>
    </direction-type>
    <voice>1</voice>
    <staff>1</staff>
   </direction>
   <note default-x="118">
    <rest />
    <duration>42</duration>
    <instrument id="P1-I1" />
    <voice>1</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <staff>1</staff>
    <notations>
     <tuplet type="start" bracket="yes" number="1" default-y="17" placement="above" />
    </notations>
   </note>
   <direction>
    <direction-type>
     <wedge default-x="11" default-y="-65" color="#000000" type="crescendo" />
    </direction-type>
    <voice>1</voice>
    <staff>1</staff>
   </direction>
   <note color="#000000" default-x="155" default-y="14">
    <pitch>
     <step>B</step>
     <octave>2</octave>
    </pitch>
    <duration>43</duration>
    <instrument id="P1-I1" />
    <voice>1</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <stem>up</stem>
    <staff>1</staff>
    <beam number="1">begin</beam>
    <beam number="2">begin</beam>
    <notations>
     <slur color="#000000" type="start" orientation="under" />
     <articulations>
      <staccato />
     </articulations>
    </notations>
   </note>
   <note color="#000000" default-x="187" default-y="14">
    <pitch>
     <step>B</step>
     <octave>2</octave>
    </pitch>
    <duration>43</duration>
    <instrument id="P1-I1" />
    <voice>1</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <stem>up</stem>
    <staff>1</staff>
    <beam number="1">end</beam>
    <beam number="2">end</beam>
    <notations>
     <tuplet type="stop" bracket="yes" number="1" default-y="17" placement="above" />
     <articulations>
      <staccato />
     </articulations>
    </notations>
   </note>
   <note color="#000000" default-x="187">
    <chord />
    <pitch>
     <step>E</step>
     <octave>3</octave>
    </pitch>
    <duration>64</duration>
    <instrument id="P1-I1" />
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <staff>1</staff>
    <notations>
     <tuplet type="stop" bracket="yes" number="1" default-y="17" placement="above" />
    </notations>
   </note>
   <note color="#000000" default-x="219" default-y="17">
    <pitch>
     <step>B</step>
     <octave>2</octave>
    </pitch>
    <duration>42</duration>
    <instrument id="P1-I1" />
    <voice>1</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <stem>up</stem>
    <staff>1</staff>
    <beam number="1">begin</beam>
    <beam number="2">begin</beam>
    <notations>
     <tuplet type="start" bracket="yes" number="1" default-y="-20" placement="below" />
     <articulations>
      <staccato />
     </articulations>
    </notations>
   </note>
   <note color="#000000" default-x="219">
    <chord />
    <pitch>
     <step>E</step>
     <octave>3</octave>
    </pitch>
    <duration>64</duration>
    <instrument id="P1-I1" />
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <staff>1</staff>
    <notations>
     <tuplet type="start" bracket="yes" number="1" default-y="-20" placement="below" />
    </notations>
   </note>
   <direction>
    <direction-type>
     <words default-x="235" default-y="-76" justify="left" valign="middle" font-family="Didot" font-style="italic" font-size="9.3787" font-weight="normal">espress.</words>
    </direction-type>
    <voice>1</voice>
    <staff>1</staff>
   </direction>
   <direction>
    <direction-type>
     <wedge default-x="-8" default-y="-65" color="#C8000B" type="stop" />
    </direction-type>
    <offset sound="no">-1</offset>
    <voice>1</voice>
    <staff>1</staff>
   </direction>
   <note color="#000000" default-x="250" default-y="17">
    <pitch>
     <step>B</step>
     <octave>2</octave>
    </pitch>
    <duration>43</duration>
    <instrument id="P1-I1" />
    <voice>1</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <stem>up</stem>
    <staff>1</staff>
    <beam number="1">end</beam>
    <beam number="2">end</beam>
    <notations>
     <articulations>
      <staccato />
     </articulations>
    </notations>
   </note>
   <note color="#000000" default-x="250">
    <chord />
    <pitch>
     <step>E</step>
     <octave>3</octave>
    </pitch>
    <duration>64</duration>
    <instrument id="P1-I1" />
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <staff>1</staff>
    <notations>
     <slur color="#000000" type="stop" orientation="under" />
    </notations>
   </note>
   <note color="#000000" default-x="284" default-y="-20">
    <pitch>
     <step>G</step>
     <octave>4</octave>
    </pitch>
    <duration>43</duration>
    <instrument id="P1-I1" />
    <voice>1</voice>
    <type>16th</type>
    <accidental>natural</accidental>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <stem>down</stem>
    <staff>1</staff>
    <notations>
     <tuplet type="stop" bracket="yes" number="1" default-y="-20" placement="below" />
    </notations>
   </note>
  </measure>
  <!--============== Part: P1, Measure: 125 ==============-->
  <measure number="125" width="339">
   <direction>
    <direction-type>
     <dynamics default-x="10" default-y="-91" color="#000000" font-family="Opus Text Std" font-style="normal" font-size="9.3787" font-weight="normal">
      <f />
     </dynamics>
    </direction-type>
    <voice>1</voice>
    <staff>1</staff>
   </direction>
   <direction>
    <direction-type>
     <words default-x="84" default-y="-61" justify="left" valign="middle" font-family="Didot" font-style="italic" font-size="9.3787" font-weight="normal">cresc.</words>
    </direction-type>
    <offset sound="no">32</offset>
    <voice>1</voice>
    <staff>1</staff>
   </direction>
   <note color="#000000" default-x="15" default-y="-29">
    <pitch>
     <step>A</step>
     <octave>4</octave>
    </pitch>
    <duration>64</duration>
    <instrument id="P1-I1" />
    <voice>1</voice>
    <type>16th</type>
    <stem>down</stem>
    <staff>1</staff>
    <beam number="1">begin</beam>
    <beam number="2">begin</beam>
    <notations>
     <slur color="#000000" type="start" orientation="over" />
    </notations>
   </note>
   <note color="#000000" default-x="130" default-y="-29">
    <pitch>
     <step>G</step>
     <octave>4</octave>
    </pitch>
    <duration>64</duration>
    <instrument id="P1-I1" />
    <voice>1</voice>
    <type>16th</type>
    <accidental>natural</accidental>
    <stem>down</stem>
    <staff>1</staff>
    <beam number="1">continue</beam>
    <beam number="2">continue</beam>
   </note>
   <note color="#000000" default-x="244" default-y="-29">
    <pitch>
     <step>F</step>
     <alter>1</alter>
     <octave>4</octave>
    </pitch>
    <duration>64</duration>
    <instrument id="P1-I1" />
    <voice>1</voice>
    <type>16th</type>
    <accidental>sharp</accidental>
    <stem>down</stem>
    <staff>1</staff>
    <beam number="1">continue</beam>
    <beam number="2">continue</beam>
   </note>
   <note color="#000000" default-x="292" default-y="-29">
    <pitch>
     <step>B</step>
     <octave>3</octave>
    </pitch>
    <duration>64</duration>
    <instrument id="P1-I1" />
    <voice>1</voice>
    <type>16th</type>
    <stem>down</stem>
    <staff>1</staff>
    <beam number="1">end</beam>
    <beam number="2">end</beam>
    <notations>
     <slur color="#000000" type="stop" orientation="over" />
    </notations>
   </note>
  </measure>
  <!--============== Part: P1, Measure: 126 ==============-->
  <measure number="126" width="211">
   <note color="#000000" default-x="15" default-y="-22">
    <pitch>
     <step>E</step>
     <octave>4</octave>
    </pitch>
    <duration>192</duration>
    <instrument id="P1-I1" />
    <voice>1</voice>
    <type>eighth</type>
    <dot />
    <stem>down</stem>
    <staff>1</staff>
    <beam number="1">begin</beam>
    <notations>
     <slur color="#000000" type="start" orientation="over" />
    </notations>
   </note>
   <note color="#000000" default-x="159" default-y="-22">
    <pitch>
     <step>G</step>
     <octave>4</octave>
    </pitch>
    <duration>64</duration>
    <instrument id="P1-I1" />
    <voice>1</voice>
    <type>16th</type>
    <accidental>natural</accidental>
    <stem>down</stem>
    <staff>1</staff>
    <beam number="1">end</beam>
    <beam number="2">backward hook</beam>
    <notations>
     <slur color="#000000" type="stop" orientation="over" />
    </notations>
   </note>
  </measure>
 </part>
 <part id="P2">
  <!--============== Part: P2, Measure: 124 ==============-->
  <measure number="124" width="316">
   <print new-page="yes">
    <system-layout>
     <system-margins>
      <left-margin>145</left-margin>
      <right-margin>0</right-margin>
     </system-margins>
    </system-layout>
    <staff-layout number="2">
     <staff-distance>104</staff-distance>
    </staff-layout>
   </print>
   <attributes>
    <divisions>256</divisions>
    <key color="#000000">
     <fifths>3</fifths>
     <mode>major</mode>
    </key>
    <time color="#000000">
     <beats>2</beats>
     <beat-type>8</beat-type>
    </time>
    <staves>2</staves>
    <clef number="1" color="#000000">
     <sign>G</sign>
     <line>2</line>
    </clef>
    <clef number="2" color="#000000">
     <sign>F</sign>
     <line>4</line>
    </clef>
    <staff-details number="1" print-object="yes" />
    <staff-details number="2" print-object="yes" />
   </attributes>
   <direction>
    <direction-type>
     <words default-x="112" default-y="-70" justify="left" valign="middle" font-family="Opus Text Std" font-style="normal" font-size="9.3787" font-weight="normal">[f]</words>
    </direction-type>
    <voice>1</voice>
    <staff>1</staff>
   </direction>
   <direction>
    <direction-type>
     <dynamics default-x="290" default-y="-82" color="#000000" font-family="Opus Text Std" font-style="normal" font-size="9.3787" font-weight="normal">
      <f />
     </dynamics>
    </direction-type>
    <offset sound="no">213</offset>
    <voice>1</voice>
    <staff>1</staff>
   </direction>
   <note default-x="118">
    <rest />
    <duration>256</duration>
    <instrument id="P2-I1" />
    <voice>1</voice>
    <type>whole</type>
    <staff>1</staff>
   </note>
   <backup>
    <duration>256</duration>
   </backup>
   <note color="#000000" default-x="118" default-y="32">
    <pitch>
     <step>G</step>
     <octave>3</octave>
    </pitch>
    <duration>192</duration>
    <instrument id="P2-I1" />
    <voice>2</voice>
    <type>eighth</type>
    <dot />
    <accidental>natural</accidental>
    <stem>up</stem>
    <staff>2</staff>
    <beam number="1">begin</beam>
    <notations>
     <slur color="#000000" type="start" orientation="under" number="2" />
    </notations>
   </note>
   <note color="#000000" default-x="267" default-y="32">
    <pitch>
     <step>B</step>
     <octave>3</octave>
    </pitch>
    <duration>64</duration>
    <instrument id="P2-I1" />
    <voice>2</voice>
    <type>16th</type>
    <stem>up</stem>
    <staff>2</staff>
    <beam number="1">end</beam>
    <beam number="2">backward hook</beam>
   </note>
   <backup>
    <duration>256</duration>
   </backup>
   <note color="#000000" default-x="118" default-y="-85">
    <pitch>
     <step>E</step>
     <octave>2</octave>
    </pitch>
    <duration>42</duration>
    <instrument id="P2-I1" />
    <voice>3</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <stem>down</stem>
    <staff>2</staff>
    <notations>
     <tuplet type="start" bracket="yes" number="1" default-y="-100" placement="below" />
    </notations>
   </note>
   <note color="#000000" default-x="155" default-y="-49">
    <pitch>
     <step>E</step>
     <octave>3</octave>
    </pitch>
    <duration>43</duration>
    <instrument id="P2-I1" />
    <voice>3</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <stem>down</stem>
    <staff>2</staff>
    <beam number="1">begin</beam>
    <beam number="2">begin</beam>
   </note>
   <note color="#000000" default-x="187" default-y="-49">
    <pitch>
     <step>E</step>
     <octave>3</octave>
    </pitch>
    <duration>43</duration>
    <instrument id="P2-I1" />
    <voice>3</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <stem>down</stem>
    <staff>2</staff>
    <beam number="1">end</beam>
    <beam number="2">end</beam>
    <notations>
     <tuplet type="stop" bracket="yes" number="1" default-y="-100" placement="below" />
    </notations>
   </note>
   <note color="#000000" default-x="187">
    <chord />
    <pitch>
     <step>G</step>
     <alter>1</alter>
     <octave>3</octave>
    </pitch>
    <duration>64</duration>
    <instrument id="P2-I1" />
    <type>16th</type>
    <accidental>sharp</accidental>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <staff>2</staff>
    <notations>
     <tuplet type="stop" bracket="yes" number="1" default-y="-100" placement="below" />
    </notations>
   </note>
   <note default-x="219">
    <rest />
    <duration>128</duration>
    <instrument id="P2-I1" />
    <voice>3</voice>
    <type>eighth</type>
    <staff>2</staff>
   </note>
  </measure>
  <!--============== Part: P2, Measure: 125 ==============-->
  <measure number="125" width="339">
   <attributes />
   <note color="#000000" default-x="15" default-y="-79">
    <pitch>
     <step>F</step>
     <alter>1</alter>
     <octave>5</octave>
    </pitch>
    <duration>16</duration>
    <instrument id="P2-I1" />
    <voice>1</voice>
    <type>64th</type>
    <accidental>sharp</accidental>
    <stem>down</stem>
    <staff>1</staff>
    <beam number="1">begin</beam>
    <beam number="2">begin</beam>
    <beam number="3">begin</beam>
    <beam number="4">begin</beam>
    <notations>
     <slur color="#000000" type="start" orientation="over" />
    </notations>
   </note>
   <note color="#000000" default-x="44" default-y="-79">
    <pitch>
     <step>E</step>
     <octave>5</octave>
    </pitch>
    <duration>16</duration>
    <instrument id="P2-I1" />
    <voice>1</voice>
    <type>64th</type>
    <stem>down</stem>
    <staff>1</staff>
    <beam number="1">continue</beam>
    <beam number="2">continue</beam>
    <beam number="3">continue</beam>
    <beam number="4">continue</beam>
   </note>
   <note color="#000000" default-x="72" default-y="-79">
    <pitch>
     <step>B</step>
     <octave>4</octave>
    </pitch>
    <duration>16</duration>
    <instrument id="P2-I1" />
    <voice>1</voice>
    <type>64th</type>
    <stem>down</stem>
    <staff>1</staff>
    <beam number="1">continue</beam>
    <beam number="2">continue</beam>
    <beam number="3">continue</beam>
    <beam number="4">continue</beam>
   </note>
   <note color="#000000" default-x="101" default-y="-79">
    <pitch>
     <step>G</step>
     <octave>4</octave>
    </pitch>
    <duration>16</duration>
    <instrument id="P2-I1" />
    <voice>1</voice>
    <type>64th</type>
    <accidental>natural</accidental>
    <stem>down</stem>
    <staff>1</staff>
    <beam number="1">continue</beam>
    <beam number="2">end</beam>
    <beam number="3">end</beam>
    <beam number="4">end</beam>
   </note>
   <note color="#000000" default-x="130" default-y="-79">
    <pitch>
     <step>C</step>
     <alter>1</alter>
     <octave>5</octave>
    </pitch>
    <duration>16</duration>
    <instrument id="P2-I1" />
    <voice>1</voice>
    <type>64th</type>
    <accidental>sharp</accidental>
    <stem>down</stem>
    <staff>1</staff>
    <beam number="1">continue</beam>
    <beam number="2">begin</beam>
    <beam number="3">begin</beam>
    <beam number="4">begin</beam>
   </note>
   <note color="#000000" default-x="158" default-y="-79">
    <pitch>
     <step>B</step>
     <octave>4</octave>
    </pitch>
    <duration>16</duration>
    <instrument id="P2-I1" />
    <voice>1</voice>
    <type>64th</type>
    <stem>down</stem>
    <staff>1</staff>
    <beam number="1">continue</beam>
    <beam number="2">continue</beam>
    <beam number="3">continue</beam>
    <beam number="4">continue</beam>
   </note>
   <note color="#000000" default-x="186" default-y="-79">
    <pitch>
     <step>G</step>
     <octave>4</octave>
    </pitch>
    <duration>16</duration>
    <instrument id="P2-I1" />
    <voice>1</voice>
    <type>64th</type>
    <stem>down</stem>
    <staff>1</staff>
    <beam number="1">continue</beam>
    <beam number="2">continue</beam>
    <beam number="3">continue</beam>
    <beam number="4">continue</beam>
   </note>
   <note color="#000000" default-x="215" default-y="-79">
    <pitch>
     <step>E</step>
     <octave>4</octave>
    </pitch>
    <duration>16</duration>
    <instrument id="P2-I1" />
    <voice>1</voice>
    <type>64th</type>
    <stem>down</stem>
    <staff>1</staff>
    <beam number="1">end</beam>
    <beam number="2">end</beam>
    <beam number="3">end</beam>
    <beam number="4">end</beam>
    <notations>
     <slur color="#000000" type="stop" orientation="over" />
    </notations>
   </note>
   <note default-x="244">
    <rest />
    <duration>128</duration>
    <instrument id="P2-I1" />
    <voice>1</voice>
    <type>eighth</type>
    <staff>1</staff>
   </note>
   <backup>
    <duration>256</duration>
   </backup>
   <direction>
    <direction-type>
     <pedal default-y="-84" type="start" line="no" />
    </direction-type>
    <voice>2</voice>
    <staff>2</staff>
   </direction>
   <note color="#000000" default-x="15" default-y="-15">
    <pitch>
     <step>E</step>
     <octave>2</octave>
    </pitch>
    <duration>42</duration>
    <instrument id="P2-I1" />
    <voice>2</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <stem>up</stem>
    <staff>2</staff>
    <notations>
     <tuplet type="start" bracket="yes" number="1" default-y="12" placement="above" />
    </notations>
   </note>
   <note color="#000000" default-x="90" default-y="-49">
    <pitch>
     <step>E</step>
     <octave>3</octave>
    </pitch>
    <duration>43</duration>
    <instrument id="P2-I1" />
    <voice>2</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <stem>down</stem>
    <staff>2</staff>
    <beam number="1">begin</beam>
    <beam number="2">begin</beam>
    <notations>
     <articulations>
      <staccato />
     </articulations>
    </notations>
   </note>
   <note color="#000000" default-x="167" default-y="-49">
    <pitch>
     <step>E</step>
     <octave>3</octave>
    </pitch>
    <duration>43</duration>
    <instrument id="P2-I1" />
    <voice>2</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <stem>down</stem>
    <staff>2</staff>
    <beam number="1">end</beam>
    <beam number="2">end</beam>
    <notations>
     <tuplet type="stop" bracket="yes" number="1" default-y="12" placement="above" />
     <articulations>
      <staccato />
     </articulations>
    </notations>
   </note>
   <note color="#000000" default-x="167">
    <chord />
    <pitch>
     <step>G</step>
     <octave>3</octave>
    </pitch>
    <duration>64</duration>
    <instrument id="P2-I1" />
    <type>16th</type>
    <accidental>natural</accidental>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <staff>2</staff>
    <notations>
     <tuplet type="stop" bracket="yes" number="1" default-y="12" placement="above" />
    </notations>
   </note>
   <note color="#000000" default-x="244" default-y="5">
    <pitch>
     <step>B</step>
     <octave>2</octave>
    </pitch>
    <duration>42</duration>
    <instrument id="P2-I1" />
    <voice>2</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <stem>up</stem>
    <staff>2</staff>
    <notations>
     <tuplet type="start" bracket="yes" number="1" default-y="15" placement="above" />
    </notations>
   </note>
   <note color="#000000" default-x="275" default-y="-49">
    <pitch>
     <step>E</step>
     <octave>3</octave>
    </pitch>
    <duration>43</duration>
    <instrument id="P2-I1" />
    <voice>2</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <stem>down</stem>
    <staff>2</staff>
    <beam number="1">begin</beam>
    <beam number="2">begin</beam>
    <notations>
     <articulations>
      <staccato />
     </articulations>
    </notations>
   </note>
   <note color="#000000" default-x="307" default-y="-49">
    <pitch>
     <step>E</step>
     <octave>3</octave>
    </pitch>
    <duration>43</duration>
    <instrument id="P2-I1" />
    <voice>2</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <stem>down</stem>
    <staff>2</staff>
    <beam number="1">end</beam>
    <beam number="2">end</beam>
    <notations>
     <tuplet type="stop" bracket="yes" number="1" default-y="15" placement="above" />
     <articulations>
      <staccato />
     </articulations>
    </notations>
   </note>
   <note color="#000000" default-x="307">
    <chord />
    <pitch>
     <step>G</step>
     <octave>3</octave>
    </pitch>
    <duration>64</duration>
    <instrument id="P2-I1" />
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <staff>2</staff>
    <notations>
     <tuplet type="stop" bracket="yes" number="1" default-y="15" placement="above" />
    </notations>
   </note>
   <backup>
    <duration>256</duration>
   </backup>
   <note print-object="no" default-x="15">
    <rest />
    <duration>128</duration>
    <instrument id="P2-I1" />
    <voice>3</voice>
    <type>eighth</type>
    <staff>2</staff>
   </note>
   <note color="#000000" default-x="244" default-y="-60">
    <pitch>
     <step>B</step>
     <octave>2</octave>
    </pitch>
    <duration>42</duration>
    <instrument id="P2-I1" />
    <voice>3</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <stem>down</stem>
    <staff>2</staff>
    <notations>
     <tuplet type="start" bracket="yes" number="1" default-y="-72" placement="below" />
    </notations>
   </note>
   <note print-object="no" default-x="275">
    <rest />
    <duration>43</duration>
    <instrument id="P2-I1" />
    <voice>3</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <staff>2</staff>
   </note>
   <note print-object="no" default-x="307">
    <rest />
    <duration>43</duration>
    <instrument id="P2-I1" />
    <voice>3</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <staff>2</staff>
    <notations>
     <tuplet type="stop" bracket="yes" number="1" default-y="-72" placement="below" />
    </notations>
   </note>
  </measure>
  <!--============== Part: P2, Measure: 126 ==============-->
  <measure number="126" width="211">
   <attributes />
   <note default-x="15">
    <rest />
    <duration>128</duration>
    <instrument id="P2-I1" />
    <voice>1</voice>
    <type>eighth</type>
    <staff>1</staff>
   </note>
   <note default-x="111">
    <rest />
    <duration>128</duration>
    <instrument id="P2-I1" />
    <voice>1</voice>
    <type>eighth</type>
    <staff>1</staff>
   </note>
   <backup>
    <duration>256</duration>
   </backup>
   <note color="#000000" default-x="15" default-y="10">
    <pitch>
     <step>C</step>
     <alter>1</alter>
     <octave>3</octave>
    </pitch>
    <duration>42</duration>
    <instrument id="P2-I1" />
    <voice>2</voice>
    <type>16th</type>
    <accidental>sharp</accidental>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <stem>up</stem>
    <staff>2</staff>
    <notations>
     <tuplet type="start" bracket="yes" number="1" default-y="20" placement="above" />
    </notations>
   </note>
   <note color="#000000" default-x="48" default-y="-49">
    <pitch>
     <step>E</step>
     <octave>3</octave>
    </pitch>
    <duration>43</duration>
    <instrument id="P2-I1" />
    <voice>2</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <stem>down</stem>
    <staff>2</staff>
    <beam number="1">begin</beam>
    <beam number="2">begin</beam>
    <notations>
     <articulations>
      <staccato />
     </articulations>
    </notations>
   </note>
   <note color="#000000" default-x="80" default-y="-49">
    <pitch>
     <step>E</step>
     <octave>3</octave>
    </pitch>
    <duration>43</duration>
    <instrument id="P2-I1" />
    <voice>2</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <stem>down</stem>
    <staff>2</staff>
    <beam number="1">end</beam>
    <beam number="2">end</beam>
    <notations>
     <tuplet type="stop" bracket="yes" number="1" default-y="20" placement="above" />
     <articulations>
      <staccato />
     </articulations>
    </notations>
   </note>
   <note color="#000000" default-x="80">
    <chord />
    <pitch>
     <step>G</step>
     <octave>3</octave>
    </pitch>
    <duration>64</duration>
    <instrument id="P2-I1" />
    <type>16th</type>
    <accidental>natural</accidental>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <staff>2</staff>
    <notations>
     <tuplet type="stop" bracket="yes" number="1" default-y="20" placement="above" />
    </notations>
   </note>
   <note color="#000000" default-x="111" default-y="5">
    <pitch>
     <step>B</step>
     <octave>2</octave>
    </pitch>
    <duration>42</duration>
    <instrument id="P2-I1" />
    <voice>2</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <stem>up</stem>
    <staff>2</staff>
    <notations>
     <tuplet type="start" bracket="yes" number="1" default-y="15" placement="above" />
    </notations>
   </note>
   <note color="#000000" default-x="144" default-y="-49">
    <pitch>
     <step>E</step>
     <octave>3</octave>
    </pitch>
    <duration>43</duration>
    <instrument id="P2-I1" />
    <voice>2</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <stem>down</stem>
    <staff>2</staff>
    <beam number="1">begin</beam>
    <beam number="2">begin</beam>
    <notations>
     <articulations>
      <staccato />
     </articulations>
    </notations>
   </note>
   <note color="#000000" default-x="179" default-y="-49">
    <pitch>
     <step>E</step>
     <octave>3</octave>
    </pitch>
    <duration>43</duration>
    <instrument id="P2-I1" />
    <voice>2</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <stem>down</stem>
    <staff>2</staff>
    <beam number="1">end</beam>
    <beam number="2">end</beam>
    <notations>
     <tuplet type="stop" bracket="yes" number="1" default-y="15" placement="above" />
     <articulations>
      <staccato />
     </articulations>
    </notations>
   </note>
   <note color="#000000" default-x="179">
    <chord />
    <pitch>
     <step>G</step>
     <octave>3</octave>
    </pitch>
    <duration>64</duration>
    <instrument id="P2-I1" />
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <staff>2</staff>
    <notations>
     <tuplet type="stop" bracket="yes" number="1" default-y="15" placement="above" />
    </notations>
   </note>
   <backup>
    <duration>256</duration>
   </backup>
   <note color="#000000" default-x="15" default-y="-57">
    <pitch>
     <step>C</step>
     <alter>1</alter>
     <octave>3</octave>
    </pitch>
    <duration>42</duration>
    <instrument id="P2-I1" />
    <voice>3</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <stem>down</stem>
    <staff>2</staff>
    <notations>
     <tuplet type="start" bracket="yes" number="1" default-y="-70" placement="below" />
    </notations>
   </note>
   <note print-object="no" default-x="48">
    <rest />
    <duration>43</duration>
    <instrument id="P2-I1" />
    <voice>3</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <staff>2</staff>
   </note>
   <note print-object="no" default-x="80">
    <rest />
    <duration>43</duration>
    <instrument id="P2-I1" />
    <voice>3</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <staff>2</staff>
    <notations>
     <tuplet type="stop" bracket="yes" number="1" default-y="-70" placement="below" />
    </notations>
   </note>
   <note color="#000000" default-x="111" default-y="-60">
    <pitch>
     <step>B</step>
     <octave>2</octave>
    </pitch>
    <duration>42</duration>
    <instrument id="P2-I1" />
    <voice>3</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <stem>down</stem>
    <staff>2</staff>
    <notations>
     <tuplet type="start" bracket="yes" number="1" default-y="-72" placement="below" />
    </notations>
   </note>
   <note print-object="no" default-x="144">
    <rest />
    <duration>43</duration>
    <instrument id="P2-I1" />
    <voice>3</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <staff>2</staff>
   </note>
   <note print-object="no" default-x="179">
    <rest />
    <duration>43</duration>
    <instrument id="P2-I1" />
    <voice>3</voice>
    <type>16th</type>
    <time-modification>
     <actual-notes>3</actual-notes>
     <normal-notes>2</normal-notes>
     <normal-type>16th</normal-type>
    </time-modification>
    <staff>2</staff>
    <notations>
     <tuplet type="stop" bracket="yes" number="1" default-y="-72" placement="below" />
    </notations>
   </note>
  </measure>
 </part>
</score-partwise>
craigsapp commented 4 years ago

Current MEI export:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="https://music-encoding.org/schema/4.0.0/mei-all.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
<?xml-model href="https://music-encoding.org/schema/4.0.0/mei-all.rng" type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?>
<mei xmlns="http://www.music-encoding.org/ns/mei" meiversion="4.0.0">
 <meiHead>
  <fileDesc>
   <titleStmt>
    <title />
    <respStmt />
   </titleStmt>
   <pubStmt><availability />
   </pubStmt>
  </fileDesc>
  <encodingDesc xml:id="encodingdesc-0000000218622594">
   <appInfo xml:id="appinfo-0000000045417341">
    <application xml:id="application-0000000972555502" isodate="2020-07-21T23:11:58" version="3.0.0-dev-79cf926-dirty">
     <name xml:id="name-0000001242284797">Verovio</name>
     <p xml:id="p-0000001244567045">Transcoded from MusicXML</p>
    </application>
   </appInfo>
  </encodingDesc>
 </meiHead>
 <music>
  <body>
   <mdiv xml:id="mdiv-0000000947603535">
    <score xml:id="score-0000000633886593">
     <scoreDef xml:id="scoredef-0000000378714184">
      <staffGrp xml:id="staffgrp-0000000727732588">
       <staffDef xml:id="staffdef-0000000714930391" n="1" lines="5" ppq="256" clef.shape="F" clef.line="4" key.mode="major" key.sig="3s" meter.count="2" meter.unit="8">
        <label xml:id="label-0000001082236851">Violoncello</label>
        <labelAbbr xml:id="labelAbbr-0000001347686372">Vc.</labelAbbr>
       </staffDef>
       <staffGrp xml:id="staffgrp-0000001177482537" symbol="brace">
        <staffGrp xml:id="staffgrp-0000000727057064" bar.thru="true">
         <label xml:id="label-0000000887192254">Piano</label>
         <labelAbbr xml:id="labelAbbr-0000001608272264">Pno.</labelAbbr>
         <staffDef xml:id="staffdef-0000000466123218" n="2" lines="5" ppq="256" clef.shape="G" clef.line="2" key.mode="major" key.sig="3s" meter.count="2" meter.unit="8" />
         <staffDef xml:id="staffdef-0000000887597322" n="3" lines="5" ppq="256" clef.shape="F" clef.line="4" key.mode="major" key.sig="3s" meter.count="2" meter.unit="8" />
        </staffGrp>
       </staffGrp>
      </staffGrp>
     </scoreDef>
     <section xml:id="section-0000000065595784">
      <pb xml:id="pb-0000000809230777" />
      <pb xml:id="pb-0000000596842490" />
      <measure xml:id="measure-0000001002384299" n="124">
       <staff xml:id="staff-0000001240712980" n="1">
        <layer xml:id="layer-0000000235614293" n="1">
         <tuplet xml:id="tuplet-0000000595746458" num="3" numbase="2" num.place="above" bracket.place="above" bracket.visible="true">
          <rest xml:id="rest-0000001141957292" dur.ppq="42" dur="16" />
          <beam xml:id="beam-0000000737960916">
           <note xml:id="note-0000001191053787" dur.ppq="43" dur="16" oct="2" pname="b" color="#000000" stem.dir="up">
            <artic xml:id="artic-0000001345924422" artic="stacc" />
           </note>
           <chord xml:id="chord-0000001149921374" dur.ppq="43" dur="16" stem.dir="up">
            <artic xml:id="artic-0000001523193465" artic="stacc" />
            <note xml:id="note-0000001025959191" oct="2" pname="b" color="#000000" />
            <note xml:id="note-0000000160010368" oct="3" pname="e" color="#000000" />
           </chord>
          </beam>
         </tuplet>
         <beam xml:id="beam-0000000644728932">
          <tuplet xml:id="tuplet-0000001904161009" num="3" numbase="2" num.place="below" bracket.place="below" bracket.visible="true">
           <chord xml:id="chord-0000000842500072" dur.ppq="42" dur="16" stem.dir="up">
            <artic xml:id="artic-0000001539025433" artic="stacc" />
            <note xml:id="note-0000001432770669" oct="2" pname="b" color="#000000" />
            <note xml:id="note-0000002107407963" oct="3" pname="e" color="#000000" />
           </chord>
           <chord xml:id="chord-0000001176642644" dur.ppq="43" dur="16" stem.dir="up">
            <artic xml:id="artic-0000001803496132" artic="stacc" />
            <note xml:id="note-0000000529306474" oct="2" pname="b" color="#000000" />
            <note xml:id="note-0000001775296766" oct="3" pname="e" color="#000000" />
           </chord>
           <note xml:id="note-0000000274954744" dur.ppq="43" dur="16" oct="4" pname="g" color="#000000" stem.dir="down">
            <accid xml:id="accid-0000001927057711" accid="n" />
           </note>
          </tuplet>
         </beam>
        </layer>
       </staff>
       <staff xml:id="staff-0000002080717729" n="2">
        <layer xml:id="layer-0000001767232992" n="1">
         <rest xml:id="rest-0000002105557465" dur.ppq="256" dur="1" />
        </layer>
       </staff>
       <staff xml:id="staff-0000000999163555" n="3">
        <layer xml:id="layer-0000001868778989" n="2">
         <beam xml:id="beam-0000001620130748">
          <note xml:id="note-0000001592321323" dots="1" dur.ppq="192" dur="8" oct="3" pname="g" color="#000000" stem.dir="up">
           <accid xml:id="accid-0000000203266747" accid="n" />
          </note>
          <note xml:id="note-0000000651625077" dur.ppq="64" dur="16" oct="3" pname="b" color="#000000" stem.dir="up" />
         </beam>
        </layer>
        <layer xml:id="layer-0000001843553086" n="3">
         <tuplet xml:id="tuplet-0000000702657486" num="3" numbase="2" num.place="below" bracket.place="below" bracket.visible="true">
          <note xml:id="note-0000000551792349" dur.ppq="42" dur="16" oct="2" pname="e" color="#000000" stem.dir="down" />
          <beam xml:id="beam-0000001139621897">
           <note xml:id="note-0000000218575286" dur.ppq="43" dur="16" oct="3" pname="e" color="#000000" stem.dir="down" />
           <chord xml:id="chord-0000001424211091" dur.ppq="43" dur="16" stem.dir="down">
            <note xml:id="note-0000001397795432" oct="3" pname="e" color="#000000" />
            <note xml:id="note-0000000863076975" oct="3" pname="g" color="#000000">
             <accid xml:id="accid-0000001630166987" accid="s" accid.ges="s" />
            </note>
           </chord>
          </beam>
         </tuplet>
         <rest xml:id="rest-0000000620182083" dur.ppq="128" dur="8" />
        </layer>
       </staff>
       <dir xml:id="dir-0000000009577383" staff="1" tstamp="1.000000" vgrp="85">
        <rend xml:id="rend-0000002053286203" fontfam="Opus Text Std" fontstyle="normal" fontweight="normal">[mf </rend>
        <rend xml:id="rend-0000001218697472" fontfam="Didot" fontstyle="italic" fontweight="normal">cresc.</rend>
        <rend xml:id="rend-0000001895257985" fontfam="Opus Text Std" fontstyle="normal" fontweight="normal">]</rend>
       </dir>
       <tempo xml:id="tempo-0000000660510444" staff="1" tstamp="1.000000" mm="84" mm.unit="8">
        <rend xml:id="rend-0000000856060965" fontname="VerovioText">ī‡—</rend> = 84</tempo>
       <hairpin xml:id="hairpin-0000000814853405" staff="1" tstamp="1.328125" tstamp2="0m+2.6562" color="#000000" form="cres" vgrp="65" />
       <slur xml:id="slur-0000001506506703" startid="#note-0000001191053787" endid="#note-0000001775296766" color="#000000" curvedir="below" />
       <dir xml:id="dir-0000000757844170" staff="1" tstamp="2.664062" vgrp="76">
        <rend xml:id="rend-0000000361454833" fontfam="Didot" fontstyle="italic" fontweight="normal">espress.</rend>
       </dir>
       <dir xml:id="dir-0000000038574887" staff="2" tstamp="1.000000" vgrp="70">
        <rend xml:id="rend-0000001935548062" fontfam="Opus Text Std" fontstyle="normal" fontweight="normal">[f]</rend>
       </dir>
       <dynam xml:id="dynam-0000001976269068" staff="2" tstamp="2.664062" vgrp="82">f</dynam>
       <slur xml:id="slur-0000001805218099" startid="#note-0000001592321323" color="#000000" curvedir="below" />
      </measure>
      <measure xml:id="measure-0000001858068370" n="125">
       <staff xml:id="staff-0000001158980755" n="1">
        <layer xml:id="layer-0000001312870995" n="1">
         <beam xml:id="beam-0000000181925859">
          <note xml:id="note-0000001758682532" dur.ppq="64" dur="16" oct="4" pname="a" color="#000000" stem.dir="down" />
          <note xml:id="note-0000000655633598" dur.ppq="64" dur="16" oct="4" pname="g" color="#000000" stem.dir="down">
           <accid xml:id="accid-0000000495288829" accid="n" />
          </note>
          <note xml:id="note-0000000672733231" dur.ppq="64" dur="16" oct="4" pname="f" color="#000000" stem.dir="down">
           <accid xml:id="accid-0000000126011962" accid="s" accid.ges="s" />
          </note>
          <note xml:id="note-0000000464169392" dur.ppq="64" dur="16" oct="3" pname="b" color="#000000" stem.dir="down" />
         </beam>
        </layer>
       </staff>
       <staff xml:id="staff-0000000364824658" n="2">
        <layer xml:id="layer-0000001231382326" n="1">
         <beam xml:id="beam-0000000542846943">
          <note xml:id="note-0000001118038545" dur.ppq="16" dur="64" oct="5" pname="f" color="#000000" stem.dir="down">
           <accid xml:id="accid-0000000391914565" accid="s" accid.ges="s" />
          </note>
          <note xml:id="note-0000000045507660" dur.ppq="16" dur="64" oct="5" pname="e" color="#000000" stem.dir="down" />
          <note xml:id="note-0000000343063288" dur.ppq="16" dur="64" oct="4" pname="b" color="#000000" stem.dir="down" />
          <note xml:id="note-0000002018572868" breaksec="1" dur.ppq="16" dur="64" oct="4" pname="g" color="#000000" stem.dir="down">
           <accid xml:id="accid-0000000207537170" accid="n" />
          </note>
          <note xml:id="note-0000000563773462" dur.ppq="16" dur="64" oct="5" pname="c" color="#000000" stem.dir="down">
           <accid xml:id="accid-0000000642725270" accid="s" accid.ges="s" />
          </note>
          <note xml:id="note-0000000440868480" dur.ppq="16" dur="64" oct="4" pname="b" color="#000000" stem.dir="down" />
          <note xml:id="note-0000000857961210" dur.ppq="16" dur="64" oct="4" pname="g" color="#000000" stem.dir="down" />
          <note xml:id="note-0000001548850512" dur.ppq="16" dur="64" oct="4" pname="e" color="#000000" stem.dir="down" />
         </beam>
         <rest xml:id="rest-0000001881269897" dur.ppq="128" dur="8" />
        </layer>
       </staff>
       <staff xml:id="staff-0000000542214821" n="3">
        <layer xml:id="layer-0000001101424098" n="2">
         <tuplet xml:id="tuplet-0000001414122219" num="3" numbase="2" num.place="above" bracket.place="above" bracket.visible="true">
          <note xml:id="note-0000000950613384" dur.ppq="42" dur="16" oct="2" pname="e" color="#000000" stem.dir="up" />
          <beam xml:id="beam-0000001828294855">
           <note xml:id="note-0000001955606709" dur.ppq="43" dur="16" oct="3" pname="e" color="#000000" stem.dir="down">
            <artic xml:id="artic-0000000644740828" artic="stacc" />
           </note>
           <chord xml:id="chord-0000000946425218" dur.ppq="43" dur="16" stem.dir="down">
            <artic xml:id="artic-0000000157265597" artic="stacc" />
            <note xml:id="note-0000002104097081" oct="3" pname="e" color="#000000" />
            <note xml:id="note-0000001758002969" oct="3" pname="g" color="#000000">
             <accid xml:id="accid-0000001675884557" accid="n" />
            </note>
           </chord>
          </beam>
         </tuplet>
         <tuplet xml:id="tuplet-0000000196235447" num="3" numbase="2" num.place="above" bracket.place="above" bracket.visible="true">
          <note xml:id="note-0000001741759584" dur.ppq="42" dur="16" oct="2" pname="b" color="#000000" stem.dir="up" />
          <beam xml:id="beam-0000001403736031">
           <note xml:id="note-0000000336127075" dur.ppq="43" dur="16" oct="3" pname="e" color="#000000" stem.dir="down">
            <artic xml:id="artic-0000001405757915" artic="stacc" />
           </note>
           <chord xml:id="chord-0000001726252793" dur.ppq="43" dur="16" stem.dir="down">
            <artic xml:id="artic-0000000626620981" artic="stacc" />
            <note xml:id="note-0000002105676758" oct="3" pname="e" color="#000000" />
            <note xml:id="note-0000000359022779" oct="3" pname="g" color="#000000" />
           </chord>
          </beam>
         </tuplet>
        </layer>
        <layer xml:id="layer-0000001814282230" n="3">
         <space xml:id="space-0000001292036133" dur.ppq="32" dur="32" />
         <space xml:id="space-0000002044132514" dur.ppq="8" dur="128" />
         <space xml:id="space-0000000291778092" dur.ppq="2" dur="512" />
         <space xml:id="space-0000000521135857" dur.ppq="128" dur="8" />
         <tuplet xml:id="tuplet-0000001209226143" num="3" numbase="2" num.place="below" bracket.place="below" bracket.visible="true">
          <note xml:id="note-0000001826033840" dur.ppq="42" dur="16" oct="2" pname="b" color="#000000" stem.dir="down" />
          <space xml:id="space-0000000461949603" dur.ppq="43" dur="16" />
          <space xml:id="space-0000000833593716" dur.ppq="43" dur="16" />
         </tuplet>
        </layer>
       </staff>
       <dynam xml:id="dynam-0000000028340040" staff="1" tstamp="1.000000" vgrp="91">f</dynam>
       <dynam xml:id="dynam-0000000381154418" staff="1" tstamp="1.250000" vgrp="61">cresc.</dynam>
       <slur xml:id="slur-0000000212398016" startid="#note-0000001758682532" endid="#note-0000000464169392" color="#000000" curvedir="above" />
       <slur xml:id="slur-0000000575748606" startid="#note-0000001118038545" endid="#note-0000001548850512" color="#000000" curvedir="above" />
       <pedal xml:id="pedal-0000000325777946" staff="3" tstamp="1.000000" dir="down" vgrp="84" />
      </measure>
      <measure xml:id="measure-0000001634365440" n="126">
       <staff xml:id="staff-0000000462939977" n="1">
        <layer xml:id="layer-0000000298940358" n="1">
         <beam xml:id="beam-0000001326346573">
          <note xml:id="note-0000001026596551" dots="1" dur.ppq="192" dur="8" oct="4" pname="e" color="#000000" stem.dir="down" />
          <note xml:id="note-0000001361382566" dur.ppq="64" dur="16" oct="4" pname="g" color="#000000" stem.dir="down">
           <accid xml:id="accid-0000001466011624" accid="n" />
          </note>
         </beam>
        </layer>
       </staff>
       <staff xml:id="staff-0000000958026416" n="2">
        <layer xml:id="layer-0000001596363859" n="1">
         <rest xml:id="rest-0000001574176242" dur.ppq="128" dur="8" />
         <rest xml:id="rest-0000000181568254" dur.ppq="128" dur="8" />
        </layer>
       </staff>
       <staff xml:id="staff-0000001865072153" n="3">
        <layer xml:id="layer-0000000043382591" n="2">
         <tuplet xml:id="tuplet-0000001134250604" num="3" numbase="2" num.place="above" bracket.place="above" bracket.visible="true">
          <note xml:id="note-0000000137567009" dur.ppq="42" dur="16" oct="3" pname="c" color="#000000" stem.dir="up">
           <accid xml:id="accid-0000001396316091" accid="s" accid.ges="s" />
          </note>
          <beam xml:id="beam-0000000183247021">
           <note xml:id="note-0000000341132149" dur.ppq="43" dur="16" oct="3" pname="e" color="#000000" stem.dir="down">
            <artic xml:id="artic-0000001774174400" artic="stacc" />
           </note>
           <chord xml:id="chord-0000000764996128" dur.ppq="43" dur="16" stem.dir="down">
            <artic xml:id="artic-0000000305328707" artic="stacc" />
            <note xml:id="note-0000000738702205" oct="3" pname="e" color="#000000" />
            <note xml:id="note-0000001321145866" oct="3" pname="g" color="#000000">
             <accid xml:id="accid-0000001665143529" accid="n" />
            </note>
           </chord>
          </beam>
         </tuplet>
         <tuplet xml:id="tuplet-0000000060404199" num="3" numbase="2" num.place="above" bracket.place="above" bracket.visible="true">
          <note xml:id="note-0000001601091209" dur.ppq="42" dur="16" oct="2" pname="b" color="#000000" stem.dir="up" />
          <beam xml:id="beam-0000001569852753">
           <note xml:id="note-0000000531132629" dur.ppq="43" dur="16" oct="3" pname="e" color="#000000" stem.dir="down">
            <artic xml:id="artic-0000001804058671" artic="stacc" />
           </note>
           <chord xml:id="chord-0000000566592190" dur.ppq="43" dur="16" stem.dir="down">
            <artic xml:id="artic-0000000772446532" artic="stacc" />
            <note xml:id="note-0000000492471504" oct="3" pname="e" color="#000000" />
            <note xml:id="note-0000000970217209" oct="3" pname="g" color="#000000" />
           </chord>
          </beam>
         </tuplet>
        </layer>
        <layer xml:id="layer-0000000597299992" n="3">
         <space xml:id="space-0000001730036215" dur.ppq="32" dur="32" />
         <space xml:id="space-0000001937568772" dur.ppq="8" dur="128" />
         <space xml:id="space-0000000276327896" dur.ppq="2" dur="512" />
         <tuplet xml:id="tuplet-0000001482399466" num="3" numbase="2" num.place="below" bracket.place="below" bracket.visible="true">
          <note xml:id="note-0000001383303258" dur.ppq="42" dur="16" oct="3" pname="c" color="#000000" stem.dir="down" accid.ges="s" />
          <space xml:id="space-0000001908158692" dur.ppq="43" dur="16" />
          <space xml:id="space-0000002049835793" dur.ppq="43" dur="16" />
         </tuplet>
         <tuplet xml:id="tuplet-0000001657507777" num="3" numbase="2" num.place="below" bracket.place="below" bracket.visible="true">
          <note xml:id="note-0000000575339155" dur.ppq="42" dur="16" oct="2" pname="b" color="#000000" stem.dir="down" />
          <space xml:id="space-0000001753799291" dur.ppq="43" dur="16" />
          <space xml:id="space-0000001891628762" dur.ppq="43" dur="16" />
         </tuplet>
        </layer>
       </staff>
       <slur xml:id="slur-0000001124612659" startid="#note-0000001026596551" endid="#note-0000001361382566" color="#000000" curvedir="above" />
      </measure>
     </section>
    </score>
   </mdiv>
  </body>
 </music>
</mei>
rettinghaus commented 4 years ago

It should be a <mRest>. This was addressed before, but was changed again with 3bd1000d2ff151d3045f60ac644afa0beb381f47, because it caused other trouble. The rest should have a measure attribute. Trying to fix quirky input or figure out what is probably meant is like stabbing in the dark ā€¦

craigsapp commented 4 years ago

Trying to fix quirky input or figure out what is probably meant is like stabbing in the dark ā€¦

What do you mean? This is a possible method for encoding mRests in MusicXML šŸ˜ You have to keep track of the time signature to be fully certain, but also a hint can be given by the note/type not matching note/duration when the type is whole (this does not work for 1/1, 2/2, 4/4, 8/8 time signatures). And it is fully confirmed by note/duration matching the time signature's duration. There could be additional complications if the measure is over/under filled.

MusicXML documentation for rest element:

http://usermanuals.musicxml.com/MusicXML/MusicXML.htm#EL-MusicXML-rest.htm

Screen Shot 2020-07-22 at 1 10 16 AM

so rest@measure is not required, and you have to work to figure it out...

I think the main problem is that Sibelius native (non-Dolet) MusicXML export is very different from Finale or MuseScore MusicXML. Sibelius is adding a <type> for the whole-measure rest, but MuseScore does not. In both cases, neither is adding note@measure.

MuseScore:

Screen Shot 2020-07-22 at 1 03 35 AM

MusicXML-to-MEI conversion rendered in Verovio is correct:

Screen Shot 2020-07-22 at 1 05 26 AM

MusicXML test data:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 3.1 Partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="3.1">
  <identification>
    <encoding>
      <software>MuseScore 3.4.2</software>
      <encoding-date>2020-07-22</encoding-date>
      <supports element="accidental" type="yes"/>
      <supports element="beam" type="yes"/>
      <supports element="print" attribute="new-page" type="yes" value="yes"/>
      <supports element="print" attribute="new-system" type="yes" value="yes"/>
      <supports element="stem" type="yes"/>
      </encoding>
    </identification>
  <defaults>
    <scaling>
      <millimeters>7.05556</millimeters>
      <tenths>40</tenths>
      </scaling>
    <page-layout>
      <page-height>1683.36</page-height>
      <page-width>1190.88</page-width>
      <page-margins type="even">
        <left-margin>56.6929</left-margin>
        <right-margin>56.6929</right-margin>
        <top-margin>56.6929</top-margin>
        <bottom-margin>113.386</bottom-margin>
        </page-margins>
      <page-margins type="odd">
        <left-margin>56.6929</left-margin>
        <right-margin>56.6929</right-margin>
        <top-margin>56.6929</top-margin>
        <bottom-margin>113.386</bottom-margin>
        </page-margins>
      </page-layout>
    <word-font font-family="FreeSerif" font-size="10"/>
    <lyric-font font-family="FreeSerif" font-size="11"/>
    </defaults>
  <part-list>
    <score-part id="P1">
      <part-name>Piano</part-name>
      <part-abbreviation>Pno.</part-abbreviation>
      <score-instrument id="P1-I1">
        <instrument-name>Piano</instrument-name>
        </score-instrument>
      <midi-device id="P1-I1" port="1"></midi-device>
      <midi-instrument id="P1-I1">
        <midi-channel>1</midi-channel>
        <midi-program>1</midi-program>
        <volume>78.7402</volume>
        <pan>0</pan>
        </midi-instrument>
      </score-part>
    </part-list>
  <part id="P1">
    <measure number="1" width="184.57">
      <print>
        <system-layout>
          <system-margins>
            <left-margin>0.00</left-margin>
            <right-margin>763.06</right-margin>
            </system-margins>
          <top-system-distance>70.00</top-system-distance>
          </system-layout>
        </print>
      <attributes>
        <divisions>1</divisions>
        <key>
          <fifths>0</fifths>
          </key>
        <time>
          <beats>2</beats>
          <beat-type>8</beat-type>
          </time>
        <clef>
          <sign>G</sign>
          <line>2</line>
          </clef>
        </attributes>
      <note>
        <rest/>
        <duration>1</duration>
        <voice>1</voice>
        </note>
      </measure>
    <measure number="2" width="129.86">
      <note>
        <rest/>
        <duration>1</duration>
        <voice>1</voice>
        </note>
      <barline location="right">
        <bar-style>light-heavy</bar-style>
        </barline>
      </measure>
    </part>
  </score-partwise>

In the MuseScore export, there is no <type>, making it easier to infer that the rest should become an <mRest>.