<midi>

Container for elements that contain information useful when generating MIDI output.
Module
Attributes
@class, @copyof, @corresp, @follows, @label, @layer, @n, @next, @part, @partstaff, @precedes, @prev, @resp, @sameas, @staff, @synch, @type, @xml:base, @xml:id
@class(optional)Contains one or more URIs which denote classification terms that apply to the entity bearing this attribute. One or more values from data.URI, separated by spaces.
@copyof(optional)Points to an element of which the current element is a copy. Value conforms to data.URI.
@corresp(optional)Used to point to other elements that correspond to this one in a generic fashion. One or more values from data.URI, separated by spaces.
@follows(optional)points to one or more events in a user-defined collection that are known to be predecessors of the current element. One or more values from data.URI, separated by spaces.
@label(optional)Captures text to be used to generate a label for the element to which it’s attached, a "tool tip" or prefatory text, for example. Should not be used to record document content. Value is plain text.
@layer(optional)Identifies the layer to which a feature applies. One or more values of datatype positiveInteger, separated by spaces.
@n(optional)Provides a number-like designation that indicates an element’s position in a sequence of similar elements. May not contain space characters. Value conforms to data.WORD.
@next(optional)Used to point to the next event(s) in a user-defined collection. One or more values from data.URI, separated by spaces.
@part(optional)Indicates the part in which the current feature should appear. Use '%all' when the feature should occur in every part. One or more values of datatype a string matching the following regular expression: "(%all|#[\i][\c]+)" , separated by spaces.
@partstaff(optional)Signifies the part staff on which a notated feature occurs. Use '%all' when the feature should occur on every staff. One or more values of datatype a string matching the following regular expression: "(%all|\d+(-\d+)?)" , separated by spaces.
@precedes(optional)Points to one or more events in a user-defined collection that are known to be successors of the current element. One or more values from data.URI, separated by spaces.
@prev(optional)Points to the previous event(s) in a user-defined collection. One or more values from data.URI, separated by spaces.
@resp(optional)Indicates the agent(s) responsible for some aspect of the text’s transcription, editing, or encoding. Its value must point to one or more identifiers declared in the document header. One or more values from data.URI, separated by spaces.
@sameas(optional)Points to an element that is the same as the current element but is not a literal copy of the current element. One or more values from data.URI, separated by spaces.
@staff(optional)Signifies the staff on which a notated event occurs or to which a control event applies. Mandatory when applicable. One or more values of datatype positiveInteger, separated by spaces.
@synch(optional)Points to elements that are synchronous with the current element. One or more values from data.URI, separated by spaces.
@type(optional)Designation which characterizes the element in some sense, using any convenient classification scheme or typology that employs single-token labels. One or more values of datatype NMTOKEN, separated by spaces.
@xml:base(optional)Provides a base URI reference with which applications can resolve relative URI references into absolute URI references. Value conforms to data.URI.
@xml:id(optional)Regularizes the naming of an element and thus facilitates building links between it and other resources. Each id attribute within a document must have a unique value. Value is a valid xml:id.
(MEI.shared) Attributes common to many elements.
(MEI.shared) Attributes that form the basis of the att.common class.
@xml:base(optional)Provides a base URI reference with which applications can resolve relative URI references into absolute URI references. Value conforms to data.URI.
(MEI.shared) Attributes that uniquely identify an element.
@xml:id(optional)Regularizes the naming of an element and thus facilitates building links between it and other resources. Each id attribute within a document must have a unique value. Value is a valid xml:id.
(MEI.shared)
@label(optional)Captures text to be used to generate a label for the element to which it’s attached, a "tool tip" or prefatory text, for example. Should not be used to record document content. Value is plain text.
(MEI.shared) Attributes that specify element-to-element relationships.
@copyof(optional)Points to an element of which the current element is a copy. Value conforms to data.URI.
@corresp(optional)Used to point to other elements that correspond to this one in a generic fashion. One or more values from data.URI, separated by spaces.
@follows(optional)points to one or more events in a user-defined collection that are known to be predecessors of the current element. One or more values from data.URI, separated by spaces.
@next(optional)Used to point to the next event(s) in a user-defined collection. One or more values from data.URI, separated by spaces.
@precedes(optional)Points to one or more events in a user-defined collection that are known to be successors of the current element. One or more values from data.URI, separated by spaces.
@prev(optional)Points to the previous event(s) in a user-defined collection. One or more values from data.URI, separated by spaces.
@sameas(optional)Points to an element that is the same as the current element but is not a literal copy of the current element. One or more values from data.URI, separated by spaces.
@synch(optional)Points to elements that are synchronous with the current element. One or more values from data.URI, separated by spaces.
(MEI.shared) Attributes used to supply a number-like designation for an element.
@n(optional)Provides a number-like designation that indicates an element’s position in a sequence of similar elements. May not contain space characters. Value conforms to data.WORD.
(MEI.shared) Attributes capturing information regarding responsibility for some aspect of the text's creation, transcription, editing, or encoding.
@resp(optional)Indicates the agent(s) responsible for some aspect of the text’s transcription, editing, or encoding. Its value must point to one or more identifiers declared in the document header. One or more values from data.URI, separated by spaces.
(MEI.shared) Attributes which can be used to classify features.
@type(optional)Designation which characterizes the element in some sense, using any convenient classification scheme or typology that employs single-token labels. One or more values of datatype NMTOKEN, separated by spaces.
(MEI.shared) Attributes which can be used to classify features.
@class(optional)Contains one or more URIs which denote classification terms that apply to the entity bearing this attribute. One or more values from data.URI, separated by spaces.
(MEI.midi) Logical domain attributes.
(MEI.shared) Attributes that identify the layer to which a feature applies.
@layer(optional)Identifies the layer to which a feature applies. One or more values of datatype positiveInteger, separated by spaces.
(MEI.shared) Attributes for identifying the part in which the current feature appears.
@part(optional)Indicates the part in which the current feature should appear. Use '%all' when the feature should occur in every part. One or more values of datatype a string matching the following regular expression: "(%all|#[\i][\c]+)" , separated by spaces.
@partstaff(optional)Signifies the part staff on which a notated feature occurs. Use '%all' when the feature should occur on every staff. One or more values of datatype a string matching the following regular expression: "(%all|\d+(-\d+)?)" , separated by spaces.
(MEI.shared) Attributes for identifying the staff associated with the current feature.
@staff(optional)Signifies the staff on which a notated event occurs or to which a control event applies. Mandatory when applicable. One or more values of datatype positiveInteger, separated by spaces.
(MEI.gestural) Gestural domain attributes.
(MEI.analytical) Analytical domain attributes.
Component declarations that are shared between two or more modules.
@class(optional)Contains one or more URIs which denote classification terms that apply to the entity bearing this attribute. One or more values from data.URI, separated by spaces.
@copyof(optional)Points to an element of which the current element is a copy. Value conforms to data.URI.
@corresp(optional)Used to point to other elements that correspond to this one in a generic fashion. One or more values from data.URI, separated by spaces.
@follows(optional)points to one or more events in a user-defined collection that are known to be predecessors of the current element. One or more values from data.URI, separated by spaces.
@label(optional)Captures text to be used to generate a label for the element to which it’s attached, a "tool tip" or prefatory text, for example. Should not be used to record document content. Value is plain text.
@layer(optional)Identifies the layer to which a feature applies. One or more values of datatype positiveInteger, separated by spaces.
@n(optional)Provides a number-like designation that indicates an element’s position in a sequence of similar elements. May not contain space characters. Value conforms to data.WORD.
@next(optional)Used to point to the next event(s) in a user-defined collection. One or more values from data.URI, separated by spaces.
@part(optional)Indicates the part in which the current feature should appear. Use '%all' when the feature should occur in every part. One or more values of datatype a string matching the following regular expression: "(%all|#[\i][\c]+)" , separated by spaces.
@partstaff(optional)Signifies the part staff on which a notated feature occurs. Use '%all' when the feature should occur on every staff. One or more values of datatype a string matching the following regular expression: "(%all|\d+(-\d+)?)" , separated by spaces.
@precedes(optional)Points to one or more events in a user-defined collection that are known to be successors of the current element. One or more values from data.URI, separated by spaces.
@prev(optional)Points to the previous event(s) in a user-defined collection. One or more values from data.URI, separated by spaces.
@resp(optional)Indicates the agent(s) responsible for some aspect of the text’s transcription, editing, or encoding. Its value must point to one or more identifiers declared in the document header. One or more values from data.URI, separated by spaces.
@sameas(optional)Points to an element that is the same as the current element but is not a literal copy of the current element. One or more values from data.URI, separated by spaces.
@staff(optional)Signifies the staff on which a notated event occurs or to which a control event applies. Mandatory when applicable. One or more values of datatype positiveInteger, separated by spaces.
@synch(optional)Points to elements that are synchronous with the current element. One or more values from data.URI, separated by spaces.
@type(optional)Designation which characterizes the element in some sense, using any convenient classification scheme or typology that employs single-token labels. One or more values of datatype NMTOKEN, separated by spaces.
@xml:base(optional)Provides a base URI reference with which applications can resolve relative URI references into absolute URI references. Value conforms to data.URI.
@xml:id(optional)Regularizes the naming of an element and thus facilitates building links between it and other resources. Each id attribute within a document must have a unique value. Value is a valid xml:id.
Member of
model.midiLikeGroups elements which group MIDI-like elements.
Contained By
(MEI.midi) Groups elements which group MIDI-like elements.
(MEI.cmn) Groups elements that may appear within a CMN measure.
<measure>Unit of musical time consisting of a fixed number of note values of a given type, as determined by the prevailing meter, and delimited in musical notation by bar lines.
(MEI.neumes) Groups elements that may appear as part of the content of a syllable.
<syllable>Neume notation can be thought of as "neumed text". Therefore, the syllable element provides high-level organization in this repertoire.
(MEI.shared) Groups notated events at the layer level that are shared by the mensural and neume repertoires.
(MEI.shared) Groups notated events that may appear at the layer level in all repertoires.
<abbr>A generic element for 1) a shortened form of a word, including an acronym or 2) a shorthand notation.
<add>Marks an addition to the text.
<corr>Contains the correct form of an apparent erroneous passage.
<damage>Contains an area of damage to the physical medium.
<del>Contains information deleted, marked as deleted, or otherwise indicated as superfluous or spurious in the copy text by an author, scribe, annotator, or corrector.
<expan>Contains the expansion of an abbreviation.
<layer>An independent stream of events on a staff.
<lem>Contains the lemma, or base text, of a textual variation.
<oLayer>A layer that contains an alternative to material in another layer.
<orig>Contains material which is marked as following the original, rather than being normalized or corrected.
<rdg>Contains a single reading within a textual variation.
<reg>Contains material which has been regularized or normalized in some sense.
<restore>Indicates restoration of material to an earlier state by cancellation of an editorial or authorial marking or instruction.
<sic>Contains apparently incorrect or inaccurate material.
<supplied>Contains material supplied by the transcriber or editor for any reason.
<unclear>Contains material that cannot be transcribed with certainty because it is illegible or inaudible in the source.
Common Music Notation (CMN) repertoire component declarations.
<measure>Unit of musical time consisting of a fixed number of note values of a given type, as determined by the prevailing meter, and delimited in musical notation by bar lines.
<oLayer>A layer that contains an alternative to material in another layer.
Critical apparatus component declarations.
<lem>Contains the lemma, or base text, of a textual variation.
<rdg>Contains a single reading within a textual variation.
Editorial and transcriptional component declarations.
<abbr>A generic element for 1) a shortened form of a word, including an acronym or 2) a shorthand notation.
<add>Marks an addition to the text.
<corr>Contains the correct form of an apparent erroneous passage.
<damage>Contains an area of damage to the physical medium.
<del>Contains information deleted, marked as deleted, or otherwise indicated as superfluous or spurious in the copy text by an author, scribe, annotator, or corrector.
<expan>Contains the expansion of an abbreviation.
<orig>Contains material which is marked as following the original, rather than being normalized or corrected.
<reg>Contains material which has been regularized or normalized in some sense.
<restore>Indicates restoration of material to an earlier state by cancellation of an editorial or authorial marking or instruction.
<sic>Contains apparently incorrect or inaccurate material.
<supplied>Contains material supplied by the transcriber or editor for any reason.
<unclear>Contains material that cannot be transcribed with certainty because it is illegible or inaudible in the source.
Neume repertoire component declarations.
<syllable>Neume notation can be thought of as "neumed text". Therefore, the syllable element provides high-level organization in this repertoire.
Component declarations that are shared between two or more modules.
<layer>An independent stream of events on a staff.
May Contain
<cc>MIDI parameter/control change.
<chan>MIDI channel assignment.
<chanPr>MIDI channel pressure/after touch.
<cue>MIDI cue point.
<hex>Arbitrary MIDI data in hexadecimal form.
<marker>MIDI marker meta-event.
<metaText>MIDI text meta-event.
<noteOff>MIDI note-off event.
<noteOn>MIDI note-on event.
<port>MIDI port.
<prog>MIDI program change.
<seqNum>MIDI sequence number.
<trkName>MIDI track/sequence name.
<vel>MIDI Note-on/off velocity.
MIDI component declarations.
<cc>MIDI parameter/control change.
<chan>MIDI channel assignment.
<chanPr>MIDI channel pressure/after touch.
<cue>MIDI cue point.
<hex>Arbitrary MIDI data in hexadecimal form.
<marker>MIDI marker meta-event.
<metaText>MIDI text meta-event.
<noteOff>MIDI note-off event.
<noteOn>MIDI note-on event.
<port>MIDI port.
<prog>MIDI program change.
<seqNum>MIDI sequence number.
<trkName>MIDI track/sequence name.
<vel>MIDI Note-on/off velocity.
Remarks

The @label attribute can be used to differentiate between multiple MIDI data streams, e.g., quantized/unquantized, straight/swing, ornamented/as notated, etc.

Declaration
<elementSpec ident="midi" module="MEI.midi">
<desc xml:lang="en">Container for elements that contain information useful when generating MIDI output.</desc>
<classes>
<memberOf key="att.common"/>
<memberOf key="att.midi.log"/>
<memberOf key="att.midi.ges"/>
<memberOf key="att.midi.anl"/>
<memberOf key="model.midiLike"/>
</classes>
<content>
<rng:zeroOrMore>
<rng:choice>
<rng:ref name="cc"/>
<rng:ref name="chan"/>
<rng:ref name="chanPr"/>
<rng:ref name="cue"/>
<rng:ref name="hex"/>
<rng:ref name="marker"/>
<rng:ref name="metaText"/>
<rng:ref name="noteOff"/>
<rng:ref name="noteOn"/>
<rng:ref name="port"/>
<rng:ref name="prog"/>
<rng:ref name="seqNum"/>
<rng:ref name="trkName"/>
<rng:ref name="vel"/>
</rng:choice>
</rng:zeroOrMore>
</content>
<remarks xml:lang="en">
<p>The <att>label</att> attribute can be used to differentiate between multiple MIDI data streams,
<abbr>e.g.</abbr>
, quantized/unquantized, straight/swing, ornamented/as notated, etc.</p>
</remarks>
</elementSpec>