Open shoogle opened 6 months ago
@shoogle Method 3 is what is intended. I agree it would be good to add an example to the MusicXML spec.
@mdgood, thanks! In that case, what is the <other-dynamics>
element supposed to be for? Might you use it to show piano and forte in a score as text instead of using the stylised p and f symbols, or would that still go in a <words>
element?
I'm happy to try creating examples following this guide, but how are the PNG images created?
@mdgood, thanks! In that case, what is the
<other-dynamics>
element supposed to be for?
Other-dynamics allows for dynamics not defined in the spec to be used. These might include sfffz (analogous to sfz and sffz defined in the spec) sfppp (more than sfp or sfpp) or maybe it's something not in symbols such as <other-dynamics>hush</other-dynamics>
.
I'm happy to try creating examples following this guide, but how are the PNG images created?
There is not a standard auto-generate images system in the docgenerator as far as I know. Early images were generated by hand. When possible I've been preparing new examples with MuseScore's automatic MusicXML to image file command-line.
The <other-dynamics>
element is also handy for exporting isolated dynamics glyphs that don't exist as a MusicXML dynamics element, like the r and s SMuFL dynamics glyphs.
I created the examples in Finale and exported them to PNG from there, but you could use MuseScore or any other notation program to prepare them.
So applications are expected to use stylised dynamic glyphs for <other-dynamics>
rather than italic text?
s
has a glyph in SMuFL but h
and u
don't, so if somebody did write <other-dynamics>hush</other-dynamics>
you'd end up with something a bit strange.
It's quite common to have a dynamic followed immediately by expression text, such as *p dolce, pp subito, or sempre f*.
However, I can't find any examples of how to represent this in MusicXML.
Going purely by the specification, it seems there are three (maybe four) possible ways to encode pp subito.
Method 1: Single
<dynamics>
element that contains both thepp
and thesubito
.The
subito
is entered using the<other-dynamics>
element in the same<dynamics>
element as thepp
.Method 2: Two separate
<direction>
elements, one for thepp
and one for thesubito
.The
subito
is entered using the<words>
element in a separate<direction>
to the dynamic.Method 3: Two separate
<direction-type>
elements, one for thepp
and one for thesubito
.The
subito
is entered using the<words>
element in a separate<direction-type>
to the dynamic.Method 4: Single
<direction-type>
that contains both thepp
and thesubito
.The
subito
is entered using the<words>
element in the same<direction-type>
as the dynamic.This final method may not be allowed. The MusicXML reference for
<direction-type>
says:This is a bit confusing, but I think it means that a single
<direction-type>
element cannot contain both a<words>
element and a<dynamics>
element at the same time.