240 likes | 358 Views
Music Encoding Initiative (MEI) DTD and the OCVE. Perry Roland Digital Library Research & Development Group, Alderman Library, University of Virginia pdr4h@virginia.edu http://www.people.virginia.edu/~pdr4h. Purposes of the DTD. encoding interchange. Encoding.
E N D
Music Encoding Initiative (MEI) DTD and the OCVE Perry Roland Digital Library Research & Development Group, Alderman Library, University of Virginia pdr4h@virginia.edu http://www.people.virginia.edu/~pdr4h
Purposes of the DTD • encoding • interchange
Encoding • not necessarily an input code, but still human readable (and understandable!) • declarative – preferable to procedural representation • formal – verifiable • explicit – context independent • flexible – allows selective feature encoding, can be constrained, separates visual, gestural, and analytical domains • extensible – for unknown uses, future development • of particular interest: musical form, text, critical apparatus
MEI 30 translators 12 translators Interchange • comprehensive – generalized • software independent • N*(N-1) vs. N*2 translators
Basic MEI DTD <!ELEMENT mei (meihead, work)> <!ELEMENT meicorpus (meihead, mei+)> <!ELEMENT meihead (meiid, filedesc, projectdesc?, editorialdecl?, profiledesc?, revisiondesc?, sourcedesc*)> <!ELEMENT work (front?, (music|group), back?)> <!ELEMENT group ((work|group), (work|group)*)> <!ELEMENT music (mdiv+)> <!ELEMENT mdiv (score?, parts?)> <!ELEMENT score (div*, (section, ending*, div*)* | (measure?, (pb|sb)?)*)> <!ELEMENT parts (part)+> <!ELEMENT part (div*, (section, ending*, div*)* | (measure?, (pb|sb)?)*)> <!ELEMENT section (div*, (section, ending*, div*)* | (measure?, (pb|sb)?)* | staff* | app*)> <!ELEMENT app (rdg, rdg+)> <!ELEMENT rdg (div*, (section, ending*, div*)* | (measure?,(pb|sb)?)* | staff* | app*)> <!ELEMENT ending (div*, (section, ending*, div*)* | (measure?,(pb|sb)?)* | staff* | app*)> <!ELEMENT measure (((staff* | (beam | beatrpt | btrem | chord | ftrem | note | pad | rest | space | tuplet)* | layer* | (msrest | msrpt | multirest | multirpt)?)), ossia*, (annot | arpeg | beam2 | bend | dir | dynam | gliss | hairpin | harm | lyrics | midi | mordent | octave | pedal | phrase | reh | slur | tempo | tie | trill | turn)*, (curve | line | symbol )*)>
Document element • mei (meihead, work) – encodes a single work • separates document into data and meta-data parts, allowing meta-data to be shared with other internal and external entities • name cannot be changed in order to assure an absolute minimum level of MEI compliance
Alternate document element • meicorpus (meihead, mei+) – encodes multiple mei instances where each requires a header of its own • also provides header for entire file • name cannot be changed in order to assure an absolute minimum level of MEI compliance
meihead element • encodes bibliographic (descriptive, administrative, and technical) meta-data for the file • filedescelement contains data, such as title, agent, and publication status, and access data, such as vendor, price, and rights management info, for the file • sourcedesc element contains descriptions of each source for the file. source elements employ the same bibliographic elements as filedesc, but also include physical description elements, such as medium, dimensions, provenance, inscription, condition, etc.
work element • the "thing" being encoded • may include not just music notation, but also the textual matter often found in a critical or historical edition, composer's textual notes, advertisements, etc. • name cannot be changed in order to assure an absolute minimum level of MEI compliance
Work-level text • front and back child elements provide basic logical and presentational text markup functionality • accommodating text gives control of the text and notation to MEI, which embedding notation in another markup scheme, such as TEI, will not do
music element • encodes the musical, as opposed to the textual, content of the work • contains highest-level indication of the structure of the composition – one or more discrete, linear segments, calledmdiv("musical division") • genericmdivelements may be typed – symphonies, for example, usually consist of movements while operas are made up of acts
group element • facilitates creation of a collection of work elements that share a bibliographic header – a collection of songs by different composers issued under a single title, for example • basic meta-data for each work may be encoded in its own front matter or in source elements in the file header • use meicorpus element when a complete bibliographic header is required for each member of a collection
mdiv element • may contain one or both of two possible organizing views – score and parts • score element contains a time-oriented view of the composition – a full score • parts element contains part elements each of which represents a performer's view
mdiv element, con't. • score and parts views are intended to accommodate different methods of organizing the markup – no particular presentation is implied, software may render a collection of parts as a score or a score as a collection of parts • it is not always possible or desirable to generate one view from the other. A great deal of complexity can be eliminated by separating score and part markup.
part element • has all the encoding features of a full score – content models of score and part elements are identical • voice-leading should be recorded at the event level using the next or prev attributes
part element, cont. • use part elements when • there is no score, only a collection of parts • parts don't share visual characteristics, such as typeface or layout with the full score or with each other • score has non-aligning bar lines • accommodating rendering software that requires staff-by-staff encoding
section element • score or part may be divided into linear segments or sections • sections usually function as scoping mechanisms for clef signs, key and meter signatures, and expression marks • minimize the need for backward scanning to establish context when the starting point for access is not at the beginning • when a sectioncontains sections, the expan attribute on the outer section element may be used to encode the performance order of the inner sections
section element, con't. • may also be used for user-defined, that is, analytical or editorial, purposes • may be arbitrarily nested to any level
app and ossia elements • an appelement contains at least one alternative reading • each rdg may be linked to a source description in the header • rdg may contain app so that variants of variants may be described • each rdg may be assigned an order, e.g. for selection or rendering purposes, other than the encoded order • ossia performs a similar function at the measure level, however, it represents an alternative presentinthesourcebeingtranscribed.
ending element • specialized form of the section element that may not be recursively nested
measure element • contains events, not symbols • even though events have visual properties, modeling symbols places too much emphasis on presentation and makes the markup less useful as a general "music" (as opposed to "notation") markup scheme • is a linking element that connects the MEI document to an external electronic object, i.e., image, or to another location within the current MEI instance
Control events • control events, such as dynamics, ties, phrase marks, pedal marks, etc. depend on other events • do not fit the principal hierarchy of sections, measures and staves • multiple control events of the same type, i.e., pedal indications, may be associated with the same set of events, i.e., notes
staff element • may be used to indicate division of the measure's contents into multiple data streams <measure> <staff def="1"><note /><rest />...</staff> <staff def="2"><note /></staff> </measure> • does not necessarily indicate layout! • in a staff-by-staff encoding, staff may contain measure elements <staff> <measure n="1">...</measure> <measure n="2">...</measure> </staff> <staff> <measure n="1">...</measure> <measure n="2">...</measure> </staff>
Music Encoding Initiative (MEI) DTD and the OCVE Perry Roland Digital Library Research & Development Group, Alderman Library, University of Virginia pdr4h@virginia.edu http://www.people.virginia.edu/~pdr4h