[Musicxml Export] - Wrong tuplet calculation in two-note tremolo
Reported version
3.4
Type
Performance
Frequency
Once
Severity
S2 - Critical
Reproducibility
Always
Status
closed
Regression
No
Workaround
No
Project
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 |
Fix version
3.6.0
Comments
This may be a regression, but further investigation is required, am not completely sure yet.
Relates to #270643: [EPIC] MusicXML import/export issues
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.
https://usermanuals.musicxml.com/MusicXML/Content/EL-MusicXML-tremolo.h…
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.
Related to the very old tremolo playback bug at #259771: Make tremolo between notes play correct rhythm when between tuplets?
In reply to From the MusicXML… by ABL
No, it's incorrect. I got complex tupleted remolo exported from Sibelius, and it has the correct numbers, and the braille output is also correct.
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?
In reply to Well, actually I tried today… 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.
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.
In reply to Ah-ah, I think I understand… by ABL
I agree, tuplet-number should be added when tremolo is at the beginning of a tuplet.
See PR:
https://github.com/musescore/MuseScore/pull/6837
In reply to See PR: https://github.com… by ABL
Thank you!
Fixed in branch 3.x, commit 1773728954
fix #307271 : [Musicxml Export] - Wrong tuplet calculation in two-note tremolo
Fixed in branch master, commit 60b2cf369c
fix #307271 : [Musicxml Export] - Wrong tuplet calculation in two-note tremolo
Fixed in branch master, commit 5c7c49ee18
_Merge pull request #6837 from AntonioBL/xmltremolotuplet
fix #307271 : [Musicxml Export] - Wrong tuplet calculation in two-note tremolo_
Automatically closed -- issue fixed for 2 weeks with no activity.