RomanNumeral

public struct RomanNumeral

The RomanNumeral type abstracts data and operations related to working with roman-numeral expressions of harmony. Two basic systems of roman-numerals are provided: ‘Traditional’ and ‘Berklee’, the former employing figured-bass notation and both upper and lower case characters, and the latter resembling chord symbols and using all upper case characters.

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

    See more

    Declaration

    Swift

    public struct Traditional
  • The Berklee roman numeral type uses chord-symbol style notation and only upper case characters, as is used in the system of harmony taught to undergraduates in the Berkee College of Music’s core jazz-based harmony courses. Examples:

    • IVm6: minor-sixth chord built on the fourth scale-degree.
    • bVImaj7#11: major-seventh chord with an added sharp-eleventh built on the flatted-sixth scale-degree.
    • V7b9#9b5#5: dominant-seventh chord with a flatted-ninth, sharp-ninth, flatted-fifth, and sharp-fifth (no perfect-fifth) built on the fifth scale-degree.
    • subV7/IV: dominant-seventh chord built on the flatted-fifth scale-degree.

    Initialized with a string, e.g. RomanNumeral.Traditional(bIIImaj7b5).

    See more

    Declaration

    Swift

    public struct Berklee