w3c / musicxml

MusicXML specification
518 stars 57 forks source link

Should <line> be used for TAB clefs? #469

Open jeanas opened 2 years ago

jeanas commented 2 years ago

The example https://www.w3.org/2021/06/musicxml40/musicxml-reference/examples/tab-clef/ has <line>5</line> inside <clef>. MuseScore also seems to do this. However, https://www.w3.org/2021/06/musicxml40/musicxml-reference/elements/line/ states: “Line numbers are counted from the bottom of the staff. They are only needed with the G, F, and C signs in order to position a pitch correctly on the staff.” What is the usefulness of <line> for TAB, then? Note that the example for a percussion clef (https://www.w3.org/2021/06/musicxml40/musicxml-reference/examples/percussion-clef/) doesn't have <line>.

(I'm on Linux, so I can't test what Finale/Sibelius would do.)

This is both a question and a request for either amending the example or clarifying the <line> specification.

adrianholovaty commented 2 years ago

That's a fair question. I've looked at a fair amount of engraved tablature over the years, and I've never seen a TAB clef that would have needed to have been positioned in a non-standard way. In the vast majority of publications, the "TAB" is simply vertically centered within the tab strings.

Sometimes there's a more stylized version, but that's effectively a font choice as opposed to a semantic decision.

In practice, I doubt many MusicXML-consuming programs actually honor the <line> for a tab clef anyway.

With all of that in mind, I'd be in favor of updating the MusicXML docs to remove <line> from that tab-clef example, and add a sentence or two to the <line> page saying the element doesn't apply to tab clefs.

jeanas commented 2 years ago

Sounds sensible to me. I confirm that Musescore does not do anything different if you change <line>5</line> to <line>10</line>. Furthermore, I don't think there is an obvious reference point everybody would agree on, unlike the G clef (inside the central "spiral"), the F clef (between the dots) or the C clef (at the recognizable vertical middle). What actually brought me here in the first place is experiments with an export from LilyPond to MusicXML, and for LilyPond the reference of the TAB clef is at its vertical center (which is usually not on a line but in a space, which MusicXML doesn't support, hence…).

mdgood commented 2 years ago

Thank you for catching this. Both exporters that I wrote (the one built into Finale and the Dolet for Sibelius plug-in) are exporting that <line> element for the TAB clef. At this point I have no idea why. In addition to updating the spec to remove those elements from the examples, I will plan to remove that export in a future release of both apps.

I think the description on the <line> page would be sufficient as-is, if it were not contradicted by the examples. Do you agree, or is there specific wording you can suggest to clarify things?

Please also keep us posted on your progress with a LilyPond exporter!

jeanas commented 2 years ago

Thank you both for your prompt reactions. I agree that the description is clear enough. If anything, I would just add a comma (“needed with the G, F and C signs, in order to…”) just to clarify the meaning. Of course, the main thing to do is to update the examples.

If I get something usable to export LilyPond, I'll let you know.

mdgood commented 1 year ago

We have fixed both Finale 27.3 and the Dolet 8.2 for Sibelius plug-in so that neither one exports the <line> element for TAB clefs any more.