Berklee

public struct Berklee

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

  • 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.Berklee(Imaj7#9)

    Declaration

    Swift

    public init?(_ symbol: String)
  • Helper function to map the roman numeral portion of the symbol to an initial offset value.

    Declaration

    Swift

    public func mapRN(_ symbol: String) -> String?
  • Returns a pitch-class set corresponding to the current roman numeral instance, as it applies to the specified key (may negate inversion).

    Declaration

    Swift

    public func pitchClasses(in key: Key) -> PCSet?
  • Map a roman numeral’s offsets to a particular key and octave, in the style of MIDI note numbers.

    Declaration

    Swift

    public func toMIDI(bassOctave: UInt8) -> [UInt8]