;;;
;;; c:\\program files\\acl62\\music1.cl
;;;


(load "c:\\program files\\acl62\\utility.cl") 

(make-frame-from-list 
  '(key (type (value major-key minor-key)))) 

(make-frame-from-list 
  '(function (major-key 
                   (value tonic subdominant 
                          subdominant-minor 
                          dominant))
        (minor-key 
                   (value tonic-minor 
                          subdominant 
                          subdominant-minor 
                          dominant
              dominant-minor)))) 

(make-frame-from-list 
  '(major-key (tonic 
         (value ("I" ion) ("I6" ion) 
                         ("IM7" ion) 
             ("IIIm7" phr) 
             ("VIm7" aeo)
             ("+IVm7-5" loc))) 
        (subdominant 
          (value ("IV" lyd) ("IV6" lyd) 
                         ("IVM7" lyd) 
             ("IIm7" dor) 
             ("IV7" lyd-7 bn) 
             ("-VIIM7" lyd) 
             ("VII7" alt) 
             ("+IVm7-5" loc))) 
        (subdominant-minor 
         (value ("IVm7" dor) 
             ("IIm7-5" loc+2) 
             ("-VI6" lyd) 
             ("-VIM7" lyd) 
             ("-VII7" lyd-7) 
             ("-IIM7" lyd) 
             ("-VI7" lyd-7))) 
        (dominant 
         (value ("V7" mix lyd-7 hmp5 
                               alt comd wt) 
             ("VIIm7-5" loc) 
             ("-II7" lyd-7) 
             ("VIIdim7" dim))))) 

(make-frame-from-list 
  '(minor-key (tonic-minor 
         (value ("Im" all) 
             ("Im6" m) 
             ("Im7" dor) 
             ("ImM7" h m) 
             ("-IIIM7" lyd ion) 
             ("-III+M7" lyd) 
             ("-VIM7" lyd) 
             ("VIm7-5" loc))) 
        (subdominant 
          (value ("IV" lyd) 
             ("IV6" lyd7) 
             ("IV7" lyd-7) 
             ("IIm7" dor-2) 
             ("VII7" alt) 
             ("IVM7" lyd))) 
        (subdominant-minor 
         (value ("IVm" dor) 
             ("IVm6" dor) 
             ("IVm7" dor) 
             ("IIm7-5" loc) 
             ("-VI6" lyd) 
             ("-VIM7" lyd) 
             ("-VII7" mix) 
             ("-IIM7" lyd) 
             ("-VI7" lyd-7) 
             ("VImM7" dor))) 
        (dominant 
         (value ("V7" mix lyd-7 
                               hmp5 alt 
                               comd wt) 
             ("VIIdim7" dim) 
             ("VIIm7-5" loc) 
             ("-II7" lyd-7))) 
         (dominant-minor 
         (value ("Vm" phr) 
                         ("Vm7" phr))))) 

(make-frame-from-list 
  '(scale (ion (value 1.0 2.0 3.0 3.5 
                        4.5 5.5 6.5 7.0)) 
      (dor (value 1.0 2.0 2.5 3.5 
                        4.5 5.5 6.0 7.0)) 
      (phr (value 1.0 1.5 2.5 3.5 
                        4.5 5.0 6.0 7.0)) 
      (lyd (value 1.0 2.0 3.0 4.0 
                        4.5 5.5 6.5 7.0)) 
      (mix (value 1.0 2.0 3.0 3.5 
                        4.5 5.5 6.0 7.0)) 
      (aeo (value 1.0 2.0 2.5 3.5 
                        4.5 5.0 6.0 7.0)) 
      (loc (value 1.0 1.5 2.5 3.5 
                        4.0 5.0 6.0 7.0)) 
      (n (value 1.0 2.0 2.5 3.5 
                      4.5 5.0 6.0 7.0)) 
      (h (value 1.0 2.0 2.5 3.5 
                      4.5 5.0 6.5 7.0)) 
       (m (value 1.0 2.0 2.5 3.5 
                      4.5 5.5 6.5 7.0 
                      7.0 6.0 5.0 4.5 
                      3.5 2.5 2.0 1.0)) 
      (all (value 1.0 2.0 2.5 3.5 
                        4.5 5.0 5.5 6.0 
                        6.5 7.0)) 
      (dor-2 (value 1.0 1.5 2.5 3.5 
                          4.5 5.5 6.0 7.0)) 
      (loc+2 (value 1.0 2.0 2.5 3.5 
                          4.0 5.0 6.0 7.0)) 
      (lyd-7 (value 1.0 2.0 3.0 4.0 
                          4.5 5.5 6.0 7.0)) 
      (mmp5 (value 1.0 2.0 3.0 3.5 
                         4.5 5.0 6.0 7.0)) 
      (hmp5 (value 1.0 1.5 2.5 3.0 
                         3.5 4.5 5.0 6.0 7.0)) 
      (alt (value 1.0 1.5 2.5 3.0 
                        4.0 5.0 6.0 7.0)) 
      (comd (value 1.0 1.5 2.5 3.0 
                         4.0 4.5 5.5 6.0 7.0)) 
      (dim (value 1.0 2.0 2.5 3.5 
                        4.0 5.0 5.5 6.5 7.0)) 
      (wt (value 1.0 2.0 3.0 4.0 
                       5.0 6.0 7.0)) 
      (pt (value 1.0 2.0 3.0 
                       4.5 5.5 7.0)) 
      (bpt (value 1.0 2.5 3.5 4.0 
                        4.5 6.0 7.0)) 
      (bn (value 1.0 2.0 2.5 3.5 
                       4.0 4.5 5.5 6.0 7.0)) 
      (mixsus4 (value 1.0 2.0 3.0 3.5 
                            4.5 5.5 6.0 7.0)) 
      (mix-6 (value 1.0 2.0 3.0 3.5 
                          4.5 5.0 6.0 7.0)) 
      (spanish (value 1.0 1.5 2.5 3.0 
                            3.5 4.5 5.0 6.0 7.0)) 
      (gypsy (value 1.0 2.0 2.5 4.0 
                          4.5 5.0 6.5 7.0)) 
      (hms (value 1.0 2.0 3.0 3.5 
                        4.5 5.0 6.5 7.0)) 
      (ryukyu (value 1.0 3.0 3.5 
                           4.5 6.5 7.0)) 
      (tyuto (value 1.0 2.0 2.5 3.5 4.0 
                          5.0 5.5 6.5 7.0)) 
      (in (value 1.0 1.5 3.5 4.5 6.0 7.0 
                       5.0 4.5 3.5 1.5 1.0)) 
      (yo (value 1.0 2.0 3.5 4.5 6.0 7.0 
                       5.5 4.5 3.5 2.0 1.0))
      (ro (value 1.0 2.0 3.0 4.5 5.5 7.0)) 
      (ritu (value 1.0 2.0 3.5 
                         4.5 5.5 7.0)))) 

(make-frame-from-list 
  '(code (Mt (value 1.0 3.0 4.5)) 
      (mt (value 1.0 2.5 4.5)) 
      (sus4 (value 1.0 3.5 4.5)) 
      (aug (value 1.0 3.0 5.0)) 
      (dim (value 1.0 2.5 4.0)) 
      (M-5 (value 1.0 3.0 4.0)) 
      (d7 (value 1.0 3.0 4.5 6.0)) 
       (m7 (value 1.0 2.5 4.5 6.0)) 
      (M7 (value 1.0 3.0 4.5 6.5)) 
      (mM7 (value 1.0 2.5 4.5 6.5)) 
      (dim7 (value 1.0 2.5 4.0 5.5)) 
      (dimM7 (value 1.0 2.5 4.0 6.5)) 
      (m7-5 (value 1.0 2.5 4.0 6.0)) 
      (aug7 (value 1.0 3.0 5.0 6.0)) 
      (augM7 (value 1.0 3.0 5.0 6.5)) 
      (M6 (value 1.0 3.0 4.5 5.5)) 
      (m6 (value 1.0 2.5 4.5 5.5)) 
      (d7sus4 (value 1.0 3.5 4.5 6.0)) 
      (Madd9 (value 1.0 2.0 3.0 4.5)) 
      (madd9 (value 1.0 2.0 2.5 4.5)) 
      (M69 (value 1.0 2.0 3.0 4.5 5.5)) 
      (m69 (value 1.0 2.0 2.5 4.5 5.5)) 
      (d7-5 (value 1.0 3.0 4.0 6.0)) 
      (M+11 (value 1.0 3.0 4.0 4.5)) 
      (m11 (value 1.0 2.5 3.5 4.5)) 
      (d7-9 (value 1.0 1.5 3.0 4.5 6.0)) 
      (d79 (value 1.0 2.0 3.0 4.5 6.0)) 
      (d7+9 (value 1.0 2.5 3.0 4.5 6.0)) 
      (d7+11 (value 1.0 3.0 4.0 4.5 6.0)) 
      (d713 (value 1.0 3.0 4.5 5.5 6.0)) 
      (d7-9+11 (value 1.0 1.5 3.0 4.0 4.5 6.0))
      (d79+11 (value 1.0 2.0 3.0 4.0 4.5 6.0))
      (d7+9+11 (value 1.0 2.5 3.0 4.0 4.5 6.0))
      (d7+1113 (value 1.0 3.0 4.0 4.5 5.5 6.0))
      (m79 (value 1.0 2.0 2.5 4.5 6.0)) 
      (m711 (value 1.0 2.5 3.5 4.5 6.0)) 
      (m713 (value 1.0 2.5 4.5 5.5 6.0)) 
      (M79 (value 1.0 2.0 3.0 4.5 6.5)) 
      (M7+11 (value 1.0 3.0 4.0 4.5 6.5)) 
      (M713 (value 1.0 3.0 4.5 5.5 6.5)) 
      (mM79 (value 1.0 2.0 2.5 4.5 6.5)) 
      (mM711 (value 1.0 2.5 3.5 4.5 6.5)) 
      (mM713 (value 1.0 2.5 4.5 5.5 6.5))))

(make-frame-from-list 
  '(guide-tone 
      (Mt (value 3.0 6.5)) 
      (mt (value 2.5 6.0)) 
      (sus4 (value 3.5 6.0)) 
      (aug (value 3.0 6.5)) 
      (dim (value 2.5 5.5)) 
      (M-5 (value 3.0 6.5)) 
      (d7 (value 3.0 6.0)) 
      (m7 (value 2.5 6.0)) 
      (M7 (value 3.0 6.5)) 
      (mM7 (value 2.5 6.5)) 
      (dim7 (value 2.5 5.5)) 
      (dimM7 (value 2.5 6.5)) 
      (m7-5 (value 2.5 6.0)) 
      (aug7 (value 3.0 6.0)) 
      (augM7 (value 3.0 6.5)) 
      (M6 (value 3.0 6.5)) 
      (m6 (value 2.5 6.0)) 
      (d7sus4 (value 3.5 6.0)) 
      (Madd9 (value 3.0 6.5)) 
      (madd9 (value 2.5 6.0)) 
      (M69 (value 3.0 6.5)) 
      (m69 (value 2.5 6.0)) 
      (d7-5 (value 3.0 6.0)) 
      (M+11 (value 3.0 6.5)) 
      (m11 (value 2.5 6.0)) 
      (d7-9 (value 3.0 6.0)) 
      (d79 (value 3.0 6.0)) 
      (d7+9 (value 3.0 6.0)) 
      (d7+11 (value 3.0 6.0)) 
      (d713 (value 3.0 6.0)) 
      (d7-9+11 (value 3.0 6.0)) 
      (d79+11 (value 3.0 6.0)) 
      (d7+9+11 (value 3.0 6.0)) 
      (d7+1113 (value 3.0 6.0)) 
      (m79 (value 2.5 6.0)) 
      (m711 (value 2.5 6.0)) 
      (m713 (value 2.5 6.0)) 
      (M79 (value 3.0 6.5)) 
      (M7+11 (value 3.0 6.5)) 
      (M713 (value 3.0 6.5)) 
      (mM79 (value 2.5 6.5)) 
      (mM711 (value 2.5 6.5)) 
      (mM713 (value 2.5 6.5)))) 

(make-frame-from-list 
  '(tension-note 
           (ion (value 2.0 5.5)) 
      (dor (value 2.0 3.5)) 
      (phr (value 3.5 5.0)) 
      (lyd (value 2.0 4.0 5.5)) 
      (mix (value 2.0 5.5)) 
      (aeo (value 2.0 3.5)) 
      (loc (value 3.5 5.0)) 
      (n (value 2.0 3.5)) 
      (h (value 2.0 3.5)) 
      (m (value 2.0 3.5 5.5 3.5 2.0))
      (all (value 2.0 3.5))
      (dor-2 (value 3.5 5.5))
      (loc+2 (value 2.0 3.5 5.0))
      (lyd-7 (value 2.0 4.0 5.5))
      (mmp5 (value 2.0 5.0))
      (hmp5 (value 1.5 2.5 5.0))
      (alt (value 1.5 2.5 4.0 5.0))
      (dim (value 2.0 3.5 5.0 6.5))
      (comd (value 1.5 2.5 4.0 5.5))
      (wt (value 2.0 4.0))
      (mixsus4 (value 2.0 5.5))
      (mix-6 (value 2.0 5.0)) 
      (spanish (value 1.5 2.5 3.5 5.0))
      (gypsy (value 2.0 4.0 5.0)) 
      (hms (value 2.0 3.5 5.0)) 
      (ryukyu (value 3.5)) 
      (tyuto (value 2.0 3.5 5.0 5.5))
      (in (value 1.5 4.5)) 
      (yo (value 2.0 4.5)) 
      (ro (value 2.0 5.5)) 
      (ritu (value 2.0 5.5))
      (pt (value 2.0 5.5)) 
      (bpt (value 3.5 4.0)) 
      (bn (value 2.0 3.5 4.0 5.5))))
;;; 
;;; 
;;; 
(make-frame-from-list 
  '(UST-CM7 (ion (value "G" "Am" "Em" 
                          "D" "Bm")) 
       (lyd (value "G" "Am" "Em" 
                          "D" "Bm")))) 
;;; 
;;; 
;;; 
(make-frame-from-list 
  '(UST-Cm7 (dor (value "Gm" "-B" "-E" "Dm"))
          (phr (value "-E" "-A" "Fm"))
          (aeo (value "-B" "-E" "Gm"))
          (n (value "Gm" "-B")) 
          (h (value "G")) 
          (all (value "Gm" "G" "-A" 
                               "-B" "-E" "Dm"))))
;;; 
;;; 
;;; 
(make-frame-from-list 
  '(UST-Cm (dor (value "Gm" "-B" "-E" "Dm"))
       (phr (value "-E" "-A" "Fm"))
       (aeo (value "-B" "-E" "Gm"))
       (n (value "Gm" "-B")) 
       (h (value "G")) 
       (all (value "Gm" "G" "-A" "-B" 
                         "-E" "Dm")))) 
;;; 
;;; 
;;; 
(make-frame-from-list 
  '(UST-C7 (mix (value "Gm" "Am")) 
       (lyd-7 (value "D" "Gm" "Am"))
       (alt (value "-Dm" "-Em" "-G" "-A"))
       (hmp5 (value "-Dm" "-E" "-A"))
       (comd (value "-Em" "-E" "-Gm" 
                          "-G" "Am" "A")) 
       (all (value "-E" "D" "-G" "-A" 
                         "A" "-Bm" "-Dm" "-B"
                         "Am" "-Gm" "Gm" "-Em")))) 
;;; 
;;; 
;;; 
(make-frame-from-list 
  '(UST-Cdim7 (dim (value "Dm" "D" "Fm" "F" 
                            "-Am" "-A" "Bm" "B"))))

;;; 
;;; 
;;; 
(make-frame-from-list 
  '(UST-C7sus4 (mixsus4 (value "Dm" "F" 
                                 "Gm" "-B")))) 
;;; 
;;; 
;;; 
(make-frame-from-list 
  '(UST-Cm7-5 (loc (value "-A" "-B" "-Em" "Fm" 
                            "-A" "-G" "-Bm")) 
        (loc+2 (value "Fm" "-A" "-B"))))
;;; 
;;; 
;;; 
(make-frame-from-list 
  '(UST-CmM7 (m (value "Dm" "F" "G")))) 
;;; 
;;; 
;;; 
(make-frame-from-list 
  '(UST-Cm6 (m (value "Dm" "F" "G")))) 
;;; 
;;; 
;;; 
(make-frame-from-list 
  '(C (ion (value (tonic (C)))) 
    (lyd (value (subdominant (g D G))))))
;;; 
;;; 
;;; 
(make-frame-from-list 
  '(Am (all (value (tonic-minor (a)))) 
      (aeo (value (tonc (C)))) 
      (phr (value (dominant-minor (d)) 
                        (tonic (F)))) 
      (dor (value (subdominant-minor (E e)))) 
      (dor-2 (value (subdominant (g)))))) 
;;; 
;;; 
;;; 
(make-frame-from-list 
  '(CM7 (ion (value (tonic (C)))) 
     (lyd (value (tonic-minor (a e)) 
                      (subdominant (g D G)) 
                      (subdominant-minor (B E b e))
                      ))))
;;; 
;;; 
;;; 
(make-frame-from-list 
  '(Am7 (aeo (value (tonic (C)))) 
     (phr (value (tonic (F)) 
                      (dominant-minor (d)))) 
      (dor (value (tonic-minor (a)) 
                      (subdominant (G)) 
                      (subdominant-minor (E e))))
     (dor-2 (value (subdominant (g))))))
;;; 
;;; 
;;; 
(make-frame-from-list 
  '(C7 (all (value (tonic (C)) 
                     (dominant (f F)))) 
     (lyd-7 (value (dominant (B b)) 
                       (subdominant (G g)) 
                     (subdominant-minor (D E e))))
     (alt (value (subdominant (-D +c)))) 
     (comd (value (subdominant (-D +c))))
     (hmp5 (value (dominant (f)))) 
     (mix (value (subdominant-minor (d)))))) 
;;; 
;;; 
;;; 
(make-frame-from-list 
  '(C6 (ion (value (tonic (C)))) 
     (lyd (value (subdominant (G g)) 
                     (subdominant-minor (E e))))))

;;; 
;;; 
;;; 
(make-frame-from-list 
  '(Am6 (m (value (tonic-minor (a)))) 
     (dor (value (subdominant-minor (E e))))))
;;; 
;;; 
;;; 
(make-frame-from-list 
  '(Am7-5 (loc (value (tonic (-E)) 
                        (tonic-minor (c)) 
                        (subdominant (-E)) 
                        (subdominant-minor (g))
            (dominant (-B -b)))) 
      loc+2 (value (subdominant-minor (G))))))
;;; 
;;; 
;;; 
(make-frame-from-list 
  '(AmM7 (h (value (tonic-minor (a)))) 
      (m (value (tonic-minor (a)))) 
      (dor (value (subdominant-minor (c))))))
;;; 
;;; 
;;; 
(make-frame-from-list 
  '(A+M7 (lyd (value (tonic-minor (+f))))))