Scaletor

develop

Generate modal scales in a type-safe way using Swift
squarefrog/scaletor

Scaletor

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

Usage

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]

Supported modes

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

Installing

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

Tests

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.

Description

  • Swift Tools 5.2.0
View More Packages from this Author

Dependencies

  • None
Last updated: Sun Mar 17 2024 03:24:27 GMT-0900 (Hawaii-Aleutian Daylight Time)