Projets d'informatique musicale
Licence-Maîtrise d'informatique - Université de Caen
Marc Chemillier


;;; =================================
;;; Vademecum.data / 21 novembre 1999
;;; =================================

;;; Matrice d'enchainement des triades (Vademecum table 3.5 p. 58)
;;; (h 0) = do majeur do-mi-sol, (k 2) = re mineur re-fa-la, etc.
;;; La diagonale correspond a des modulations a la quarte ou quinte

(setf *matrice-triades*
'(((k 0) ((h 2) 1))
  ((h 0) ((h 0) .20) ((h 1) .05) ((k 2) .10) ((h 2) .06) ((k 4) .01) ((h 4) .01) ((k 5) .08) ((h 5) .20) ((k 7) .06) ((h 7) .13) ((k 9) .10))
  ((h 1) ((h 7) 1))
  ((k 2) ((k 2) .30) ((k 4) .04) ((h 4) .08) ((h 5) .02) ((k 7) .02) ((h 7) .51) ((k 9) .01) ((h 9) .02))
  ((h 2) ((h 7) 1))
  ((k 4) ((k 9) 1))
  ((h 4) ((k 9) 1))
  ((k 5) ((h 0) .30) ((h 7) .70))
  ((h 5) ((h 0) .12) ((k 2) .05) ((h 5) .20) ((h 7) .59) ((k 9) .04) ((h 9) .04) ((k 10) .04))
  ((k 7) ((h 9) 1))
  ((h 7) ((k 0) .30) ((h 0) .46) ((h 2) .04) ((h 7) .20) ((k 9) .02) ((h 9) .02))
  ((k 9) ((k 2) .27) ((h 2) .34) ((k 4) .02) ((h 4) .02) ((h 5) .02) ((k 9) .32) ((h 11) .01))
  ((h 9) ((k 2) 1))
  ((k 10) ((h 5) 1))
  ((h 11) ((k 4) 1))))


;;; -----------------------------
;;; Table d'enchainement des positions (Vademecum pp. 63-73)
;;; intervalle / couple-modes / triplet-positions

(setf *table-positions*
'(
;;; etat fond -> etat fond
((0 1 2 3 4 5 6) () (1 1 3) (2 2 1) (3 3 2) (1 3 2) (2 1 3) (3 2 1))
((0) ((k k) (k h)) (1 1 2) (2 2 3) (3 3 1))
((7 8 9 10 11) () (1 1 2) (2 2 3) (3 3 1) (1 2 3) (2 3 1) (3 1 2))
((9) ((h k)) (3 3 2))

;;; etat fond -> sixte
((0) ((k k) (h h)) (1 1 4) (1 3 5) (2 1 4) (2 3 5) (3 1 4) (3 3 5))
((1) ((k k) (k h)) (1 2 4) (2 2 4) (3 2 4))
((2) () (1 1 5) (1 2 4) (2 2 4) (2 1 5) (3 2 4) (3 1 5))
((3) ((k k)) (1 1 5) (2 1 5) (3 1 5))
((3) ((k h) (h h)) (1 1 5) (1 2 4) (2 2 4) (2 1 5) (3 1 5) (3 2 4))
((4) ((k h)) (1 1 5) (1 3 4) (2 1 5) (2 3 4) (3 3 4) (3 1 5))
((4) ((h h)) (1 1 5) (1 2 4) (1 3 4) (2 1 5) (2 2 4) (2 3 4) (3 1 5) (3 2 4) (3 3 4))
((5) ((k k) (k h)) (1 1 5) (1 2 5) (1 3 4) (2 1 5) (2 2 5) (2 3 4) (3 1 5) (3 2 5) (3 3 4))
((5) ((h k) (h h)) (1 1 5) (1 3 4) (2 1 5) (2 3 4) (3 1 5) (3 3 4))
((6) () (1 3 4) (2 3 4) (3 3 4))
((7) () (1 2 5) (1 3 4) (2 2 5) (2 3 4) (3 3 4) (3 2 5))
((8) () (1 2 5) (2 2 5) (3 2 5))
((9) ((k k) (k h)) (1 1 4) (2 1 4) (3 1 4))
((9) ((h k)) (1 1 4) (2 2 5) (3 3 5))
((9) ((h h)) (1 1 4) (3 3 5))
((10) () (1 1 4) (3 3 5))
((11) ((k k)) (1 1 4) (2 1 4) (3 1 4))
((11) ((h k)) (1 1 4) (1 3 5) (2 1 4) (2 3 5) (3 1 4) (3 3 5))

((0) ((k k) (h h)) (2 2 6) (3 3 7))
((1) ((k h) (h h)) (2 2 6) (3 3 7))
((2) ((k k) (h k)) (2 2 6) (3 3 7))
((3) ((k h) (h h)) (1 1 7) (3 3 6))
((4) ((k k) (h k)) (1 1 7) (3 3 6))
((5) () (1 1 7) (3 3 6))
((6) ((k k) (h k)) (1 1 7) (3 3 6))
((9) ((k k) (h k)) (1 1 6) (2 2 7))
((11) ((k k) (h k)) (2 2 6) (3 3 7))

;;; sixte -> etat fond
((2) () (4 4 1) (5 5 3))
((3) ((h k)) (4 4 2) (4 4 3) (5 5 1) (5 5 1))
((3) ((h h)) (5 5 1))
((4) ((h k) (h h)) (4 4 1) (5 5 2))
((5) () (4 4 3) (5 5 2))
((7) () (4 4 3) (5 5 1))
((9) ((h k)) (4 4 2) (4 4 3) (5 5 1))
((9) ((h h)) (4 4 2) (4 4 3) (5 5 1))

((5) () (6 6 3) (7 7 1))
((7) () (6 6 3) (7 7 1))))


;;; -----------------------------
;;; Table de choix d'agrements (Vademecum pp. 99-100)
;;; intervalle / triplet-positions / basse / tenor / alto / sopran


(setf *table-agrements*
'((2 1 1 3 (0 0 8 0) (0 0 2 0) (3 3 4 3) (5 5 5 5))
  (2 1 2 4 (0 0 0 0) (0 0 2 3) (3 3 5 5) (5 5 5 0))
  (2 2 2 1 (0 3 2 0) (3 5 4 3) (5 5 5 5) (0 0 8 0))
  (2 2 2 1 (0 0 8 0) (3 3 4 3) (5 5 5 5) (0 3 2 0))
  (2 2 2 6 (0 0 2 3) (3 3 2 0) (5 5 5 5) (0 0 8 0))
  (2 2 2 6 (0 0 0 0) (3 3 3 3) (5 5 5 5) (0 3 2 0))
  (2 2 1 5 (0 8 0 0) (5 5 5 0) (0 2 0 3) (3 4 3 5))
  (2 3 2 1 (0 0 8 0) (5 5 4 3) (0 0 5 5) (3 3 2 0))
  (2 3 2 1 (0 8 0 0) (5 5 5 3) (0 2 0 5) (3 4 3 0))
  (2 3 2 4 (0 0 8 0) (5 5 4 3) (0 0 5 5) (3 3 2 0))
  (2 3 2 6 (0 0 8 0) (5 5 4 3) (0 0 5 5) (3 3 2 0))
  (2 3 3 2 (0 3 2 0) (5 5 5 5) (0 0 0 0) (3 5 4 3))
  (2 3 3 2 (0 0 8 0) (5 5 5 5) (0 0 2 0) (3 3 4 3))
  (2 4 4 1 (3 3 2 0) (0 0 2 3) (5 5 5 5) (0 0 8 0))
  (2 5 5 3 (3 3 0 0) (5 5 5 0) (0 0 0 3) (5 0 3 5))
  (3 1 1 5 (0 0 8 0) (0 0 2 0) (3 3 4 3) (5 5 5 5))
  (3 1 2 4 (0 0 0 0) (0 2 3 3) (3 5 5 5) (5 0 0 0))
  (3 2 1 5 (0 0 8 0) (3 2 3 0) (5 5 5 3) (0 2 0 5))
  (3 3 2 4 (0 0 8 0) (5 5 4 3) (0 0 3 5) (3 3 2 0))
  (3 6 6 4 (3 3 4 4) (3 3 3 3) (5 5 6 6) (0 3 2 0))
  (4 1 1 3 (0 8 0 2) (0 2 0 0) (3 4 3 3) (5 5 5 5))
  (4 2 2 1 (0 0 8 0) (3 3 4 3) (5 5 5 5) (0 3 2 0))
  (5 1 1 3 (0 8 0 3) (0 2 0 0) (3 4 3 5) (5 5 5 7))
  (5 1 1 5 (0 8 0 7) (0 2 0 0) (3 4 3 3) (5 5 5 5))
  (5 1 3 2 (0 0 8 0) (0 0 5 5) (3 3 2 0) (5 3 4 3))
  (5 1 3 2 (0 0 0 0) (0 0 5 5) (3 3 2 0) (5 5 4 3))
  (5 1 3 4 (0 8 0 7) (0 2 0 5) (3 4 3 0) (5 5 5 3))
  (5 1 4 3 (0 0 2 3) (0 0 0 0) (3 3 5 5) (5 5 0 0))
  (5 1 2 3 (0 2 3 3) (3 2 0 0) (5 5 5 5) (0 8 0 0))
  (5 2 1 4 (0 0 8 0) (3 3 2 0) (5 5 4 3) (0 0 5 5))
  (5 2 2 3 (0 8 0 0) (3 2 0 3) (5 4 3 5) (0 5 5 0))
  (5 2 3 1 (0 2 3 0) (3 2 0 5) (5 5 5 0) (0 8 0 3))
  (5 2 3 4 (0 0 0 7) (3 0 3 5) (5 3 5 0) (0 5 0 3))
  (5 3 1 5 (0 8 0 7) (5 5 5 0) (0 2 0 3) (3 4 3 5))
  (5 3 2 1 (0 0 2 3) (5 5 5 5) (0 0 0 7) (3 3 5 5))
  (5 3 3 2 (0 0 8 0) (5 5 5 5) (0 0 2 0) (3 3 4 3))
  (5 3 3 4 (0 0 0 7) (5 6 5 5) (0 0 0 0) (3 4 3 3))
  (5 4 4 3 (3 0 2 3) (0 0 0 0) (5 5 5 5) (0 3 5 7))
  (5 4 4 3 (3 0 2 3) (0 0 0 0) (5 3 4 5) (0 0 0 7))
  (5 4 3 1 (3 2 0 0) (0 2 3 5) (5 5 5 5) (0 8 0 3))
  (5 5 5 2 (3 2 0 3) (5 5 5 5) (0 8 0 0) (5 4 3 5))
  (5 6 7 4 (3 2 0 7) (3 3 5 5) (5 5 0 0) (0 0 3 3))
  (5 6 7 4 (3 3 3 3) (3 3 5 5) (5 5 0 0) (0 5 4 3))
  (7 1 1 2 (0 2 3 4) (0 0 0 0) (3 3 3 3) (5 5 5 5))
  (7 1 2 3 (0 0 8 0) (0 3 4 3) (3 5 5 5) (5 0 2 0))
  (7 1 3 4 (0 8 0 0) (0 2 0 5) (3 4 3 0) (5 5 5 3))
  (7 2 1 3 (0 0 8 0) (3 3 2 0) (5 5 4 3) (0 0 5 5))
  (7 2 2 1 (0 7 6 5) (3 3 3 3) (5 5 7 7) (0 0 0 0))
  (7 2 2 3 (0 0 8 0) (3 3 4 3) (5 5 5 5) (0 0 3 0))
  (7 2 2 3 (0 2 3 4) (3 3 3 3) (5 5 5 5) (0 0 0 0))
  (7 2 3 4 (0 8 0 7) (3 4 3 5) (5 5 5 0) (0 2 0 3))
  (7 3 2 3 (0 0 2 3) (5 3 2 0) (0 5 5 5) (3 0 8 0))
  (7 3 3 1 (0 0 8 0) (5 5 5 5) (0 3 2 0) (3 5 4 3))
  (7 4 4 3 (3 2 0 3) (0 2 3 0) (5 5 5 5) (0 8 0 7))
  (7 5 5 2 (3 0 2 3) (5 3 4 5) (0 0 0 0) (5 5 5 5))
  (9 1 1 2 (0 0 8 0) (0 0 2 0) (3 3 4 3) (5 5 5 5))
  (9 1 1 2 (0 0 0 7) (0 2 0 0) (3 4 3 3) (5 5 5 5))
  (9 1 2 3 (0 3 2 0) (0 0 2 3) (3 5 5 5) (5 0 8 0))
  (9 2 2 3 (0 0 8 0) (3 3 4 3) (5 5 5 5) (0 0 2 0))
  (9 3 1 2 (0 0 8 0) (5 0 2 0) (0 3 4 3) (3 5 5 5))
  (9 3 3 1 (0 0 8 0) (5 5 5 5) (0 0 2 0) (3 3 4 3))
  (9 3 3 2 (0 0 8 0) (0 0 0 0) (0 0 2 0) (3 3 4 3))
  (9 4 4 6 (3 0 2 3) (0 0 0 0) (5 3 4 5) (0 0 0 0))
  (10 1 1 2 (0 0 8 0) (0 0 2 0) (3 3 4 3) (5 5 5 5))
  (10 1 1 4 (0 8 0 0) (0 2 0 0) (3 4 3 3) (5 5 5 6))))