<hairpin>

Indicates continuous dynamics expressed on the score as wedge-shaped graphics, e.g., < and >.
Module
Attributes
angle.optimize, class, closed, color, copyof, corresp, dots.ges, dur, dur.ges, dur.metrical, dur.ppq, dur.real, dur.recip, endho, endid, endto, endvo, evaluate, facs, follows, form, ho, label, layer, lform, lsegs, lwidth, n, next, niente, opening, opening.vertical, part, partstaff, place, plist, precedes, prev, resp, sameas, staff, startho, startid, startto, startvo, synch, to, tstamp, tstamp.ges, tstamp.real, tstamp2, tstamp2.ges, tstamp2.real, type, val, val2, vgrp, vo, when, x, x2, xml:base, xml:id, y, y2
angle.optimize(optional)Indicates that the slope of the hairpin can be adjusted to follow the content in order to optimize spacing. Value conforms to data.BOOLEAN.
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.
closed(optional)Applies to a "Rossini" hairpin, i.e., one where the normally open side is closed by a connecting line. Value conforms to data.BOOLEAN.
color(optional)Used to indicate visual appearance. Do not confuse this with the musical term 'color' as used in pre-CMN notation. Value conforms to data.COLOR.
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.
dots.ges(optional)Number of dots required for a gestural duration when different from that of the written duration. Value conforms to data.AUGMENTDOT.
dur(optional)When a duration cannot be represented as a single power-of-two value, multiple space-separated values that add up to the total duration may be used. One or more values from data.DURATION, separated by spaces.
dur.ges(optional)Records performed duration information that differs from the written duration. Value conforms to data.DURATION.GESTURAL.
dur.metrical(optional)Duration as a count of units provided in the time signature denominator. Value is a decimal number.
dur.ppq(optional)Duration recorded as pulses-per-quarter note, e.g., MIDI clicks or MusicXML divisions. Value is a positive integer, including 0.
dur.real(optional)Duration in seconds, e.g., 1.732. Value is a decimal number.
dur.recip(optional)Duration as an optionally dotted Humdrum **recip value. Value is a token.
endho(optional)Records the horizontal adjustment of a feature’s programmatically-determined end point. Value conforms to data.MEASUREMENTSIGNED.
endid(optional)Indicates the final element in a sequence of events to which the feature applies. Value conforms to data.URI.
endto(optional)Records a timestamp adjustment of a feature’s programmatically-determined end point. Value conforms to data.TSTAMPOFFSET.
endvo(optional)Records a vertical adjustment of a feature’s programmatically-determined end point. Value conforms to data.MEASUREMENTSIGNED.
evaluate(optional)Specifies the intended meaning when a participant in a relationship is itself a pointer. Allowed values are: "all" (If an element pointed to is itself a pointer, then the target of that pointer will be taken, and so on, until an element is found which is not a pointer.), "one" (If an element pointed to is itself a pointer, then its target (whether a pointer or not) is taken as the target of this pointer.), "none" (No further evaluation of targets is carried out beyond that needed to find the element(s) specified in plist or target attribute.)
facs(optional)Points to one or more images, portions of an image, or surfaces which correspond to the current element. 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.
form(required)Captures the visual rendition and function of the hairpin; that is, whether it indicates an increase or a decrease in volume. Allowed values are: "cres" (Crescendo; , louder.), "dim" (Diminuendo; , softer.)
ho(optional)Records a horizontal adjustment to a feature’s programmatically-determined location in terms of staff interline distance; that is, in units of 1/2 the distance between adjacent staff lines. Value conforms to data.MEASUREMENTSIGNED.
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.
lform(optional)Describes the style of a line. Value conforms to data.LINEFORM.
lsegs(optional)Describes the number of segments into which a dashed or dotted line may be divided, or the number of "peaks" of a wavy line; a pair of space-separated values (minimum and maximum, respectively) provides a range between which a rendering system-supplied value may fall, while a single value indicates a fixed amount of space; that is, the minimum and maximum values are equal. One or two values of datatype a positive integer no smaller than 2, separated by a space.
lwidth(optional)Width of a line. Value conforms to data.LINEWIDTH.
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.
niente(optional)Indicates that the hairpin starts from or ends in silence. Often rendered as a small circle attached to the closed end of the hairpin. See Gould, p. 108. Value conforms to data.BOOLEAN.
opening(optional)Specifies the distance between the lines at the open end of a hairpin dynamic mark. Value conforms to data.MEASUREMENTUNSIGNED.
opening.vertical(optional)Indicates that the opening points are aligned with an imaginary line that is always 90° perpendicular to the horizontal plane, regardless of any angle or start/end adjustments, including when the hairpin is angled with @angle.optimize or through @endvo/@startvo adjustments. Value conforms to data.BOOLEAN.
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.
place(optional)Captures the placement of the item with respect to the staff with which it is associated. Value conforms to data.STAFFREL.
plist(optional)When the target attribute is present, plist identifies the active participants; that is, those entities pointed "from", in a relationship with the specified target(s). When the target attribute is not present, it identifies participants in a mutual relationship. 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.
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(recommended)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.
startho(optional)Records the horizontal adjustment of a feature’s programmatically-determined start point. Value conforms to data.MEASUREMENTSIGNED.
startid(optional)Holds a reference to the first element in a sequence of events to which the feature applies. Value conforms to data.URI.
startto(optional)Records a timestamp adjustment of a feature’s programmatically-determined start point. Value conforms to data.TSTAMPOFFSET.
startvo(optional)Records a vertical adjustment of a feature’s programmatically-determined start point. Value conforms to data.MEASUREMENTSIGNED.
synch(optional)Points to elements that are synchronous with the current element. One or more values from data.URI, separated by spaces.
to(optional)Records a timestamp adjustment of a feature’s programmatically-determined location in terms of musical time; that is, beats. Value conforms to data.TSTAMPOFFSET.
tstamp(optional)Encodes the onset time in terms of musical time, i.e., beats[.fractional beat part], as expressed in the written time signature. Value conforms to data.BEAT.
tstamp.ges(optional)Encodes the onset time in terms of musical time, i.e., beats[.fractional beat part], as expressed in the written time signature. Value conforms to data.BEAT.
tstamp.real(optional)Records the onset time in terms of ISO time. Value conforms to data.ISOTIME.
tstamp2(optional)Encodes the ending point of an event, i.e., a count of measures plus a beat location in the ending measure. Value conforms to data.MEASUREBEAT.
tstamp2.ges(optional)Encodes the ending point of an event, i.e., a count of measures plus a beat location in the ending measure. Value conforms to data.MEASUREBEAT.
tstamp2.real(optional)Records the ending point of an event in terms of ISO time. Value conforms to data.ISOTIME.
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.
val(optional)MIDI number. Value conforms to data.MIDIVALUE.
val2(optional)MIDI number. Value conforms to data.MIDIVALUE.
vgrp(optional)Provides a label for members of a vertically aligned group. Value is a positive integer.
vo(optional)Records the vertical adjustment of a feature’s programmatically-determined location in terms of staff interline distance; that is, in units of 1/2 the distance between adjacent staff lines. Value conforms to data.MEASUREMENTSIGNED.
when(optional)Indicates the point of occurrence of this feature along a time line. Its value must be the ID of a when element elsewhere in the document. Value conforms to data.URI.
x(optional)Encodes an x coordinate for a feature in an output coordinate system. When it is necessary to record the placement of a feature in a facsimile image, use the facs attribute. Value is a decimal number.
x2(optional)Encodes the optional 2nd x coordinate. Value is a decimal number.
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.
y(optional)Encodes a y coordinate for a feature in an output coordinate system. When it is necessary to record the placement of a feature in a facsimile image, use the facs attribute. Value is a decimal number.
y2(optional)Encodes the optional 2nd y coordinate. Value is a decimal number.
(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.facsimile) Attributes that associate a feature corresponding with all or part of an image.
facs(optional)Points to one or more images, portions of an image, or surfaces which correspond to the current element. One or more values from data.URI, separated by spaces.
(MEI.cmn) Logical domain attributes.
form(required)Captures the visual rendition and function of the hairpin; that is, whether it indicates an increase or a decrease in volume. Allowed values are: "cres" (Crescendo; , louder.), "dim" (Diminuendo; , softer.)
niente(optional)Indicates that the hairpin starts from or ends in silence. Often rendered as a small circle attached to the closed end of the hairpin. See Gould, p. 108. Value conforms to data.BOOLEAN.
(MEI.shared) Attributes shared by events which rely on other events for their existence. For example, a slur/phrase marking must be drawn between or over a group of notes. The slur is therefore a control event.
(MEI.performance) Temporal alignment attributes.
when(optional)Indicates the point of occurrence of this feature along a time line. Its value must be the ID of a when element elsewhere in the document. Value conforms to data.URI.
(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 listing the active participants in a user-defined collection.
plist(optional)When the target attribute is present, plist identifies the active participants; that is, those entities pointed "from", in a relationship with the specified target(s). When the target attribute is not present, it identifies participants in a mutual relationship. One or more values from data.URI, separated by spaces.
(MEI.shared) Attributes for identifying the staff associated with the current feature.
staff(recommended)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.shared) Attributes that deal with resolution of values in plist or target attributes.
evaluate(optional)Specifies the intended meaning when a participant in a relationship is itself a pointer. Allowed values are: "all" (If an element pointed to is itself a pointer, then the target of that pointer will be taken, and so on, until an element is found which is not a pointer.), "one" (If an element pointed to is itself a pointer, then its target (whether a pointer or not) is taken as the target of this pointer.), "none" (No further evaluation of targets is carried out beyond that needed to find the element(s) specified in plist or target attribute.)
(MEI.shared) Attributes that record a time stamp in terms of musical time, , beats[.fractional beat part].
tstamp(optional)Encodes the onset time in terms of musical time, i.e., beats[.fractional beat part], as expressed in the written time signature. Value conforms to data.BEAT.
(MEI.gestural) Attributes that record a performed (as opposed to notated) time stamp.
tstamp.ges(optional)Encodes the onset time in terms of musical time, i.e., beats[.fractional beat part], as expressed in the written time signature. Value conforms to data.BEAT.
tstamp.real(optional)Records the onset time in terms of ISO time. Value conforms to data.ISOTIME.
(MEI.shared) Attributes that permit total duration to be represented by multiple values.
dur(optional)When a duration cannot be represented as a single power-of-two value, multiple space-separated values that add up to the total duration may be used. One or more values from data.DURATION, separated by spaces.
(MEI.shared) Attributes recording the identifiers of the first and last elements of a sequence of elements to which the current element is associated.
endid(optional)Indicates the final element in a sequence of events to which the feature applies. Value conforms to data.URI.
(MEI.shared) Attributes that identify a relative starting point.
startid(optional)Holds a reference to the first element in a sequence of events to which the feature applies. Value conforms to data.URI.
(MEI.shared) Attributes that record a time stamp for the end of an event in terms of musical time.
tstamp2(optional)Encodes the ending point of an event, i.e., a count of measures plus a beat location in the ending measure. Value conforms to data.MEASUREBEAT.
(MEI.visual) Visual domain attributes. The startho and startvo attributes record the horizontal and vertical offsets of the left end, endho and endvo record the horizontal and vertical offsets of the right end, and the opening attribute records the width of the opening in staff inter-line units. The x and y attributes give the absolute coordinates of the left end point, and x2 and y2 the right end point, of an imaginary line that defines the length of the hairpin and horizontally bifurcates it. The so-called "pitch" of hairpin may be controlled by use of the startho, endho, startvo, and endvo attributes, while the placement of the entire rendered mark may be controlled by use of the ho and vo attributes.
opening(optional)Specifies the distance between the lines at the open end of a hairpin dynamic mark. Value conforms to data.MEASUREMENTUNSIGNED.
closed(optional)Applies to a "Rossini" hairpin, i.e., one where the normally open side is closed by a connecting line. Value conforms to data.BOOLEAN.
opening.vertical(optional)Indicates that the opening points are aligned with an imaginary line that is always 90° perpendicular to the horizontal plane, regardless of any angle or start/end adjustments, including when the hairpin is angled with @angle.optimize or through @endvo/@startvo adjustments. Value conforms to data.BOOLEAN.
angle.optimize(optional)Indicates that the slope of the hairpin can be adjusted to follow the content in order to optimize spacing. Value conforms to data.BOOLEAN.
(MEI.shared) Visual color attributes.
color(optional)Used to indicate visual appearance. Do not confuse this with the musical term 'color' as used in pre-CMN notation. Value conforms to data.COLOR.
(MEI.shared) Attributes that record the basic visual rendition of lines.
lform(optional)Describes the style of a line. Value conforms to data.LINEFORM.
lwidth(optional)Width of a line. Value conforms to data.LINEWIDTH.
lsegs(optional)Describes the number of segments into which a dashed or dotted line may be divided, or the number of "peaks" of a wavy line; a pair of space-separated values (minimum and maximum, respectively) provides a range between which a rendering system-supplied value may fall, while a single value indicates a fixed amount of space; that is, the minimum and maximum values are equal. One or two values of datatype a positive integer no smaller than 2, separated by a space.
(MEI.shared) Attributes capturing placement information with respect to the staff.
place(optional)Captures the placement of the item with respect to the staff with which it is associated. Value conforms to data.STAFFREL.
(MEI.shared) Attributes that record grouping of vertically aligned elements.
vgrp(optional)Provides a label for members of a vertically aligned group. Value is a positive integer.
(MEI.shared) Visual offset attributes. Some items may have their location recorded in terms of offsets from their programmatically-determined location. The ho attribute records the horizontal offset while vo records the vertical. The to attribute holds a timestamp offset, the most common use of which is as an alternative to the ho attribute.
(MEI.shared) Horizontal offset attributes.
ho(optional)Records a horizontal adjustment to a feature’s programmatically-determined location in terms of staff interline distance; that is, in units of 1/2 the distance between adjacent staff lines. Value conforms to data.MEASUREMENTSIGNED.
(MEI.shared) Horizontal offset attributes specified in terms of time.
to(optional)Records a timestamp adjustment of a feature’s programmatically-determined location in terms of musical time; that is, beats. Value conforms to data.TSTAMPOFFSET.
(MEI.shared) Vertical offset attributes.
vo(optional)Records the vertical adjustment of a feature’s programmatically-determined location in terms of staff interline distance; that is, in units of 1/2 the distance between adjacent staff lines. Value conforms to data.MEASUREMENTSIGNED.
(MEI.shared) Visual offset attributes. Some items may have their location recorded in terms of pairs of offsets from their programmatically-determined location. The startho and endho attributes record the horizontal offsets of the start and end points of the item, respectively. Similarly, the startvo and endvo attributes record the vertical offsets of the start and end points of the item. The startto and endto attributes hold timestamp offsets, the most common use of which is as alternatives to the ho attributes.
(MEI.shared) Horizontal offset requiring a pair of attributes.
startho(optional)Records the horizontal adjustment of a feature’s programmatically-determined start point. Value conforms to data.MEASUREMENTSIGNED.
endho(optional)Records the horizontal adjustment of a feature’s programmatically-determined end point. Value conforms to data.MEASUREMENTSIGNED.
(MEI.shared) Horizontal offset attributes requiring a pair of attributes specified in terms of time.
startto(optional)Records a timestamp adjustment of a feature’s programmatically-determined start point. Value conforms to data.TSTAMPOFFSET.
endto(optional)Records a timestamp adjustment of a feature’s programmatically-determined end point. Value conforms to data.TSTAMPOFFSET.
(MEI.shared) Vertical offset attributes requiring a pair of attributes.
startvo(optional)Records a vertical adjustment of a feature’s programmatically-determined start point. Value conforms to data.MEASUREMENTSIGNED.
endvo(optional)Records a vertical adjustment of a feature’s programmatically-determined end point. Value conforms to data.MEASUREMENTSIGNED.
(MEI.shared) Output coordinate attributes. Some elements may have their exact rendered *output* coordinates recorded. x and y attributes indicate where to place the rendered output. Recording the coordinates of a feature in a facsimile requires the use of the facs attribute.
x(optional)Encodes an x coordinate for a feature in an output coordinate system. When it is necessary to record the placement of a feature in a facsimile image, use the facs attribute. Value is a decimal number.
y(optional)Encodes a y coordinate for a feature in an output coordinate system. When it is necessary to record the placement of a feature in a facsimile image, use the facs attribute. Value is a decimal number.
(MEI.shared) Output coordinate attributes. Some elements may need 2 coordinate pairs to record their rendered *output* coordinates. The attributes indicate where to place the rendered output. Recording the coordinates of a feature in a facsimile requires the use of the facs attribute.
x2(optional)Encodes the optional 2nd x coordinate. Value is a decimal number.
y2(optional)Encodes the optional 2nd y coordinate. Value is a decimal number.
(MEI.gestural) Gestural domain attributes.
(MEI.gestural) Attributes that record performed duration that differs from a feature’s written duration.
dur.ges(optional)Records performed duration information that differs from the written duration. Value conforms to data.DURATION.GESTURAL.
dots.ges(optional)Number of dots required for a gestural duration when different from that of the written duration. Value conforms to data.AUGMENTDOT.
dur.metrical(optional)Duration as a count of units provided in the time signature denominator. Value is a decimal number.
dur.ppq(optional)Duration recorded as pulses-per-quarter note, e.g., MIDI clicks or MusicXML divisions. Value is a positive integer, including 0.
dur.real(optional)Duration in seconds, e.g., 1.732. Value is a decimal number.
dur.recip(optional)Duration as an optionally dotted Humdrum **recip value. Value is a token.
(MEI.midi) Attributes that record MIDI values.
val(optional)MIDI number. Value conforms to data.MIDIVALUE.
(MEI.midi) Attributes that record terminal MIDI values.
val2(optional)MIDI number. Value conforms to data.MIDIVALUE.
(MEI.gestural) Attributes that record a performed (as opposed to notated) time stamp for the end of an event.
tstamp2.ges(optional)Encodes the ending point of an event, i.e., a count of measures plus a beat location in the ending measure. Value conforms to data.MEASUREBEAT.
tstamp2.real(optional)Records the ending point of an event in terms of ISO time. Value conforms to data.ISOTIME.
(MEI.analytical) Analytical domain attributes.
Common Music Notation (CMN) repertoire component declarations.
form(required)Captures the visual rendition and function of the hairpin; that is, whether it indicates an increase or a decrease in volume. Allowed values are: "cres" (Crescendo; , louder.), "dim" (Diminuendo; , softer.)
niente(optional)Indicates that the hairpin starts from or ends in silence. Often rendered as a small circle attached to the closed end of the hairpin. See Gould, p. 108. Value conforms to data.BOOLEAN.
Facsimile component declarations.
facs(optional)Points to one or more images, portions of an image, or surfaces which correspond to the current element. One or more values from data.URI, separated by spaces.
Gestural component declarations.
dots.ges(optional)Number of dots required for a gestural duration when different from that of the written duration. Value conforms to data.AUGMENTDOT.
dur.ges(optional)Records performed duration information that differs from the written duration. Value conforms to data.DURATION.GESTURAL.
dur.metrical(optional)Duration as a count of units provided in the time signature denominator. Value is a decimal number.
dur.ppq(optional)Duration recorded as pulses-per-quarter note, e.g., MIDI clicks or MusicXML divisions. Value is a positive integer, including 0.
dur.real(optional)Duration in seconds, e.g., 1.732. Value is a decimal number.
dur.recip(optional)Duration as an optionally dotted Humdrum **recip value. Value is a token.
tstamp.ges(optional)Encodes the onset time in terms of musical time, i.e., beats[.fractional beat part], as expressed in the written time signature. Value conforms to data.BEAT.
tstamp.real(optional)Records the onset time in terms of ISO time. Value conforms to data.ISOTIME.
tstamp2.ges(optional)Encodes the ending point of an event, i.e., a count of measures plus a beat location in the ending measure. Value conforms to data.MEASUREBEAT.
tstamp2.real(optional)Records the ending point of an event in terms of ISO time. Value conforms to data.ISOTIME.
MIDI component declarations.
val(optional)MIDI number. Value conforms to data.MIDIVALUE.
val2(optional)MIDI number. Value conforms to data.MIDIVALUE.
Performance component declarations.
when(optional)Indicates the point of occurrence of this feature along a time line. Its value must be the ID of a when element elsewhere in the document. Value conforms to data.URI.
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.
color(optional)Used to indicate visual appearance. Do not confuse this with the musical term 'color' as used in pre-CMN notation. Value conforms to data.COLOR.
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.
dur(optional)When a duration cannot be represented as a single power-of-two value, multiple space-separated values that add up to the total duration may be used. One or more values from data.DURATION, separated by spaces.
endho(optional)Records the horizontal adjustment of a feature’s programmatically-determined end point. Value conforms to data.MEASUREMENTSIGNED.
endid(optional)Indicates the final element in a sequence of events to which the feature applies. Value conforms to data.URI.
endto(optional)Records a timestamp adjustment of a feature’s programmatically-determined end point. Value conforms to data.TSTAMPOFFSET.
endvo(optional)Records a vertical adjustment of a feature’s programmatically-determined end point. Value conforms to data.MEASUREMENTSIGNED.
evaluate(optional)Specifies the intended meaning when a participant in a relationship is itself a pointer. Allowed values are: "all" (If an element pointed to is itself a pointer, then the target of that pointer will be taken, and so on, until an element is found which is not a pointer.), "one" (If an element pointed to is itself a pointer, then its target (whether a pointer or not) is taken as the target of this pointer.), "none" (No further evaluation of targets is carried out beyond that needed to find the element(s) specified in plist or target attribute.)
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.
ho(optional)Records a horizontal adjustment to a feature’s programmatically-determined location in terms of staff interline distance; that is, in units of 1/2 the distance between adjacent staff lines. Value conforms to data.MEASUREMENTSIGNED.
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.
lform(optional)Describes the style of a line. Value conforms to data.LINEFORM.
lsegs(optional)Describes the number of segments into which a dashed or dotted line may be divided, or the number of "peaks" of a wavy line; a pair of space-separated values (minimum and maximum, respectively) provides a range between which a rendering system-supplied value may fall, while a single value indicates a fixed amount of space; that is, the minimum and maximum values are equal. One or two values of datatype a positive integer no smaller than 2, separated by a space.
lwidth(optional)Width of a line. Value conforms to data.LINEWIDTH.
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.
place(optional)Captures the placement of the item with respect to the staff with which it is associated. Value conforms to data.STAFFREL.
plist(optional)When the target attribute is present, plist identifies the active participants; that is, those entities pointed "from", in a relationship with the specified target(s). When the target attribute is not present, it identifies participants in a mutual relationship. 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.
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(recommended)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.
startho(optional)Records the horizontal adjustment of a feature’s programmatically-determined start point. Value conforms to data.MEASUREMENTSIGNED.
startid(optional)Holds a reference to the first element in a sequence of events to which the feature applies. Value conforms to data.URI.
startto(optional)Records a timestamp adjustment of a feature’s programmatically-determined start point. Value conforms to data.TSTAMPOFFSET.
startvo(optional)Records a vertical adjustment of a feature’s programmatically-determined start point. Value conforms to data.MEASUREMENTSIGNED.
synch(optional)Points to elements that are synchronous with the current element. One or more values from data.URI, separated by spaces.
to(optional)Records a timestamp adjustment of a feature’s programmatically-determined location in terms of musical time; that is, beats. Value conforms to data.TSTAMPOFFSET.
tstamp(optional)Encodes the onset time in terms of musical time, i.e., beats[.fractional beat part], as expressed in the written time signature. Value conforms to data.BEAT.
tstamp2(optional)Encodes the ending point of an event, i.e., a count of measures plus a beat location in the ending measure. Value conforms to data.MEASUREBEAT.
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.
vgrp(optional)Provides a label for members of a vertically aligned group. Value is a positive integer.
vo(optional)Records the vertical adjustment of a feature’s programmatically-determined location in terms of staff interline distance; that is, in units of 1/2 the distance between adjacent staff lines. Value conforms to data.MEASUREMENTSIGNED.
x(optional)Encodes an x coordinate for a feature in an output coordinate system. When it is necessary to record the placement of a feature in a facsimile image, use the facs attribute. Value is a decimal number.
x2(optional)Encodes the optional 2nd x coordinate. Value is a decimal number.
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.
y(optional)Encodes a y coordinate for a feature in an output coordinate system. When it is necessary to record the placement of a feature in a facsimile image, use the facs attribute. Value is a decimal number.
y2(optional)Encodes the optional 2nd y coordinate. Value is a decimal number.
Visual component declarations.
angle.optimize(optional)Indicates that the slope of the hairpin can be adjusted to follow the content in order to optimize spacing. Value conforms to data.BOOLEAN.
closed(optional)Applies to a "Rossini" hairpin, i.e., one where the normally open side is closed by a connecting line. Value conforms to data.BOOLEAN.
opening(optional)Specifies the distance between the lines at the open end of a hairpin dynamic mark. Value conforms to data.MEASUREMENTUNSIGNED.
opening.vertical(optional)Indicates that the opening points are aligned with an imaginary line that is always 90° perpendicular to the horizontal plane, regardless of any angle or start/end adjustments, including when the hairpin is angled with @angle.optimize or through @endvo/@startvo adjustments. Value conforms to data.BOOLEAN.
Member of
model.controlEventLike.cmnGroups control events that appear in CMN.
Contained By
(MEI.cmn) Groups control events that appear in CMN.
(MEI.cmn) Groups elements that may appear within a CMN measure.
measureUnit 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.critapp) Groups elements that may appear as part of a musical variant.
(MEI.critapp) Groups elements that may appear as part of a textual or musical variant.
lemContains the lemma, or base text, of a textual variation.
rdgContains a single reading within a textual variation.
(MEI.edittrans) Groups elements that may appear as part of editorial and transcription elements in music notation.
(MEI.edittrans) Groups elements that may appear as part of editorial and transcription elements.
abbrA generic element for 1) a shortened form of a word, including an acronym or 2) a shorthand notation.
addMarks an addition to the text.
corrContains the correct form of an apparent erroneous passage.
damageContains an area of damage to the physical medium.
delContains information deleted, marked as deleted, or otherwise indicated as superfluous or spurious in the copy text by an author, scribe, annotator, or corrector.
expanContains the expansion of an abbreviation.
origContains material which is marked as following the original, rather than being normalized or corrected.
regContains material which has been regularized or normalized in some sense.
restoreIndicates restoration of material to an earlier state by cancellation of an editorial or authorial marking or instruction.
sicContains apparently incorrect or inaccurate material.
suppliedContains material supplied by the transcriber or editor for any reason.
unclearContains material that cannot be transcribed with certainty because it is illegible or inaudible in the source.
Common Music Notation (CMN) repertoire component declarations.
measureUnit 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.
Critical apparatus component declarations.
lemContains the lemma, or base text, of a textual variation.
rdgContains a single reading within a textual variation.
Editorial and transcriptional component declarations.
abbrA generic element for 1) a shortened form of a word, including an acronym or 2) a shorthand notation.
addMarks an addition to the text.
corrContains the correct form of an apparent erroneous passage.
damageContains an area of damage to the physical medium.
delContains information deleted, marked as deleted, or otherwise indicated as superfluous or spurious in the copy text by an author, scribe, annotator, or corrector.
expanContains the expansion of an abbreviation.
origContains material which is marked as following the original, rather than being normalized or corrected.
regContains material which has been regularized or normalized in some sense.
restoreIndicates restoration of material to an earlier state by cancellation of an editorial or authorial marking or instruction.
sicContains apparently incorrect or inaccurate material.
suppliedContains material supplied by the transcriber or editor for any reason.
unclearContains material that cannot be transcribed with certainty because it is illegible or inaudible in the source.
May Contain
(<hairpin> may not have child elements)
Remarks

The hairpin element is used for graphical, i.e., crescendo and diminuendo, dynamic markings. For instantaneous or continuous textual dynamics, such as 'p', 'mf', or 'cres. poco a poco', the dynam element should be used. The starting point of the hairpin marking may be indicated by either a startid, tstamp, tstamp.ges, or tstamp.real attribute, while the ending point may be recorded by either a dur, dur.ges, endid, or tstamp2 attribute. It is a semantic error not to specify one starting and one ending type of attribute. MIDI values associated with the graphical dynamic sign may be recorded in the val and val2 attributes.

Constraints

Must have one of the attributes: startid, tstamp, tstamp.ges or tstamp.real.
Must have one of the attributes: dur, dur.ges, endid, or tstamp2.

Declaration
<elementSpec ident="hairpin" module="MEI.cmn">
<desc xml:lang="en">Indicates continuous dynamics expressed on the score as wedge-shaped graphics,
<abbr>e.g.</abbr>
, < and >.</desc>
<classes>
<memberOf key="att.common"/>
<memberOf key="att.facsimile"/>
<memberOf key="att.hairpin.log"/>
<memberOf key="att.hairpin.vis"/>
<memberOf key="att.hairpin.ges"/>
<memberOf key="att.hairpin.anl"/>
<memberOf key="model.controlEventLike.cmn"/>
</classes>
<content>
<rng:empty/>
</content>
<constraintSpec ident="hairpin_start-_and_end-type_attributes_required" scheme="schematron">
<constraint>
<sch:rule context="mei:hairpin">
<sch:assert test="@startid or @tstamp or @tstamp.ges or @tstamp.real">Must have one of the attributes: startid, tstamp, tstamp.ges or tstamp.real.</sch:assert>
<sch:assert test="@dur or @dur.ges or @endid or @tstamp2">Must have one of the attributes: dur, dur.ges, endid, or tstamp2.</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
<remarks xml:lang="en">
<p>The <gi scheme="MEI">hairpin</gi> element is used for <emph>graphical</emph>,
<abbr>i.e.</abbr>
, crescendo and diminuendo, dynamic markings. For instantaneous or continuous <emph>textual</emph> dynamics, such as 'p', 'mf', or 'cres. poco a poco', the <gi scheme="MEI">dynam</gi> element should be used. The starting point of the hairpin marking may be indicated by either a <att>startid</att>, <att>tstamp</att>, <att>tstamp.ges</att>, or <att>tstamp.real</att> attribute, while the ending point may be recorded by either a <att>dur</att>, <att>dur.ges</att>, <att>endid</att>, or <att>tstamp2</att> attribute. It is a semantic error not to specify one starting and one ending type of attribute. MIDI values associated with the graphical dynamic sign may be recorded in the <att>val</att> and <att>val2</att> attributes.</p>
</remarks>
</elementSpec>