Traditional

public struct Traditional

The Traditional roman numeral type uses figured-bass notation and both upper and lower case characters. Examples:

  • iv6: first-inversion minor triad built on the fourth scale-degree
  • IM43: second-inversion major-seventh chord built on the tonic.
  • Ger6: German augmented-sixth chord.
  • VI6: first-inversion major triad built on the flatted-sixth scale-degree.

Note that the convention of using the upper case ‘M’ character to imply a major-seventh chord is applied here. I7, for example, implies a dominant-seventh chord built on the tonic. Initialized with a string, e.g. RomanNumeral.Traditional(iv6).

  • All available roman numeral strings as an array of strings.

    Declaration

    Swift

    public static var options: [String]
  • Offsets-from-tonic for the current instance (values can be > 12).

    Declaration

    Swift

    public var offsets = [Int]()
  • Offsets-from-tonic as a pitch-class set (may negate inversion).

    Declaration

    Swift

    public var pcset: PCSet
  • Initialize from a string containing a roman numeral symbol. E.g. RomanNumeral.Traditional(viiº7)

    Declaration

    Swift

    public init?(_ symbol: String)
  • Map a roman numeral’s offsets to a particular key and octave, in the style of MIDI note numbers.

    Declaration

    Swift

    public func toMIDI(in key: Key, bassOctave: UInt8) -> [UInt8]
  • Map a roman numeral’s offsets to a particular key.

    Declaration

    Swift

    public func offsets(in key: Key) -> [Int]
  • Map a secondary function. E.g. RomanNumeral.Traditional(iv).of(RomanNumeral.Traditional(III), in: .C).

    Declaration

    Swift

    public func of(_ secondaryRef: Traditional, in key: Key) -> [Int]