Projets d'informatique musicale
Licence-Maîtrise d'informatique - Université de Caen
Marc Chemillier
Automate musical de Barbaud
Biblio : BARBAUD P., Vademecum de l'ingénieur en musique, Springer, 1993, chap. 3 et 4, pp. 41-104.
Le programme se décompose en deux constituants :
une chaîne de Markov, qui engendre des successions de triades, à partir d'une table d'enchaînements d'accords munie de probabilités,
deux transductions rationnelles, qui ornent ces accords (retards, notes de passages, broderies) à partir de tables de positions d'accords et de motifs prédéfinis (que Barbaud appelle des « agréments »).
Chaîne de Markov : enchaînement de triades
Une triade par mesure, chacune étant un accord de trois notes. Deux modes : H pour les triades "majeures" (x, x+4, x+7), K pour les triades "mineures" (x, x+3, x+7). Les codes midi des notes sont définis modulo 12 (c'est-à-dire avec des octaves indéterminées)
H0 = 0-4-7, H7 = 7-11-2, K9 = 9-0-4, K2 = 2-5-9, K7 = 7-10-2
Première transduction : calcul des positions
Chaque triade est disposée sur quatre voix, avec une position par mesure, ou éventuellement deux positions (ici dans les mesures 1 et 4). Les transitions d'une mesure à l'autre sont données par des triplets (deux positions de la première mesure enchainées à la première position de la mesure suivante). Il y a sept positions possibles numérotées de 1 à 7. La table des triplets contenant 65 lignes enregistre tous les enchaînements possibles en fonction de l'intervalle de la voix basse, et du mode des accords (H ou K).
(1 2 5) (5 5 3) (3 3 2) (2 1 3)
mesure 1: position1 = 0-0-4-7, position2 = 0-4-7-0 pour la triade H0 = 0-4-7
mesure 2: position5 = 11-2-7-2 pour la triade H7 = 7-11-2
etc.
Deuxième transduction : ajout des agréments
Pour certaines mesures et avec certaines positions, on peut ajouter des agréments mélodiques (ici dans les mesures 2 et 3) pour les voix de basse, ténor, alto, soprano.
mesure 2: intervalle=2 positions=(5 5 3) agrements=(3 3 0 0) (5 5 5 0) (0 0 0 3) (5 0 3 5)
mesure 3: intervalle=5 positions=(3 3 2) agrements=(0 0 8 0) (5 5 5 5) (0 0 2 0) (3 3 4 3)