w3c / musicxml

MusicXML specification
518 stars 57 forks source link

`<beat-repeat>` and `<slash-type>`/`<slash-dot>` documentation issues #545

Open lemzwerg opened 2 months ago

lemzwerg commented 2 months ago

Hmm. How can I do the following in MusicXML?

image

It seems I'm missing something...

mscuthbert commented 2 months ago

What is the default length of such a 'single beat' if <slash-type>/<slash-dot> are not given?

I believe that it should follow the beat pattern of the time signature.

The documentation for <slash-type>: The element indicates the graphical note type to use for the display of repetition marks.

This is, in fact correct for the shape of stems if use-stems is "yes" but not if use-stems="no" as in most of the examples. Agreed that the wording could be improved.

Note that both here and in tablature stem display there is not as much configurability of how to display half-note stems and whole-note "stems".

How would I do (5/8):

I do not believe that this is possible in the current spec.

I was hoping that the DTD would be completely removed by now, but alas, it will need to wait for MusicXML 5.0, since it would be easier to bring in <duration> from the <note> module, rather than create a <slash-duration> as the DTD will probably need to avoid conflicts. But I think that this would be the way to go for now: allow for <slash-duration>DIVISIONS</slash-duration> to be clearer.

There also does not seem to be a way of specifying a regular repeating pattern of durations like a "3/8 + 2/8 + 3/8" subdivision of 8/8.

I'm capturing these ideas -- the documentation generator from MNX is developing and we should have all the musicxml tooling back up soon.

lemzwerg commented 2 months ago

I believe that it should follow the beat pattern of the time signature.

I'm not sure that this really works. What is the beat pattern of 5/8? 2+3 or 3+2? I know that MusicXML doesn't support this right now (and probably never will be), but if you want to rely on the time signature the probably only valid solution is to set up a table that defines the beat patterns, declaring that for all time signatures not in the table the default beat length is unspecified. I think this would be very ugly.

This is, in fact correct for the shape of stems if use-stems is "yes"

Nope. I was talking about <beat-repeat>, which doesn't have a use-stems attribute...

lemzwerg commented 2 months ago

I believe that it should follow the beat pattern of the time signature.

I've meanwhile discovered issue #321, which mentions exactly that. However, looking into the repository, this information is only part of the 'slash group' documentation string in musicxml.xsd – it is not part of the online documentation of <slash>! No wonder that I've missed it. I suggest to extend the description accordingly.

So my assumpion was wrong, and it actually is necessary to set up such a table – this could be combined with an explanation what values for beat lengths are possible in MusicXML, and which are not.

mdgood commented 2 months ago

Good catch - that phrase "the beat is based on the current time signature" or something like it should be added to the beat-repeat and slash element documentation. Thanks!

mdgood commented 2 months ago

We might want to see if there are other bits of missing documentation from xs:group definitions that did not make it into the 4.0 spec, since we don't document groups there.