   representing the key and an optional scale name (defaulting to :major):
   (scale-field :g)
   (scale-field :g :minor)"
-  (let [base (NOTE skey)
+  (let [base (NOTES skey)
         sname (or sname :major)
         intervals (SCALE sname)]
     (reverse (next

;; Notes in a typical scale are related by small, prime number ratios. Of all
;; possible 7 note scales, the major scale has the highest number of consonant
;; intervals.

(defmacro defratio [rname ratio]
  `(defn ~rname [freq#] (* freq# ~ratio)))

  [octave note]
  (+ (+ (* octave 12) note) 12))

(def NOTES {:C  0  :c  0
           :C# 1  :c# 1  :Db 1  :db 1
           :D  2  :d  2
           :D# 3  :d# 3  :Eb 3  :eb 3
