- Notifications
You must be signed in to change notification settings - Fork10
Staff and System Begin Formats
Staff-based MEIs encode every staff in its own<staff>
tag. This is actuallyincorrect as in MEI this tag is used to represent unrelated parts of music, sousing them to represent separate staves on a page is incorrect.Instead the system begin tag (<sb>
) needs to be used to mark where inonlyone staff element a new staff would begin.
Here is a representation of the same snippet of a syllable split across twostaves in both encoding formats. Using<staff>
tags:
<section> <staffxml:id="group1"facs="zone1"n="1"> <layern="1"> <clefshape="C"line="3" /> <syllablexml:id="first-syllable"precedes="second-syllable"> <neume> <ncoct="2"pname="a" /> </neume> </syllable> <custosoct="2"pname="b" /> </layer> </staff> <staffxml:id="group2"facs="zone2"n="2"> <layern="1"> <syllablexml:id="second-syllable"follows="first-syllable"> <neume> <ncoct="2"pname="b" /> </neume> </syllable> </layer> </staff></section>
And using<sb>
tags:
<section> <staffn="1"> <layern="1"> <sbxml:id="group1"facs="zone1" /> <clefshape="C"line="3" /> <syllable> <neume> <ncoct="2"pname="a" /> </neume> <sbxml:id="group2"facs="zone2"> <custosoct="2"pname="b" /> </sb> <neume> <ncoct="2"pname="b" /> </neume> </syllable> </layer> </staff></section>
When using the<sb>
tags, the staff always starts with a<sb>
tag withthe @facs attribute. This maps to a zone for the first staff in thefacsimile. Each following<sb>
tag corresponds to each following staff,with each having a @facs attribute pointing to the zone for that staff.
The system begin tag can appear either as a milestone element or containa custos. The system begin tag can appear at the layer level or within a<syllable>
element. Putting a custos inside the<sb>
tag allows fora custos to exist even when the syllable continues onto the next staff.
In the<staff>
-based format, the @precedes and @follows attributes onthe<syllable>
tags are used to represent that logically this is asingle syllable but are represented as separate elements. Technically only@follows is necessary for Neon to convert it to<sb>
-based, but Neonneeds both attributes to properly recognize split syllables.
© 2018-2020 Distributed Digital Archives and Libraries Lab