Generate modal scales in a type-safe way using Swift


Generate modal scales and chord voices in a type safe way.


Generating a scale for a root note and mode couldn't be easier, simply call the following:

let root = try Note("C")
let lydian = try Scaletor.makeScale(from: root, for: .lydian)
  .joined(separator: " ")
print(lydian) // [C D E F♯ G A B]

Generating chords for a mode is equally easy:

let root = try Note("C")
let chords = try Scaletor.makeChords(with: root, for: MajorMode.ionian)
print(chords) // [C major, D minor, E minor, F major, G major, A minor, B diminished]

Supported modes

  • Major scale modes (also known as the church modes)
  • Harmonic Minor scale modes
  • Melodic Minor scale modes


Scaletor can be installed using Swift Package Manager. To include it in your project, simply add the Package using Xcode 11 or higher.


Scaletor has a comprehensive test suite, which may be run either through Xcode or by running the following command in Terminal:

$ swift test

What's up with the name?

Scaletor is named after Skeletor.


  • Swift Tools 5.2.0
View More Packages from this Author


  • None
Last updated: Fri May 26 2023 06:43:09 GMT-0500 (GMT-05:00)