IntervalPattern

public struct IntervalPattern

The pattern of intervals which defines the quality of a Scale.

Example Usage

let major: IntervalPattern = [2,2,1,2,2,2]
let wholeTone: IntervalPattern = [2,2,2,2,2,2]
let octatonic12: IntervalPattern = .octatonic12
let tetrachord = IntervalPattern([2,2,1], isLooping: false)
  • Creates a Scale.IntervalPattern with the given intervals and whether or not to protract infinitely upward.

    Declaration

    Swift

    public init(_ intervals: [Pitch], isLooping: Bool = true)
  • Chromatic scale interval pattern.

    Declaration

    Swift

    public static let chromatic: Scale.IntervalPattern
  • Major scale interval pattern.

    Declaration

    Swift

    public static let major: Scale.IntervalPattern
  • Chromatic scale interval pattern.

    Declaration

    Swift

    public static let minor: Scale.IntervalPattern
  • Melodic minor ascending scale interval pattern.

    Declaration

    Swift

    public static let melodicMinorAscending: Scale.IntervalPattern
  • Melodic minor descending scale interval pattern.

    Declaration

    Swift

    public static let melodicMinorDescending: Scale.IntervalPattern
  • Harmonic minor scale interval pattern.

    Declaration

    Swift

    public static let harmonicMinor: Scale.IntervalPattern
  • Octatonic 2-1 scale interval pattern.

    Declaration

    Swift

    public static let octatonic21: Scale.IntervalPattern
  • Octatonic 1-2 scale interval pattern.

    Declaration

    Swift

    public static let octatonic12: Scale.IntervalPattern
  • Whole tone scale interval pattern.

    Declaration

    Swift

    public static let wholeTone: Scale.IntervalPattern
  • Declaration

    Swift

    public subscript(index: Int) -> Pitch? { get }

    Return Value

    A Pitch at the given index, if it exists. Otherwise, false.

  • Declaration

    Swift

    public func makeIterator() -> AnyIterator<Pitch>

    Return Value

    An iterator for traversing the intervals in this Scale.IntervalPattern.