      :scriabin           [1 3 3 2 3]
      :harmonic-major     [2 2 1 2 1 3 1]
      :melodic-minor-desc [2 1 2 2 1 2 2]
-     :hex-dorian         [2 1 2 2 3 2]
      :romanian-minor     [2 1 3 1 2 1 2]
      :hindu              [2 2 1 2 1 2 2]
      :iwato              [1 4 1 4 2]

;; All sequences should add up to 12 - the number of semitones in an octave

(def SCALE
  (let [ionian-sequence [2 2 1 2 2 2 1]
        ionian-len      (count ionian-sequence)
        rotate-ionian   (fn [offset]
                          (take ionian-len
                                (drop offset (cycle ionian-sequence))))]
    {:diatonic           ionian-sequence
     :ionian             (rotate-ionian 0)
     :major              (rotate-ionian 0)
     :dorian             (rotate-ionian 1)
     :phrygian           (rotate-ionian 2)
     :lydian             (rotate-ionian 3)
     :mixolydian         (rotate-ionian 4)
     :aeolian            (rotate-ionian 5)
     :minor              (rotate-ionian 5)
     :locrian            (rotate-ionian 6)
     :major-pentatonic   [2 2 3 2 3]
     :minor-pentatonic   [3 2 2 3 2]
     :whole-tone         [2 2 2 2 2 2]
     :whole              [2 2 2 2 2 2]
     :chromatic          [1 1 1 1 1 1 1 1 1 1 1 1]

     :marva              [1 3 2 1 2 2 1]
     :melodic-major      [2 2 1 2 1 2 2]
     :indian             [4 1 2 3 2]
     :spanish            [1 3 1 2 1 2 2]
     :prometheus         [2 2 2 5 1]
     :diminished         [1 2 1 2 1 2 1 2]
     :todi               [1 2 3 1 1 3 1]
     :leading-whole      [2 2 2 2 2 1 1]
     :augmented          [3 1 3 1 3 1]
     :purvi              [1 3 2 1 1 3 1]
     :chinese            [4 2 1 4 1]
     :lydian-minor       [2 2 2 1 1 2 2]}))

