7 Analytical Information

This chapter describes the use of attributes that capture data which may be useful for analytical purposes. The analysis module provides attributes that record relationships between entities found in the encoding. These attributes may be used differently by different users, depending on the purpose of the analysis. These Guidelines recommend that encoders employ commonly accepted analytical practices, such as "functional analysis" or "Schenkerian analysis", and document their use in the encodingDesc described in section 2.2 Encoding Description. For general information on musical analysis, please consult Grove Music Online, " Analysis".

7.1 General Relationships Between Elements

The relationships between event elements, such as note, chord, and rest, are the basic material of musical analysis; the attributes described below ensure a closed network of these relations and provide the opportunity to record data useful for common analytical tasks. In the context of a formal analysis, for instance, the attributes presented here can be useful in the capture information about the structure of a musical work.

The analysis module offers several attributes in the att.common.anl class for the description of basic relationships:

  • copyof Points to an element of which the current element is a copy.
    corresp Used to point to other elements that correspond to this one in a generic fashion.
    next Used to point to the next event(s) in a user-defined collection.
    prev Points to the previous event(s) in a user-defined collection.
    sameas Points to an element that is the same as the current element but is not a literal copy of the current element.
    synch Points to elements that are synchronous with the current element.

The att.alignment class also contains an attribute for describing temporal relationships:

  • when 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.

These attributes accommodate the encoding of linkages between the element carrying the attribute and one or more other elements. All of them use URIs to establish the connection. While the examples below illustrate relationships between musical events, their use is not restricted to musical events. On the contrary, these attributes can be used to capture information about relations between any elements.

Using these attributes makes it possible to create relationships between events, which are often widely-spaced in both encoded order and time. The attributes allow a large number of connections, enhancing the informational content, and therefore the potential usefulness, of the encoding.

The copyof attribute points to an element of which the current element is a copy. It can be used to repeat a note, for example, without encoding the whole note element again. The copy is a ‘deep’one; that is, the copyof attribute copies all attributes and child elements which belong to the copied element, such as the dur and oct attributes of a copied note. The value of the copyof attribute must be a URI, which usually refers to an element in the current document. The following example demonstrates use of the copyof attribute:

<section>
<measure n= "1">
<staff n= "1">
<layer>
<note dur= "4" oct= "4" pname= "g" xml:id= "analysis.note1_1"/>
</layer>
</staff>
</measure>
<measure n= "2">
<staff n= "1">
<layer>
<note copyof= "#analysis.note1_1"/>
</layer>
</staff>
</measure>
</section>

In this example. the note in the second measure has exactly the same characteristics as the note in the first measure.

Using copyof is not limited to copying events. The copyof attribute can also be used to copy an entire measure or staff. When there are many repeated features, the use of the copyof greatly reduces encoding effort. The image and the following encoding of the beginning of Schubert's Erlkönig illustrates the benefit of using the copyof attribute.

Figure 22. First measure of Schubert's Erlkönig
<measure>
<staff n= "1">
<layer>
<mRest/>
</layer>
</staff>
<staff n= "2">
<layer>
<tuplet num= "3" num.visible= "true" xml:id= "analysis.tup1">
<chord dur= "8">
<note oct= "3" pname= "g"/>
<note oct= "4" pname= "g"/>
</chord>
<chord dur= "8">
<note oct= "3" pname= "g"/>
<note oct= "4" pname= "g"/>
</chord>
<chord dur= "8">
<note oct= "3" pname= "g"/>
<note oct= "4" pname= "g"/>
</chord>
</tuplet>
<tuplet copyof= "#analysis.tup1" xml:id= "analysis.tup2"/>
<tuplet copyof= "#analysis.tup1" xml:id= "analysis.tup3"/>
<tuplet copyof= "#analysis.tup1" xml:id= "analysis.tup4"/>
</layer>
</staff>
<staff n= "3">
<layer>
<mRest/>
</layer>
</staff>
</measure>

This example can be reduced further by using copyof inside the initial tuplet to represent the repeated chords:

<measure>
<staff n= "1">
<layer>
<mRest/>
</layer>
</staff>
<staff n= "2">
<layer>
<tuplet num= "3" num.visible= "true" xml:id= "analysis.tup5">
<chord dur= "8" xml:id= "analysis.t1c1">
<note oct= "3" pname= "g"/>
<note oct= "4" pname= "g"/>
</chord>
<chord copyof= "#analysis.t1c1"/>
<chord copyof= "#analysis.t1c1"/>
</tuplet>
<tuplet copyof= "#analysis.tup5" xml:id= "analysis.tup6"/>
<tuplet copyof= "#analysis.tup5" xml:id= "analysis.tup7"/>
<tuplet copyof= "#analysis.tup5" xml:id= "analysis.tup8"/>
</layer>
</staff>
<staff n= "3">
<layer>
<mRest/>
</layer>
</staff>
</measure>

While copyof signifies a duplicate copy of an element, the sameas indicates that the current element represents exactly the same entity as the one referenced in sameas. Use of sameas is used for describing the same entity from multiple perspectives, e.g., the same event in two layers. The following example illustrates the sharing of one note head between two voices in the first full measure of a chorale:

Figure 23. Bach Chorale, Ach Gott, vom Himmel sieh' darein, m. 1-2
<measure n= "1" xml:id= "analysis.m_sc_22">
<staff n= "1">
<layer n= "1">
<note dur= "4" oct= "5" pname= "c" xml:id= "analysis.n_sc_23_3"/>
<note dur= "4" oct= "4" pname= "b" xml:id= "analysis.n_sc_24_3"/>
<note dur= "4" oct= "4" pname= "a" sameas= "analysis.n_sc_25_2" xml:id= "analysis.n_sc_25_3"/>
<note dur= "4" oct= "5" pname= "e" xml:id= "analysis.n_sc_26_3"/>
</layer>
<layer n= "2">
<note dur= "4" oct= "4" pname= "a" xml:id= "analysis.n_sc_23_2"/>
<note accid= "s" dur= "4" oct= "4" pname= "g" xml:id= "analysis.n_sc_24_2"/>
<note dur= "4" oct= "4" pname= "a" sameas= "analysis.n_sc_25_3" xml:id= "analysis.n_sc_25_2"/>
<beam>
<note dur= "8" oct= "4" pname= "g" xml:id= "analysis.n_sc_26_2"/>
<note dur= "8" oct= "4" pname= "a" xml:id= "analysis.n_sc_27_2"/>
</beam>
</layer>
</staff>
<staff n= "2">
<layer n= "1">
<note dur= "4" oct= "4" pname= "e" xml:id= "analysis.n_sc_23_1"/>
<note dur= "4" oct= "4" pname= "d" xml:id= "analysis.n_sc_24_1"/>
<note dur= "4" oct= "4" pname= "e" xml:id= "analysis.n_sc_25_1"/>
<beam>
<note dur= "8" oct= "4" pname= "d" xml:id= "analysis.n_sc_26_1"/>
<note dur= "8" oct= "4" pname= "c" xml:id= "analysis.n_sc_27_1"/>
</beam>
</layer>
<layer n= "2">
<note dur= "4" oct= "3" pname= "a" xml:id= "n_sc_23_0"/>
<note dur= "4" oct= "3" pname= "b" xml:id= "n_sc_24_0"/>
<note dur= "4" oct= "4" pname= "c" xml:id= "n_sc_25_0"/>
<beam>
<note dur= "8" oct= "3" pname= "b" xml:id= "n_sc_26_0"/>
<note dur= "8" oct= "3" pname= "a" xml:id= "n_sc_27_0"/>
</beam>
</layer>
</staff>
</measure>

While copyof and sameas have defined semantics, the corresp may be used to create user-defined relationships between elements. The example below demonstrates the encoding of a relationship between #note3 and the fermata, even though the fermata is not placed directly above the note.

<measure n= "1" right= "end">
<staff n= "1">
<layer n= "1">
<note dur= "4" oct= "4" pname= "c" xml:id= "analysis.note1"/>
<note dur= "4" oct= "4" pname= "d" xml:id= "analysis.note2"/>
<note dur= "2" oct= "4" pname= "e" xml:id= "analysis.note3"/>
</layer>
</staff>
<fermata corresp= "#analysis.note3" place= "above" tstamp= "4.75"/>
</measure>

The corresp attribute only marks the correspondence between the current element and one or more other entities. To describe the nature of the correspondence, one must use annot.

The next and prev attributes point to elements which follow or precede the current element in some fashion other than that indicated by encoding order. The use of these attributes helps to avoid confusion in the sequence of events, for example, in voice leading across layers or staves, when the encoding reflects the physical arrangement of voices. In the second measure of the following example, the target of the next attribute occurs after the pointing element in time, but before it in encoding order:

Figure 24. Bach Chorale, Ach Gott, vom Himmel sieh' darein, m. 6-7
<section>
<measure n= "6" xml:id= "analysis.m_sc_62">
<staff n= "1">
<layer n= "1">
<note dur= "4" oct= "4" pname= "g" xml:id= "analysis.n_sc_63_3"/>
<note dur= "4" oct= "4" pname= "a" xml:id= "analysis.n_sc_65_3"/>
<note dur= "4" fermata= "above" oct= "4" pname= "b" xml:id= "analysis.n_sc_67_3"/>
<note dur= "4" oct= "4" pname= "g" xml:id= "analysis.n_sc_68_3"/>
</layer>
<layer n= "2">
<beam>
<note dur= "8" oct= "4" pname= "e" xml:id= "analysis.n_sc_63_2"/>
<note dur= "8" oct= "4" pname= "g" xml:id= "analysis.n_sc_64_2"/>
</beam>
<beam>
<note dur= "8" oct= "4" pname= "f" xml:id= "analysis.n_sc_65_2"/>
<note dur= "8" oct= "4" pname= "e" xml:id= "analysis.n_sc_66_2"/>
</beam>
<note accid= "s" dur= "4" next= "analysis.n_sc_67_0" oct= "4" pname= "d" xml:id= "analysis.n_sc_67_2"/>
<beam>
<note dur= "8" oct= "4" pname= "e" xml:id= "analysis.n_sc_68_1"/>
<note accid= "n" dur= "8" oct= "4" pname= "d" xml:id= "analysis.n_sc_69_1"/>
</beam>
</layer>
</staff>
<staff n= "2">
<layer n= "1">
<note dur= "4" oct= "3" pname= "b" xml:id= "analysis.n_sc_63_1"/>
<note dur= "4" oct= "4" pname= "c" xml:id= "analysis.n_sc_65_1"/>
<note dur= "4" oct= "3" pname= "f" xml:id= "analysis.n_sc_67_1"/>
<note dur= "4" oct= "3" pname= "b" xml:id= "analysis.n_sc_68_2"/>
</layer>
<layer n= "1">
<beam>
<note dur= "8" oct= "3" pname= "e" xml:id= "n_sc_63_0"/>
<note dur= "8" oct= "3" pname= "d" xml:id= "n_sc_64_0"/>
</beam>
<note dur= "4" oct= "3" pname= "c" xml:id= "n_sc_65_0"/>
<note dur= "4" fermata= "below" oct= "2" pname= "b" xml:id= "n_sc_67_0"/>
<note dur= "4" oct= "3" pname= "e" xml:id= "n_sc_68_0"/>
</layer>
</staff>
</measure>
<measure n= "7" xml:id= "m_sc_70">
<staff n= "1">
<layer n= "1">
<beam>
<note dur= "8" oct= "4" pname= "a" xml:id= "analysis.n_sc_71_3"/>
<note dur= "8" oct= "4" pname= "b" xml:id= "analysis.n_sc_72_3"/>
</beam>
<note dur= "4" oct= "5" pname= "c" xml:id= "analysis.n_sc_73_3"/>
<note dur= "4" oct= "4" pname= "b" xml:id= "analysis.n_sc_75_3"/>
<beam>
<note dur= "8" oct= "5" pname= "c" xml:id= "analysis.n_sc_76_3"/>
<note dur= "8" oct= "4" pname= "b" xml:id= "analysis.n_sc_77_3"/>
</beam>
</layer>
<layer n= "2">
<beam>
<note dur= "8" oct= "4" pname= "c" xml:id= "analysis.n_sc_71_1"/>
<note dur= "8" oct= "4" pname= "d" xml:id= "analysis.n_sc_72_1"/>
</beam>
<note dur= "4" oct= "4" pname= "a" xml:id= "analysis.n_sc_73_2"/>
<note accid= "s" dur= "4" oct= "4" pname= "g" xml:id= "analysis.n_sc_75_2"/>
<note dur= "4" oct= "4" pname= "a" xml:id= "analysis.n_sc_76_2"/>
</layer>
<layer n= "3">
<space dur= "4"/>
<note dur= "4" oct= "4" pname= "e" xml:id= "analysis.n_sc_73_1"/>
<note dur= "4" oct= "4" pname= "e" xml:id= "analysis.n_sc_75_1"/>
<beam>
<note dur= "8" oct= "4" pname= "e" xml:id= "analysis.n_sc_76_1"/>
<note dur= "8" oct= "4" pname= "d" xml:id= "analysis.n_sc_77_1"/>
</beam>
</layer>
</staff>
<staff n= "2">
<layer n= "1">
<note dur= "4" next= "analysis.n_sc_73_2" oct= "3" pname= "a" xml:id= "analysis.n_sc_71_2"/>
</layer>
<layer n= "2">
<note accid= "n" dur= "4" oct= "3" pname= "f" xml:id= "n_sc_71_0"/>
<beam>
<note dur= "8" oct= "3" pname= "c" xml:id= "n_sc_73_0"/>
<note dur= "8" oct= "3" pname= "d" xml:id= "n_sc_74_0"/>
</beam>
<note dur= "4" oct= "3" pname= "e" xml:id= "n_sc_75_0"/>
<beam>
<note dur= "8" oct= "2" pname= "a" xml:id= "n_sc_76_0"/>
<note dur= "8" oct= "2" pname= "b" xml:id= "n_sc_77_0"/>
</beam>
</layer>
</staff>
</measure>
</section>

This attribute may also be useful to clarify a sequence of entites which occurs across some form of interruption, in this case, notes before and after a system or page break where there is no custos or direct in the source:

<measure n= "1">
<staff n= "1">
<layer>
<note dur= "4" next= "analysis.m1s1e2" oct= "4" pname= "f" stem.dir= "up" xml:id= "analysis.m1s1e1"/>
<pb/>
<note dur= "8" next= "m1s1e3" oct= "3" pname= "b" prev= "analysis.m1s1e1" stem.dir= "up" xml:id= "analysis.m1s1e2"/>
<note dur= "8" oct= "4" pname= "c" prev= "analysis.m1s1e2" stem.dir= "up" xml:id= "analysis.m1s1e3"/>
</layer>
</staff>
</measure>

A one-to-many relationship between the current element and the entities being referred to can be expressed by using a list of space-separated URIs in corresp.

The synch attribute points to an element that is synchronous with; that is, begins at the same moment in time, as the current element. It is useful when the encoding order differs from the order in which entities occur in time.

The when attribute may be used to indicate the point of occurrence of the feature bearing this attribute along a time line. Its value must be the ID of a when element. For more detailed information regarding the use of when, please see 18 Performances.

7.2 Event-Specific Analytical Information

In addition to the common analytical attributes, the analysis module also offers other, more specific attributes on certain musical elements:

  • inth Encodes the harmonic interval between pitches occurring at the same time.
  • intm Encodes the melodic interval from the previous pitch. The value may be a general directional indication (u, d, s), an indication of diatonic interval direction, quality, and size, or a precise numeric value in half steps.
  • mfunc Describes melodic function using Humdrum **embel syntax.
  • deg Captures relative scale degree information using Humdrum **deg syntax -- an optional indicator of melodic approach (^ = ascending approach, v = descending approach), a scale degree value (1 = tonic ... 7 = leading tone), and an optional indication of chromatic alteration. The amount of chromatic alternation is not indicated.
  • pclass Holds pitch class information.
  • psolfa Contains sol-fa designation, e.g., do, re, mi, etc., in either a fixed or movable Do system.

7.2.1 Melodic Intervals

The intm attribute offers several methods for encoding the melodic interval from a preceding pitch. First, Parsons Code allows for description of the contour of the melody in very general terms; that is, as up, down, or same note. Parsons Code is helpful for identifying musical works with clearly defined melodies and analyzing the relationship between successive notes of monophonic tunes. For more information about the Parsons Code, please see the "The Directory of Tunes and Musical Themes" by Denys Parsons (2002). The next example shows interval relationships indicated by the Parsons Code:

<measure n= "1">
<staff n= "1">
<layer>
<note dur= "4" oct= "4" pname= "c"/>
<note dur= "4" intm= "u" oct= "4" pname= "d"/>
<note dur= "4" intm= "u" oct= "4" pname= "e"/>
<note dur= "4" intm= "u" oct= "4" pname= "f"/>
<note dur= "2" intm= "u" oct= "4" pname= "g"/>
<note dur= "2" intm= "s" oct= "4" pname= "g"/>
<note dur= "4" intm= "d" oct= "4" pname= "f"/>
</layer>
</staff>
</measure>

Alternatively, diatonic interval quality and size may be indicated by a letter signifying the interval quality (A= augmented, d= diminished, M = major, m = minor, P = perfect) followed by a number indicating the size of the interval. The interval direction may be encoded using a leading plus (+) or minus (-) sign:

<measure>
<staff>
<layer>
<note dur= "4" oct= "5" pname= "c"/>
<note dur= "4" intm= "+M2" oct= "5" pname= "d"/>
<note dur= "4" intm= "-M2" oct= "5" pname= "c"/>
<note dur= "4" intm= "-m2" oct= "4" pname= "b"/>
<note dur= "4" intm= "-P8" oct= "3" pname= "b"/>
</layer>
</staff>
</measure>

As a third option, signed integers may be used to record the difference in half steps between the previous pitch and the current one. Decimal values accommodate the description of microtonal intervals:

<measure>
<staff>
<layer>
<note dur= "4" oct= "4" pname= "c"/>
<note dur= "4" intm= "1.1" oct= "4" pname= "d"/>
<note dur= "4" intm= "7.9" oct= "5" pname= "d"/>
<note dur= "4" intm= "-2.334" oct= "5" pname= "c"/>
</layer>
</staff>
</measure>

7.2.2 Melodic Function

The mfunc attribute describes melodic function of a note or neume using the Humdrum **embel syntax. In the following example, the note B is labeled as a lower neighbor while all other notes are labeled as chord tones:

<section>
<measure n= "2">
<staff n= "1">
<layer>
<chord dur= "4" stem.dir= "up" xml:id= "analysis.chord1">
<note dur= "4" mfunc= "ct" oct= "4" pname= "f" xml:id= "analysis.m2e1"/>
<note dur= "4" mfunc= "ct" oct= "4" pname= "a" xml:id= "analysis.m2e2"/>
<note dur= "4" mfunc= "ct" oct= "5" pname= "c" xml:id= "analysis.m2e3"/>
</chord>
<note accid= "f" dur= "4" mfunc= "ln" oct= "4" pname= "b" stem.dir= "down" xml:id= "analysis.m2e4"/>
</layer>
</staff>
</measure>
<measure n= "3">
<staff n= "1">
<layer>
<chord dur= "4" stem.dir= "up" xml:id= "analysis.chord2">
<note dur= "4" mfunc= "ct" oct= "4" pname= "c" xml:id= "analysis.m3e5"/>
<note dur= "4" mfunc= "ct" oct= "4" pname= "e" xml:id= "analysis.m3e6"/>
<note dur= "4" mfunc= "ct" oct= "4" pname= "g" xml:id= "analysis.m3e7"/>
</chord>
</layer>
</staff>
</measure>
</section>

7.2.3 Harmonic Intervals

  • inth Encodes the harmonic interval between pitches occurring at the same time.

In contrast with intm, which characterizes melodic (sequential) intervals, the inth attribute is used to encode the harmonic interval between the current note and other pitches occurring at the same moment in time. The notes of interest may or may not be marked as a chord. In the markup below, for example, the values of inth capture the harmonic intervals between notes distributed across multiple staves and layers.

<measure>
<staff>
<layer n= "1">
<note dur= "4" inth= "M3 P5" oct= "4" pname= "c" xml:id= "analysis.e1"/>
</layer>
<layer n= "2">
<note dur= "4" inth= "M3 m3" oct= "4" pname= "e" xml:id= "analysis.e2"/>
</layer>
</staff>
<staff n= "2">
<layer n= "3">
<note dur= "4" inth= "P5 m3" oct= "4" pname= "g" xml:id= "analysis.e3"/>
</layer>
</staff>
</measure>

Use of the inth permits detailed specification of intervallic information for every note and its function in relation to other simultaneously-occurring notes and hence about the harmonic nature of the musical work.

7.2.4 Scale Degrees

  • deg Captures relative scale degree information using Humdrum **deg syntax -- an optional indicator of melodic approach (^ = ascending approach, v = descending approach), a scale degree value (1 = tonic ... 7 = leading tone), and an optional indication of chromatic alteration. The amount of chromatic alternation is not indicated.

The deg attribute can be used to represent key-dependent scale-degree information for music in major or minor keys.

Scale-degree values are relative to the prevailing major or minor key. In the case of minor keys, scale degrees are characterized with respect to the harmonic minor scale. For example, the pitch F in the key of A minor is the submediant (6), but F is the lowered submediant (6-) in the key of A major.

Melodic approach can be indicated by a leading caret (^) or lowercase v, representing ascending and descending approaches, respectively.

Chromatic alteration of the scale degree can be represented using a trailing plus (+) or minus (-) signs, signifying raised or lowered scale degree, respectively. The actual amount of chromatic alteration is not indicated.

<!-- Fifth scale degree in the prevailing scale -->
<note deg= "5"/>
<!-- Augmented 5th -->
<note deg= "5+"/>
<!-- Lowered 6 scale degree approached from below -->
<note deg= "^6-"/>
<!-- Leading tone approached from above -->
<note deg= "v7"/>

7.2.5 Pitch Class

The pclass attribute can be used to encode information about the pitch class to which a note belongs. The attribute's value must be an integer less than or equal to 11. It is only allowed on the note element. The pclass attribute comes from "musical set theory" elaborated first by Howard Hanson and Allen Forte as a new method for organizing tones. It provides a concept for categorizing musical objects (notes) and describing their relationships. It is a kind of grouping and combining, mostly developed in connection with atonal music. However, the concept of set theory is general and can also be applied to tonal music. A pitch class means the summary of every pitch with specific characteristics that means a pitch class set is an unordered collection of pitches, e.g., every pitch with the name C.

A pitch class may contain a large number of pitches, because different octaves and enharmonic spellings of pitch make no difference. The notes C, E, and G would be 0, 4 and 7 in pitch class notation, for example, regardless of the octave in which they are performed. The example below contains the same pitch in four different enharmonic spellings, but all are part of the same pitch class.

<chord>
<note dur= "2" oct= "5" pclass= "2" pname= "d"/>
<note accid= "ss" dur= "4" pclass= "2" pname= "c"/>
<note accid= "ff" dur= "1" pclass= "2" pname= "e"/>
</chord>

For further information on pitch class set theory, please consult the following sources:

7.2.6 Solmization

Solmization is a system which associates a syllable with each note of a musical scale. There are various forms of solmization used throughout the world. In Europe and North America, solfège is the most common practice. In this system, the seven syllables for a major scale are do, re, mi, fa, so, la and ti. In the ‘fixed-do’ system, the syllable "do" is always associated with the pitch "c", while in the ‘movable-do’ system, "do" is associated with the tonic note. The psolfa attribute is only allowed on note and uneume elements. Its value is unconstrained in order to accommodate various solmization systems.

<measure>
<staff n= "1">
<layer>
<note dur= "4" oct= "4" pname= "c" psolfa= "do"/>
<note dur= "4" oct= "4" pname= "d" psolfa= "re"/>
<note dur= "4" oct= "4" pname= "e" psolfa= "mi"/>
<note dur= "4" oct= "4" pname= "f" psolfa= "fa"/>
</layer>
</staff>
</measure>

7.3 Metrical Conformance

It is often helpful to record whether a given staff, layer, or measure obeys the meter established for it. The following attributes are provided for this purpose:

  • metcon Indicates the relationship between the content of a staff or layer and the prevailing meter.
  • metcon Indicates the relationship between the content of a measure and the prevailing meter.

When used on staff or layer elements, the metcon attribute can be used to indicate if the duration of the contained events is equal to ("c"), less than ("i"), or greater than ("o") that predicted by the time signature. When used on the measure element, metcon takes a boolean value, where "true" indicates conformance by all staff and layer descendants of the measure.

In the first example below, the layer, staff, and measure all match the prevailing meter. In the second example, however, the first layer does not comply with the meter, making the staff containing it and measure as a whole non-compliant. When there is a single layer or when all the layers on a staff agree with each other, metrical compliance can be indicated on the staff element. When, however, not all layers have the same value for metcon, then it is necessary to omit metcon at the staff level. The value of metcon on the measure level can usually be computed based on the values of its layer and staff sub-elements.

<!-- in 2/4 -->
<measure metcon= "true" n= "1">
<staff n= "1">
<layer>
<note dur= "4" oct= "4" pname= "f"/>
<note dur= "8" oct= "4" pname= "b"/>
<note dur= "8" oct= "4" pname= "a"/>
</layer>
</staff>
</measure>
<!-- in 2/4 -->
<measure metcon= "false" n= "1">
<staff n= "1">
<layer metcon= "i">
<note dur= "4" oct= "4" pname= "f"/>
<note dur= "8" oct= "4" pname= "b"/>
</layer>
<layer metcon= "true">
<note dur= "4" oct= "4" pname= "d"/>
<note dur= "8" oct= "4" pname= "g"/>
<note dur= "8" oct= "4" pname= "f"/>
</layer>
</staff>
</measure>