MusicXML import dynamics text improperly placed

• Dec 4, 2014 - 01:31
S4 - Minor

When a MusicXML file is imported, the dynamics text is improperly placed. All are placed approximately one inter-staff distance above the staff to which they belong. The incorrect placement can be fixed by going to Style:Text...:Dynamics:Offset:Vertical and setting the value to 0, pressing Apply, setting the value back to the original 8, and again pressing Apply.

This has been verified in 6bba0d4.


Can you post the score you are having trouble with? I don't notice any problems with dynamics positioning in the scores I tried. Also, it might help if you explained where the file came from (what program exported it) and what you believe the correct position for the dynamics to be.

Sorry, I should have attached an example with my initial report. This file and all the rest of the MusicXML files I downloaded from the CPDL Mozart Requiem web page: //,_KV_626_%28Wolfgang_Amadeus_Mozart%29 have the problem. I looked at the header in the xml file. It says that the generating software was "Dolet Light for PrintMusic 2010".

I tried opening the file with MuseScore 1.3. This version of MuseScore places the dynamics text slightly more than one inter-staff-line distance above the top line of the staff. This would be a perfectly acceptable placement.

Attachment Size
1.a.Moza-Intr.xml 373.87 KB

@MartinSiii, as you did not answer Marc's question, I'll repeat it: "what would you believe the correct position for the dynamics to be" ?

If I were to take Finale NotePad as reference, two observations are obvious:

The vertical position of the forte dynamic markings in the first system in MuseScore 1.3 is almost identical to NotePad's positioning.

MuseScore 2.0 places the fortes at a fixed vertical offset and seems to ignore the MusicXML default-y value, which is not supposed to happen. I'll have to investigate that.

Note that I don't consider the forte placement wildly incorrect, so this won't be at the top of my work list for some time.

I tried to indicate what I believed "correct position of the dynamics text" was in both my initial report and in posting #2. I apologize for using what are confusing general terms like "inter-staff distance" and "inter-staff-line distance". Referring to a concrete example would have been much better.

A concrete example is produced when I perform the import of the file I attached. In this case, the f in measure 8 of staff #2 (Alto) is placed on top of the rest in measure 8 of staff #1 (Soprano). The f in measure 9 of staff #1 is placed immediately below the title text "I. Introitus". These locations are so far away from the staff to which they apply that you can easily not realize which staff they apply to. I only figured it out by noticing that the staff #4 (Basso) appeared to have no dynamic marking at all. I finally realized that the marking in the middle of staff #3 (Tenore) actually belonged to staff #4.

If I then use Style:Text...:Dynamics:Offset:Vertical to force the vertical value to 8, the f markings are placed just a little bit above the top line of the staff. In my mind this is correct. (8 is indeed the default value so in order to force this value to be used, I first set the value to 0, applied it, and then set the value back to 8.)

Status (old) needs info active

I encountered an example of the improper dynamics text placement in which the playing of the score is impacted as well. This is because not only is the Y offset improper, but also the X offset is wrong. In the score that is produced, dynamic changes are placed at the start of the measure rather than at the note where the change should occur.

Comparing the improperly interpreted dynamics XML with correctly interpreted XML, I see that the improper XML uses "default-x" and "default-y" rather than "relative-x" and "relative-y". The dynamics section is placed at the start of the measure description rather than with the note to which it applies. It would appear that the "default-x" coordinate is relative to the start of the measure and the "default-x" directives of each note must be compared to that of the one for the dynamics to determine which note to apply it to.

I have attached the XML that shows the problem. At measure 2, the forte should appear over the note following the rest in beat 4. The source of the XML is the CDPL web page here:…. The problem is not critical for me since importing it into Sibelius 6 and then exporting it produces an XML file that MuseScore will properly import. I have attached that XML as well.

Attachment Size
8.Moza-Dom.xml 614.36 KB
8.Moza-DomFromSibeliusXml.xml 939.18 KB