https://github.com/AudioKit/Tonic/issues/16
Swift library for music theory, currently focused on chords/harmony.
Tonic answers musical questions, such as:
What’s the note for this pitch in this key?
Note(pitch: Pitch(midiNoteNumber), key: .Bb)
What’s the name of a chord?
Chord(notes: notes).description
What chords are in this key?
Key.Cm.chords
What chords in this key contain this note?
Key.C.chords.filter { $0.noteClasses.contains(.C) }
What notes do these keys have in common?
Key.C.noteSet.intersection(Key.Cm.noteSet)
What notes don’t these keys have in common?
Key.C.noteSet.symmetricDifference(Key.Cm.noteSet)
These questions are all tested in our unit tests explicitly.
Pitch
UInt8
The documentation is host on the AudioKit.io Website. The package includes a demo project as well.
Install using Swift Package Manager.
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
Tonic
Swift library for music theory, currently focused on chords/harmony.
Tonic answers musical questions, such as:
What’s the note for this pitch in this key?
Note(pitch: Pitch(midiNoteNumber), key: .Bb)
What’s the name of a chord?
Chord(notes: notes).description
What chords are in this key?
Key.Cm.chords
What chords in this key contain this note?
Key.C.chords.filter { $0.noteClasses.contains(.C) }
What notes do these keys have in common?
Key.C.noteSet.intersection(Key.Cm.noteSet)
What notes don’t these keys have in common?
Key.C.noteSet.symmetricDifference(Key.Cm.noteSet)
These questions are all tested in our unit tests explicitly.
Goals
Pitch
instead ofUInt8
).Documentation
The documentation is host on the AudioKit.io Website. The package includes a demo project as well.
Install
Install using Swift Package Manager.