You are here: MusicXML Reference > Score Schema (XSD) > Complex Types > Complex Type: key

Complex Type: key

Description

The key type represents a key signature. Both traditional and non-traditional key signatures are supported. If absent, the key signature applies to all staves in the part. Key signatures appear at the start of each system unless the print-object attribute has been set to "no".

Derived By

Restricting xs:anyType

Attributes
Name  Type  Required?  Default  Description 
number  staff-number  No  The optional number attribute refers to staff numbers.
default-x  tenths  No 
default-y  tenths  No 
relative-x  tenths  No 
relative-y  tenths  No 
font-family  comma-separated-text  No 
font-style  font-style  No 
font-size  font-size  No 
font-weight  font-weight  No 
color  color  No 
print-object  yes-no  No 
Content Model

Contains elements as defined in the following table.

Component  Type  Occurs  Default  Description 
  1..1 
  1..1 
  1..1 
cancel  cancel  0..1 

A cancel element indicates that the old key signature should be cancelled before the new one appears. This will always happen when changing to C major or A minor and need not be specified then. The cancel value matches the fifths value of the cancelled key signature (e.g., a cancel of -2 will provide an explicit cancellation for changing from B flat major to F major).

fifths  fifths  1..1 

The fifths type represents the number of flats or sharps in a traditional key signature. Negative numbers are used for flats and positive numbers for sharps, reflecting the key's placement within the circle of fifths (hence the type name).

mode  mode  0..1  The mode type is used to specify major/minor and other mode distinctions. Valid mode values include major, minor, dorian, phrygian, lydian, mixolydian, aeolian, ionian, locrian, and none.
  0..* 
key-step  step  1..1 

Non-traditional key signatures can be represented using the Humdrum/Scot concept of a list of altered tones. The key-step element indicates the pitch step to be altered, represented using the same names as in the step element.

key-alter  semitones  1..1 

Non-traditional key signatures can be represented using the Humdrum/Scot concept of a list of altered tones. The key-alter element represents the alteration for a given pitch step, represented with semitones in the same manner as the alter element.

key-accidental  accidental-value  0..1 

Non-traditional key signatures can be represented using the Humdrum/Scot concept of a list of altered tones. The key-accidental element indicates the accidental to be displayed in the key signature, represented in the same manner as the accidental element. It is used for disambiguating microtonal accidentals.

key-octave  key-octave  0..* 

The optional list of key-octave elements is used to specify in which octave each element of the key signature appears.

Referenced By
Definition
<xs:complexType name="key">
  <xs:annotation>
    <xs:documentation>The key type represents a key signature. Both traditional and non-traditional key signatures are supported. The optional number attribute refers to staff numbers. If absent, the key signature applies to all staves in the part. Key signatures appear at the start of each system unless the print-object attribute has been set to "no".</xs:documentation>
  </xs:annotation>
  <xs:sequence>
    <xs:choice>
      <xs:group ref="traditional-key" />
      <xs:group ref="non-traditional-key" minOccurs="0" maxOccurs="unbounded" />
    </xs:choice>
    <xs:element name="key-octave" type="key-octave" minOccurs="0" maxOccurs="unbounded">
      <xs:annotation>
        <xs:documentation>The optional list of key-octave elements is used to specify in which octave each element of the key signature appears.</xs:documentation>
      </xs:annotation>
    </xs:element>
  </xs:sequence>
  <xs:attribute name="number" type="staff-number">
    <xsd:annotation>
      <xsd:documentation>
      </xsd:documentation>
    </xsd:annotation>
  </xs:attribute>
  <xs:attributeGroup ref="print-style" />
  <xs:attributeGroup ref="print-object" />
</xs:complexType>

 

MusicXML Documentation Home
Last built 2/20/2015

7007 Winchester Circle, Suite 140

Boulder, CO 80301