This module includes elements and attributes for the encoding of ornaments typical of ‘Common Music Notation’ (CMN). Ornaments are formulae of embellishment that can be realized by adding supplementary notes to one or more notes of the melody. In written form, these are usually expressed as symbols written above or below a note, though some have a more complex written expression, such as those that involve multiple notes and/or include grace notes.
These symbols may have different resolutions depending on a large number of factors, such as historical context, national boundaries, composer, scribe, etc. The elements described here, therefore, are not bound to a specific symbol; they are, instead, meant to encode the encoder’s interpretation of a symbol and its position on the staff.
Nonetheless, in order to establish common ground, the guidelines suggest commonly accepted symbols and realizations for the ornaments supported by MEI.
The following sections will introduce each element in detail for all types of ornaments supported.
When encoding CMN, ornaments should be encoded within a measure, following the staff elements, and connected to events on the staff via attributes. The @startid attribute is used to refer to the @xml:id of the starting note. Additionally, if the ornament involves more than one events on the staff, the @endid attribute can be used to anchor the ornament to a concluding event.
The following example demonstrates the encoding of an inverted mordent over a middle C:
Alternatively, the relationship of an ornament to a note can be expressed in terms of beats with the attribute @tstamp. If the ornament involves more than one event on the staff, the @tstamp2 attribute can be used to indicate the ending time stamp, as is explained in section Timestamps and Durations. These methods may also be utilized simultaneously.
The following example shows the use of @tstamp for an ornament. Assuming that the following measure is in 2/2, the ornament (in this case, a mordent) is related to the note on the second beat.
The relationship between an ornament and the notes on staff must always be encoded. It is, in fact, a semantic error not to specify a starting event or time stamp for an ornament.
In their resolution, ornaments will involve auxiliary notes, which typically follow the key signature or the scale of the current key. When the ornament involves other chromatic auxiliaries, an accidental is expressed next to or above the ornament sign. The attributes @accidlower and @accidupper, available on all ornaments described in this chapter, can be used to record this accidental. The attribute values ‘upper’ and ‘lower’ indicate whether the accidental is associated with an upper or lower auxiliary note, not the position of the accidental sign.
The symbols and sounded resolutions suggested for each ornament in this chapter are to be considered defaults. Nevertheless, because of the great historical and geographical variance in the notation of ornaments, the encoder is given methods to override the default resolutions.
It is possible, for example, to specify in the meiHead a new default sounded resolution for an ornament. As discussed in the section Encoding Description, the element encodingDesc holds a description (optional, but recommended) of the methods and editorial principles which govern the transcription or encoding of the source material. Let us take a trill as an example. The section regarding Trills does not set a specific number of alternations between the principal and secondary notes; the encoder, however, may specify an exact number in the encoding description.
Alternatively, resolutions can be defined on a case-by-case basis by encoding a specific resolution using the choice element. See the section Special Cases below for an example of a specific resolution of a trill.
A mordent is an ornament that involves an auxiliary note a step above or below the principal note. The presence of a mordent is encoded with the mordent element and its attributes:
It is recommended, but not required, to use the attribute @form to encode the typology of mordents. Two common types are supported: those mordents that involve a note lower than the principal note, and those that involve a note higher than the principal note.
The attribute @form accepts the following values:
norm: usually corresponding to the symbol: . This mordent is commonly performed as the principal note, followed by its lower neighbor, with a return to the principal note.
inv: usually corresponding to the symbol: . This mordent is commonly performed as the principal note, followed by its upper neighbor, with a return to the principal note.
The following example demonstrates the encoding of simple mordents:
Occasionally, mordents can be longer, employing five notes instead of three. The @long attribute can be used to identify mordents of this type. The following example shows the encoding of a long mordent:
Trills are a type of ornament that consists of a rapid alternation of a note with one a semitone or tone above. A trill is encoded with the trill element and its attributes:
Trills in modern notation are usually expressed with the abbreviation “tr” above a note on the staff. Often the abbreviation is followed by a wavy line that indicates the length of the trill.
The following example demonstrates the encoding of simple trills:
It has been specified earlier that it is a semantic error not to encode a starting event or time stamp for an ornament. This starting point of a trill can be expressed with the @startid attribute and/or with the @tstamp attribute. Specifying the end point is not required, although the @tstamp2 attribute can be used to indicate the use of a wavy line extender as shown in this example:
Chromatic alterations of auxiliary notes are occasionally expressed on the staff using small notes enclosed in parentheses, as shown in the example below. However, the attribute @accidupper is still to be used to encode the alteration. Display of the auxiliary note in this ‘cautionary’ manner is left to down-stream rendering processes.
Some trills may be introduced by a turn or followed by an inverted turn leading to the next note (see Le garzantine, Musica 2003, p. 911). In such cases, the trill is encoded as in previous examples and associated with the principal note. Starting or concluding turns are notated on the staff (in layer) as Grace Notes.
The following example, from a keyboard sonata by Joseph Haydn, shows a trill with concluding grace notes:
Symbols and abbreviations for trills have changed and evolved considerably throughout history. Strategies to clarify the encoding and interpretation of ornaments have been discussed in section Overriding Default Resolutions above. However, in order to aid the encoder in making educated choices in the encoding of non-standard trills, this section shows two examples diverging from modern standard use.
The abbreviation “tr” followed by a wavy line spanning multiple notes is sometimes used to indicate multiple trills:
The encoding of this kind of trill may vary depending on the purpose of the encoding. For representation of the source, a single trill is sufficient:
To support analytical and aural rendering applications, however, each trill may be explicitly encoded, as the following example demonstrates:
However, when it is necessary to support multiple outputs, use of the choice element and appropriate sub-elements is recommended. In this case, the orig and reg elements can be used to represent the original source and a regularization provided by the editor, respectively:
Another situation that requires disambiguation of an ornament’s name and its potential rendition is due to the fact that the symbols for trills and mordents have been often used interchangeably in the past. The following example, taken from Klavierbüchlein für Wilhelm Friedemann Bach (1720), shows a trill (Trillo) identified by the symbol associated with a mordent in modern practice. Nonetheless, J.S. Bach’s suggested resolution should be encoded with a variant of the procedure presented above.
In the example below, the child elements of choice; that is, orig and reg, represent non-exclusive options; that is, both may be processed by applications that aim to support both visual and aural renditions.
Depending on the purpose of the encoding, it may be more convenient to encode the regularized text within the stream of events, along with a corresponding choice with regard to the existence of the trill marking, as in the following example:
This approach facilitates substitution of the realization of the trill for the original written note (as well as the opposite procedure) and is therefore the recommended markup for applications where exchange of this kind is desirable.
A turn is an ornament that typically consists of four notes: the upper neighbor of the principal note, the principal note, the lower neighbor, and the principal note again.
The presence of a turn is encoded with the turn element and its attributes:
It is recommended, but not required, to use the attribute @form to encode the typology of the turn.
The attribute @form accepts the following values:
norm: usually corresponding to the symbol: . This turn is commonly performed beginning on a note higher than the principal note.
inv: usually corresponding to the symbol: . This turn is commonly performed beginning on a note lower than the principal note.
The following example shows the encoding of a simple turn:
Turns can sometimes be performed after the principal note (usually on the second half of the beat, see Read 1979, p. 246) and leading to the following event. To indicate this, the turn symbol is typically written in between the principal note and the next. These kind of turns are encoded with the attribute @delayed.
The following example from Beethoven’s piano sonata no. 1 in F minor, op. 2, no. 1, mvmt. 2 demonstrates the encoding of turns with the @delayed attribute. Note that the @tstamp attribute indicates the actual starting point in time, while @startid points to the principal note.
CMN ornaments that are not mordents, trills, or turns can be encoded with a generic ornam.
This element allows the encoder to represent ornaments as textual strings (e.g. with a Unicode symbol) or with a user defined symbol. Chromatic auxiliaries can be represented with @accidlower and @accidupper. The ornam element can also be a control element. That is, it can be linked via its attributes to other events. The starting point of the directive may be indicated by either a tstamp, tstamp.ges, tstamp.real or startid attribute, while the ending point may be recorded by either a tstamp2, dur, dur.ges or endid attribute. It is a semantic error not to specify a starting point attribute.
For example, Johann Sebastian Bach used non-standard ornaments in the Klavierbüchlein für Wilhelm Friedemann Bach:
The ornament for (5) doppelt-cadence could be encoded in the following way, by adopting the Unicode code-points defined by the SMuFL standard:
A resolution, or expansion of the ornament can be provided as discussed in Special Cases below.
Particularly in baroque keyboard music, but also in the early classical period, various combinations of ornaments can be found. Despite being written vertically above the same note, they are to be performed in sequence.
The following example from C.P.E. Bach’s sonata W.62/1 shows a turn followed by a inverted mordent:
When encoding the example above, both ornaments will be positioned above the same note. The encoded order of the elements, moreover, should correspond to the performed sequence, which in this example is top to bottom: first the turn, then the mordent.