TestsTested | ✗ |
LangLanguage | SwiftSwift |
License | MIT |
ReleasedLast Release | Feb 2018 |
SPMSupports SPM | ✓ |
Maintained by Daniel Breves.
A music theory library for Swift OS X and iOS apps.
MusicTheory provides objects to work with musical keys, notes, scales and chords. It can be used to generate a scale from a key or note symbol, or a chord from a key and a chord degree for example. You can also use it to translate a sequence of notes to a sequence of MIDI values.
let cFlat = Note(name: "C♭")
let cFlatMinorScale = cFlat.scale("minor")
cFlatMinorScale.names // ["C♭", "D♭", "E♭♭", "F♭", "G♭", "A♭♭", "B♭♭"]
cFlatMinorScale.values // [59, 61, 62, 64, 66, 67, 69]
let cFlatMinChord = Chord(root: cFlat, type: "min") // or cFlat.chord("min")
cFlatMinChord.names // ["C♭", "E♭♭", "G♭"]
cFlatMinChord.values // [59, 62, 66]
let cFlatMajor = Key(note: cFlat, quality: "major")
let cFlatV7 = cFlatMajor.chord("V", type: "7")!
cFlatV7.name // "G♭7"
cFlatV7.notes.map { $0.name } // ["G♭", "B♭", "D♭", "F♭"]
For a list of all supported chord types see: Sources/Music.swift
For more usage examples see: Tests/MusicTheoryTests.swift
Improvements are always welcome. Please follow these steps to contribute:
See LICENSE.