MusicTheory Versions Save

Universal music theory library for iOS, iPadOS, macOS, tvOS and watchOS in Swift

1.4

2 years ago

110 scales in total.

1.3.1

3 years ago

1.3.0

3 years ago

Added harmonic functions support! Now you can create harmonic functions from a scale and get possible directions for a key according to its harmonic function in the scale.

1.2.3

4 years ago

1.2.2

5 years ago

1.2.1

5 years ago

Represents a custom chord type for the chords that can not be represented by the current data structures. Can be initialized with the custom intervals.

1.2.0

5 years ago
  • Generate roman numerics for chords
  • Make ScaleType and ChordProgression struct instead of enum

1.1.0

5 years ago

You can create chord progressions now. It supports custom ones with Codable protocol, that you can store and use later.

let progression = ChordProgression.i_ii_vi_iv
let cSharpHarmonicMinorTriadsProgression = progression.chords(
  for: cSharpHarmonicMinor,
  harmonicField: .triad,
  inversion: 0)

1.0.1

5 years ago

You can create Pitches and Keys from string now.

let p: Pitch = "c#2"
let k: Key = "a#"

1.0.0

5 years ago

Breaking Changes

  • Note and NoteType structs removed.
  • You need to use Key instead of NoteType with a KeyType and Accidental.
  • You need to use Pitch instead of Note with a Key and octave (Int).
  • Scale and Chord structs notes(..) functions renamed pitches(...) and they are returning [Pitch] instead of [Note].
  • Scale and Chord structs noteTypes property renamed keys and it returns [Key] instead of [NoteType].
  • New Accidental struct added. You can define accidents like sharp, flat, doubleSharp or more spesific like .sharps(amount: 3).
  • Interval struct rewritten. Now it is a struct instead of an enum. But all important intervals as in old version added as static variables and it probably won't break anything.