<beam>

A container for a series of explicitly beamed events that begins and ends entirely within a measure.
Module MEI.cmn
Attributes
@beam.with(optional)In the case of cross-staff beams, the beam.with attribute is used to indicate which staff the beam is connected to; that is, the staff above or the staff below. Value conforms to data.OTHERSTAFF. att.beamedwith
@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. att.color
@copyof(optional)Points to an element of which the current element is a copy. Value conforms to data.URI. att.common.anl
@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. att.common.anl
@facs(optional)Permits the current element to reference a facsimile surface or image zone which corresponds to it. One or more values from data.URI, separated by spaces. att.facsimile
@form(optional)Captures whether a beam is "feathered" and in which direction. Allowed values are: "acc" ((accelerando) indicates that the secondary beams get progressively closer together toward the end of the beam.), "mixed" ((mixed acc and rit) for beams that are "feathered" in both directions.), "rit" ((ritardando) means that the secondary beams become progressively more distant toward the end of the beam.), "norm" ((normal) indicates that the secondary beams are equidistant along the course of the beam.)att.beamrend
@label(optional)Provides a name or label for an element. The value may be any string. Value of datatype string. att.commonPart
@layer(optional)Identifies the layer to which a feature applies. One or more values of datatype positiveInteger, separated by spaces. att.layerident
@n(optional)Provides a number-like designation for an element. Value conforms to token. att.common
@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. att.common.anl
@prev(optional)Points to the previous event(s) in a user-defined collection. One or more values from data.URI, separated by spaces. att.common.anl
@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. att.common.anl
@slope(optional)Records the slope of the beam. Value of datatype decimal. att.beamrend
@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. att.staffident
@synch(optional)Points to elements that are synchronous with the current element. One or more values from data.URI, separated by spaces. att.common.anl
@tstamp(optional)Encodes the onset time in terms of musical time, i.e., beats[.fractional_beat_part]. Value conforms to data.BEAT. att.timestamp.musical
@tstamp.ges(optional)Captures performed onset time in several forms; that is, ppq (MIDI clicks and MusicXML 'divisions'), Humdrum **recip values, beats, seconds, or mensural duration values. Value conforms to data.DURATION.gestural. att.timestamp.performed
@tstamp.real(optional)Used to record the onset time in terms of ISO time. Value conforms to data.ISOTIME. att.timestamp.performed
@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. att.alignment
@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. att.commonPart
@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 of datatype ID. att.id
Member of
Contained by
MEI.cmnbeam tuplet
MEI.critapplem rdg
MEI.mensuralligature
MEI.sharedlayer
May contain
Declaration
<classes>
<memberOf key="att.common"/>
<memberOf key="att.facsimile"/>
<memberOf key="att.beam.log"/>
<memberOf key="att.beam.vis"/>
<memberOf key="att.beam.ges"/>
<memberOf key="att.beam.anl"/>
<memberOf key="model.eventLike.cmn"/>
</classes>
<content>
<rng:zeroOrMore>
<rng:choice>
<rng:ref name="model.eventLike" />
<rng:ref name="model.appLike" />
<rng:ref name="model.editLike" />
<rng:ref name="model.transcriptionLike" />
</rng:choice>
</rng:zeroOrMore>
</content>
Remarks

For beams that cross the bar line, use the beamSpan element. Secondary beams may be broken explicitly using the breaksec attribute on the notes or chords under the beam. Automated beaming, as opposed to explicitly marked beams, may be indicated for an entire score, part or section by using the beam.group and beam.rests attributes on these elements.

Constraint
A beam without a copyof attribute must have at least 2 note, rest, chord, or space descendants.
<sch:rule context="mei:beam[not(@copyof)]">
<sch:assert test="count(descendant::*[local-name()='note' or local-name()='rest' or local-name()='chord' or local-name()='space']) > 1">A beam without a copyof attribute must have at least 2 note, rest, chord, or space descendants.</sch:assert>
</sch:rule>