Again, there is more than one way to do this, in notation at least. 3:2 is fine as it is the same proportion as 9:6. You may prefer the latter–and music xml may even demand it to be fully compliant–but If the bracket extends explicitly over given notes/rests (via <tuplet type=start then =stop) then it should be clear and not ignored. I do see your point, though I thought (going back to 2017 when I read the xml doc) that the explicit duration tag was most relevant to bar duration calculations.
I’m not debating displayed notation, but the XML explicitly gives eighth note as the base – it says the tuplet is three eighths (quavers) in the space of two. This is not the same as 9 sixteenths (semis) in the space of 6.
I’m not familiar with the XML specs, but here it seems that the tuplet duration is in conflict with the tuplet stop indication, and software reading this file has to make a determination which one wins.
I get you. I just changed the 3:2 block to this:
<notations>
<tuplet type="start" bracket="yes" number="4" show-number="actual">
<tuplet-actual>
<tuplet-number>9</tuplet-number>
<tuplet-type>16th</tuplet-type>
</tuplet-actual>
<tuplet-normal>
<tuplet-number>6</tuplet-number>
<tuplet-type>16th</tuplet-type>
</tuplet-normal>
</tuplet>
</notations>
and it imports much better.
Does anyone know whether this is this what music xml requires in order to be correct, or is it what Dorico needs in order to be imported correctly?
BTW @asherber you might not be a music xml expert but you honed in on the problem area, for which I thank you. Given that finale was damned close to what I thought I was specifying I’m now torn: I don’t want to rejig my generative software to write xml code that (only?) dorico likes because that may change and/or be actually incorrect. As you write, some determination has to be made on whether duration overrules tuplet stops etc., so the whole thing is clear as mud to me. I really don’t like the rhythm specification of Music XML (generating Lilypond code was so much easier). I mean look at all this just to define rhythm:
<duration>10</duration>
<type>eighth</type>
...
<time-modification>
<actual-notes>11</actual-notes>
<normal-notes>4</normal-notes>
</time-modification>
<notations>
<tuplet type="start" bracket="yes" number="4" show-number="actual">
<tuplet-actual>
<tuplet-number>9</tuplet-number>
<tuplet-type>16th</tuplet-type>
</tuplet-actual>
<tuplet-normal>
<tuplet-number>6</tuplet-number>
<tuplet-type>16th</tuplet-type>
</tuplet-normal>
</tuplet>
I stand corrected – I didn’t know you could do that. The MusicXML in this case would need to specify the <tuplet-dot/> element, which it does not.
This is great but besides @asherber’s suggestion of <tuplet-dot/> (thanks!) we’re back in the realm of what you can do via the Dorico interface, no? I remember correcting things like this back in 2017 with the first piece I generated music-xml for (https://michael-edwards.org/stopen/michael/_durchhaltevermoegen.pdf)
But my issue is the way Dorico is importing music-xml and coming up with incorrect bar durations and ignoring the tuplet start and stop tags. When this happens it’s very difficult to see in Dorico what rhythm was actually intended in the xml file, hence the confusion here about the triplet bracket around only four instead of my intended six rhythms.
To my knowledge, the duration tag is the master of all things duration. I note from the documentation:
- the following doesn’t mention tuplet-actual and -type, rather bases rhythm on
duration and time-modificaion - tuplet-actual is optional:
- from The <tuplet-actual> element | MusicXML 4.0
- “The element provide optional full control over how the
actual part of the is displayed, including number and note type
(with dots). If any of these elements are absent, their values are based on
the element.”
So the question arises, what does importing software do when optional elements are provided? I don’t think the answer will be uniform. As I’ve asserted already, my intention of 3:2e over the whole 6 rhythms between tuplet start and stop tags is mathematically correct, but it would seem that Dorico is choosing to interpret this as literally meaning that now 3 triplet eighths worth of rhythms should be appearing (and bracketed together) and then ignoring the non-optional duration tags.
