[Musicxml Export] - Wrong tuplet calculation in two-note tremolo

• Jun 28, 2020 - 09:01
Reported version
S2 - Critical

The attached is from the beginning of Strauss's Alpine Symphony,. When I'm transcribing it in braille today, this kind of music gives me wrong tuplet numbers on all two-note tremolos. The dotted half tremolo should generate tuplet number 12 while dotted quarter 6, but the xml file gives me 24 and 12. The attached is an edited Musicxml with correct tuplet description.

Attachment Size
tuplet tremolo.mscx 20.32 KB
tuplet tremolo edited.musicxml 28.78 KB


From the MusicXML specification:
When using double-note tremolos, the duration of each note in the tremolo should correspond to half of the notated type value. A time-modification element should also be added with an actual-notes value of 2 and a normal-notes value of 1. If used within a tuplet, this 2/1 ratio should be multiplied by the existing tuplet ratio.
I think the exported values (24 and 12 instead of 12 and 6) are correct. Did I understand it correctly?

The import of such MusicXML at the moment gives strange results in MuseScore. I'm working on it.

Well, actually I tried today with a demo of Sibelius Ultimate. Attached you can find the sib file and the musicxml exported by Sibelius.
I had to zip the sib file in order to attach it to this post.
The actual-notes field for the notes involved also in a two-note tremolo are multiplied by 2.
So, for example, in the attached file (exported by Sibelius), a quarter note in a triplet, involved also in a two-note tremolo, has actual-notes equal to 6.
It is very interesting to note that Sibelius has a bug in importing this xml which it exported. It wrongly imports the triplet, but also it wrongly imports the normal two-note tremolo. In particular, it does not take into account this doubling caused by two-note tremolo and it imports the triplet as a 6:2 tuplet, and the two-note tremolo as a 2:1 tuplet.

I think therefore that, as clearly said in the MusicXML specification, the exported xml is correct for both MuseScore and Sibelius, but both have bugs in importing it. I think also the program you are using to convert the xml to Braille may have a similar bug.

What do you think?

Attachment Size
sib_tremolo_tuplet.musicxml 8.05 KB
sib_tremolo_tuplet.zip 39.91 KB

In reply to by ABL

Ok, I know where the problem is. Yes, you are right, but I'm halfly correct too. The key is tuplet number, not time-modification. Both Musescore and your native Sib export (not from Dolet) don't give a tuplet number declaration, so braille translation software takes time-modification which will cause wrong calculation of tuplet numbers. Here are my own Sib and Dolet-generated Musicxml files, so you can see what they look like, and how tuplet numbers are applied to different tuplets on tremolos.

Attachment Size
tremolo.musicxml 15.69 KB
tremolo.zip 82.87 KB

Ah-ah, I think I understand now. I think it is the same issue as #305169: [MusicXML export] add tuplet-actual and tuples-normal for nested tuplets.
And I think it matters only if the two-note tremolo is located at the beginning of the tuplet. Can you please verify the behavior of your Braille converter with the attached file?
I think it should import wrongly the first triplet, but correctly the second one.
Leon already implemented saving those attributes for nested tuplets, it should not be very difficult to extend it also for two-note tremolos.
Thank you for your collaboration.

Attachment Size
tremolotest.mxl 1.56 KB
Fix version