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)
.map(\.description)
.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]
- 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
Scaletor is named after Skeletor.