![]() | Serveur © IRCAM - CENTRE POMPIDOU 1996-2005. Tous droits réservés pour tous pays. All rights reserved. |
Les Cahiers de l'Ircam 1(3): La composition assistée par ordinateur 1(3), juin 1993
Copyright © Ircam - Centre Georges-Pompidou 1993
Quelles peuvent être les fonctions d'un système d'aide à la composition, confronté à tant d'activités ? Il semble qu'en fait la plupart de ces aspects décrits puissent bénéficier de l'utilisation d'un tel système. La plupart des compositeurs [1] avec lesquels nous avons travaillé sur le projet Carla [2] venaient dans le but de transférer une partie de leur monde technologique dans un programme. Leur intérêt pour l'utilisation du système venait d'une réelle motivation compositionnelle, et ce n'était pas pour eux une simple curiosité pour une activité «à la mode »ou censée jouer les esclaves à des fins de production plus importantes. Dans la suite de cet article, est développée l'hypothèse selon laquelle l'utilisation d'un système d'aide à la composition suppose un transfert de connaissances musicales, qui implique pour le compositeur une mise en perspective de ses processus compositionnels se situant entre décomposition et projection vers l'incomposable.
Pourtant, malgré cette orientation sensible et quels que soient l'intérêt et les réussites de ces démarches, l'informatique envisagée comme outil d'aide à la composition, parfois même indispensable d'une pratique compositionnelle, reste une préoccupation constante chez nombre de compositeurs.
Pour tenter de résumer rapidement les tentatives reliées à l'aide à la composition, l'histoire de l'Ircam offre à cet égard une situation parallèle. Formes [7] a, par exemple, été une des premières tentatives fructueuses de relier la composition à un domaine alors en pleine expansion : la synthèse. La volonté des créateurs de Formes était de concevoir la création d'un son comme dynamique, c'est-à-dire produit par une logique compositionnelle. Cette recherche a eu le mérite de poser la question de la représentation d'objets musicaux, qui, s'ils n'étaient pas standards au sens de l'histoire de la composition musicale (puisque synthétiques), offraient au moins la possibilité d'une description compositionnelle a priori adéquate, puisque fondée sur leurs propres méthodes de synthèse. La limite tenait au fait qu'un changement de vision compositionnelle sur les objets musicaux en question n'était pas aisé, justement en raison de la forte correspondance entre leur propre définition et les méthodes utilisées pour les manipuler [8] . Autrement dit, deux logiques temporelles évoluaient en parallèle : celle strictement musicale et celle du système, clairement informatique. Malgré ces limites, le projet s'est révélé très fertile : proposer un environnement général d'aide à la composition, incluant à la fois la manipulation des structures musicales, leur définition, et un environnement apte à faire dialoguer ces différents constituants.
L'étape suivante, à travers les recherches entreprises sur l'environnement Esquisses [9] , a tenté de produire un ensemble de programmes destinés à un certain nombre de tâches définies, correspondant à des manipulations musicales «fréquentes». Dans le même ordre d'idées se situent les expérimentations musicales en prologII [10] réalisées par Jan Vandenheede [11] , ainsi que nos premiers programmes, dont Michael Jarrell s'est servi [12] . Dans cette optique, les problèmes à résoudre sont, d'une part, la définition des objets musicaux et, d'autre part, la généralité des programmes. Dans une telle perspective, en effet, les objets musicaux doivent être définis en entier avant d'élaborer les programmes permettant de les manipuler ou de les engendrer. Dans le meilleur des cas, cette représentation est fondée sur une étude des langages musicaux propres aux compositeurs «ciblés», mais cela ne résout pas la pluralité des structures musicales utilisées par chaque compositeur ni, surtout, ne prend en compte l'évolution de ces structures au cours de la composition. Par ailleurs, les programmes sont alors trop spécialisés et tout compositeur ne partageant pas au moins une partie de la pensée musicale incluse dans les programmes ne peut utiliser l'environnement.
Il existe deux [13] solutions pour tenter de surmonter ces difficultés relatives, d'une part, à la représentation et, d'autre part, à la programmation.
Un dernier mot, enfin, au sujet des rapports entre scientifiques et musiciens, avant de définir plus avant les caractéristiques d'un outil général
d'aide à la composition. La composition assistée se situe dans un rapport étroit avec les catégories de l'invention et de la création. Pour le chercheur, ce rapport est aussi problématique que singulier. Nulle part ailleurs qu'en composition musicale, en effet, une telle liberté de décision, conduisant parfois à rejeter des années de travail personnel, des siècles d'élaboration patiente d'une certaine structuration, n'est observable ; nulle part ailleurs ne se rencontre une telle interaction entre des domaines intellectuels et sensibles différents ; nulle part ailleurs, de surcroît, une discipline dont la transmission et l'apprentissage sont aussi problématiques et si intégrés dans l'acte de création même ne peut s'observer; nulle part ailleurs, enfin, un langage artistique ne s'est constitué avec une telle complexité.
La composition [16] est un art d'une richesse extraordinaire, s'il s'agit de connaissances appréhendées avec un mélange d'empirisme et de théorie, il faut tout de même que la communauté scientifique se confronte à cette évidence : il s'agit là d'un domaine dans lequel les recherches les plus novatrices peuvent y trouver un champ d'expérimentations, de validation, et enfin de nouvelles interrogations.
De plus, cela va à l'encontre de l'histoire de la composition, et en particulier de l'évolution de ces dernières années dans les domaines à la fois de la forme et du timbre. Les tendances les plus récentes visent en effet, si on les considère d'une façon simplifiée, à envisager le calcul d'une façon plus abstraite, plus orientée vers le processus qui l'exprime dans le temps (l'héritage de la musique spectrale, si l'on veut), et/ou vers la forme qui va le confronter à d'autres dimensions (une tendance de la [dite] «nouvelle complexité»). Plus intéressante semble donc être la direction selon laquelle l'informatique est un vecteur d'une partie de la pensée musicale ; en d'autres termes, un outil d'aide à la composition n'a de sens que s'il peut représenter au moins une partie des connaissances musicales du compositeur.
Pourtant, pourra-t-on objecter, rien n'empêche le compositeur de développer sa pensée pour lui-même, «à la main» pourrait-on dire, avec ses propres outils, et de ne transférer sur un programme que ce qui est susceptible d'être calculé ? Peut-être est-ce effectivement un effet pervers de l'informatique de laisser croire que, parce qu'il existe un algorithme pour calculer un objet musical quelconque, la pensée musicale va pouvoir en rester à utiliser simplement cet algorithme ? La réalité, plus complexe, s'articule autour de trois idées.
Michael Jarrell souhaitait utiliser un programme d'aide à la composition pour générer des voix dans une polyphonie. Il avait déjà utilisé de telles superpositions de différentes couches de hauteurs, avec des calculs effectués à la main [19] . Chacune des voix devant être fondée sur une pulsation définie (des triples croches régulières, avec des silences séparant plusieurs groupes), la structure musicale qui devait être générée pouvait être définie comme une liste horizontale de hauteurs. De façon à fonder la polyphonie sur une responsabilité intervallique d'une voix à l'autre, l'idée était de diviser une mélodie de références en un certain nombre de groupes et de dériver d'autres mélodies, contenant les même intervalles, de la façon suivante :
Figure 1 : Mélodie initiale.
Figure 2 : Deux mélodies dérivées.
Par exemple, si l'on donne comme mélodie initiale les trois groupes de la figure 1 , les deux mélodies dérivées de la figure 2 sont toutes deux correctes [20] .
Ces deux exemples montrent les problèmes de la programmation d'une idée musicale, assez simplifiée, séparée du reste de la pensée musicale du compositeur. Plusieurs centaines de solutions séparent les deux mélodies dérivées montrées ci-dessus. Il est clair que Michael Jarrell, à la main, n'avait pas besoin de calculer toutes ces mélodies pour choisir de «bonnes solutions». De plus, il était difficile, compte tenu de la ressemblance entre divers résultats, de choisir convenablement telle ou telle mélodie pour l'écriture réelle de la polyphonie souhaitée. Nous avons alors défini des contraintes permettant «d'inscrire» dans un trajet harmonique [21] préétabli (la figure 3 en montre le début) les solutions précédentes. Cependant, même avec l'utilisation de telles contraintes, les résultats restaient trop voisins et trop peu caractérisés musicalement pour être exploitables.
Figure 3 : Début du trajet harmonique.
Ainsi, pour une idée compositionnelle très précise, comme la construction d'une polyphonie par superposition de mélodies dérivées intervalliquement et rigoureusement d'une mélodie initiale, la programmation a fait apparaître des différences sensibles entre l'énoncé de la technique et son résultat programmé. Cela n'est, d'ailleurs, pas si exceptionnel en informatique et l'on peut dire que les systèmes à base de connaissances se sont aussi développés pour répondre à ce type d'interrogations. Musicalement, ce qui est intéressant est que, après avoir étudié les solutions correspondant à une utilisation réelle du programme, Michael Jarrell a choisi de changer la technique, tout en gardant le même but polyphonique. Les nouveaux programmes que nous avons utilisés ont alors été dérivés de mes propres programmes d'aide à la composition, modifiés pour prendre en compte des aspects particuliers que souhaitait Michael Jarrell. L'idée est, dans ce cas, de partir d'un contenu intervallique fixe (on ne prend donc en fait qu'un seul groupe), mais en autorisant les permutations circulaires des intervalles. Nous avons utilisé deux types de contenu intervallique ; par exemple, le premier est constitué de la suite d'intervalles suivants : septième majeure, sixte mineure, ton, tierce mineure, septième majeure, tierce mineure, septième majeure, tierce mineure. Si l'on part du si du premier accord du trajet harmonique précédent et sans contrainte [22] , les premières mélodies sont celles-ci :
Figure 4 : Formes intervalliques.
Si l'on contraint le résultat de façon à n'obtenir que des hauteurs qui, soit font exactement partie de l'accord [23] , soit n'appartiennent pas aucun octave de cet accord, les premiers résultats sont les suivants :
Figure 5 : Formes intervalliques contraintes.
On situe alors l'un des enjeux importants de l'aide à la composition : l'idée compositionnelle peut être capable de réalisations extrêmement différentes et peut même changer au cours de la composition. Ce n'est pas parce qu'une solution a été programmée qu'elle rend effectivement compte de la pensée du compositeur et un seul programme n'est, en général, pas suffisant pour exprimer une idée ou une action musicales. Il faut, pour lui donner un outil réellement intéressant, coupler la conception d'un programme avec une vision plus générale d'une pensée musicale. Il faut donc réfléchir sur les différentes sortes d'actions musicales qui sont à sa disposition et en déduire des outils adaptés. Le problème à résoudre est de laisser suffisamment de liberté au compositeur pour exprimer ses idées, tout en structurant, en même temps, fortement l'outil pour le guider et pour que la programmation de l'idée musicale soit la plus riche possible.
Nous avons proposé, dans Carla: Knowledge acquisition and induction for computer assisted composition une telle catégorisation d'actions musicales. Celle-ci garde une distinction courante dans la musique contemporaine entre engendrement, ce qui permet de générer du matériau brut, et transformations diverses, permettant de «former» de plus en plus ce matériau [24] . Nous utilisons dans Carla cinq catégories d'actions musicales : engendrement, contraintes, transformations, affichage, éditeurs.
Nous appelons les actions musicales relatives à l'engendrement des théories. Les théories peuvent être de toutes sortes. Dans le cas de Michael Jarrell, une formalisation de structures mélodiques fondées sur leur contenu intervallique est considérée comme une théorie permettant de générer des mélodies.
Comme l'exemple précédent le prouve, les compositeurs décrivent leur méthode de composition d'une façon insuffisante pour qu'elle soit partiellement automatisatée. Notre hypothèse est que cette description est sur-générale. C'est-à-dire que le nombre de structures musicales potentielles est très important, en tout cas non unique, même si le compositeur n'utilisera effectivement qu'une seule solution. Il nous faut donc contraindre les instances produites par la théorie, de façon à respecter au mieux les souhaits des compositeurs [25] . Cela constitue la seconde catégorie d'action.
Selon les théories, il peut être nécessaire de transformer certaines structures musicales en d'autres afin d'utiliser le plus consciemment possible ces contraintes. Cela forme donc une troisième catégorie d'action musicale, qui consiste à transformer des structures en d'autres. Par exemple, si la théorie engendre des permutations de symboles (cf. infra), il faudra associer ces symboles à des hauteurs et contraindre le résultat.
Enfin, une fois définie une théorie contrainte, associée à des transformations de structures, il faut les présenter d'une façon proche du langage de l'écriture musicale : il s'agit là de l'affichage des résultats du programme.
Il reste à pouvoir «retoucher» les structures produites par programme. Il est alors utile d'éditer ces structures. Nous avons formalisé plusieurs types d'éditions ; leur implantation est encore en cours d'étude.
Le compositeur change certains éléments du résultat du programme uniquement en surface, au niveau de l'affichage. Profondément, en particulier pour de futures utilisations, cette structure n'est pas changée. Par exemple, si le résultat du programme est do-mi-sol et si le compositeur édite le sol en sol#, la transposition du résultat précédent d'une quarte donnera fa-la-do (et non do#).
Dans ces deux types d'éditions, les modifications apportées par le compositeur affectent en profondeur les structures éditées.
Il s'agit dans ce cas de vérifier que, en modifiant une structure, la modification est cohérente avec le programme qui l'a engendrée. Du point de vue de la programmation, cela signifie qu'il faut refaire tourner le programme avec les valeurs éditées, pour chercher une autre solution correspondant au même programme [26] . Par exemple, si le programme recherche les accords parfaits majeurs en première position de la tonalité de do majeur et si le compositeur édite un accord résultat do-mi-sol en fa-la-do, cette modification est cohérente avec le programme, puisque ces deux accords répondent bien à son comportement.
Le compositeur modifie une valeur de sa structure et désigne des paramètres du programme pouvant être modifiés. Le programme recherche alors des modifications qui respectent le programme initial et la valeur éditée, tout en modifiant les paramètres précisés par l'utilisateur. Par exemple, si le programme recherche, cette fois-ci, tous les accords parfaits, majeurs ou mineurs selon un paramètre du programme. Si le compositeur édite un accord résultat do-mi-sol en mi-sol-si, le paramètre fixant l'aspect majeur ou mineur doit être modifié en conséquence.
Dans ce cas, le compositeur coupe les liens génétiques d'une structure et du programme qui l'a engendrée. Cette édition, peut-être moins intéressante en informatique, est fondamentale en musique. Il s'agit d'une des transformations les plus communes pour faire basculer une structure d'un état en un autre.
La structure que Philippe Hurel utilise pour l'engendrement est appelée pattern. Un pattern est une suite de symboles dont la structure est récursive, alliée à un nombre de répétitions, que nous appellerons n. En effet, la structure des symboles du pattern implique que, lorsqu'il est répété un certain nombre de fois, si l'on sélectionne les variables apparaissant tous les n symboles, on retrouve la structure de départ (celle qui est répétée). Par exemple, la suite de symboles A B C D E B G D forme un pattern [27] ; lorsque nous répétons cette structure cinq fois (n = 5), la même suite se retrouve tous les cinq symboles :
A B C D E B G D, A B C D E B G D, A B C D E B G D, AB C D E B G D, A B C D E B G D
Nous appelons le pattern de niveau «supérieur» (souligné) le pattern accent.
Une fois une structure de pattern définie, il faut créer une instance numérique de ce pattern. Pour cela, il faut associer des valeurs aux symboles ; cette association est faite en deux temps. Tout d'abord, à chaque symbole du pattern accent est associée une valeur prise dans une permutation [28] d'une suite de chiffres compris entre 1 et le nombre de symboles du pattern. Ensuite, pour chaque répétition du pattern, une valeur issue d'une permutation des valeurs associées au pattern est attribuée à chaque symbole, à condition que cette permutation soit compatible avec les valeurs des accents. L'idée est que chaque répétition du pattern est cohérente avec elle-même (les répétitions des symboles d'un pattern sont respectées) et cohérente avec le pattern accent [29] . Par exemple, les trois premières instances numériques engendrées sont celles-ci :
1 2 3 4 5 2 6 4,1 2 3 4 6 2 5 4,1 2 3 6 5 2 4 6,1 2 3 5 4 2 6 5,1 2 5 4 3 2 6 4
1 2 3 4 5 2 6 4,1 2 3 4 6 2 5 4,1 2 3 6 5 2 4 6,1 2 3 5 4 2 6 5,1 2 5 4 3 2 6 4
1 2 3 4 5 2 6 4,1 2 3 4 6 2 5 4,1 2 3 6 5 2 4 6,1 2 3 5 4 2 6 5,1 2 5 4 3 2 6 4
Il faut noter que ce type de calculs a priori non musical (on obtient des
suites de chiffres à partir de symboles) est très courant.
Autrement dit, les seules structures musicales «classiques» comme
les hauteurs, les durées, les intensités, ne sont pas
suffisantes. Selon chaque compositeur, des structures plus ou moins abstraites
peuvent intervenir, ayant loisir d'avoir leur propre structuration. Nous avons
proposé dans Carla : acquisition et induction sur le matériau
compositionnel [30] , par la notion de types informatiques, une formalisation des langages musicaux suffisamment abstraite pour permettre à tout compositeur d'exprimer son propre langage musical. Ces types permettent de
formaliser des structures musicales quelconques (excepté celles
strictement sonores ou strictement graphiques), puis de les éditer. En
précisant une information de nature plus sémantique sur les types
définis, Carla peut même proposer de nouveaux types utiles.
La théorie des patterns en question incorpore en elle-même des contraintes, utilisées afin de donner aux suites de chiffres précédentes une allure «intéressante». Cette introduction de contraintes au sein de la théorie ne doit pas être confondue avec l'utilisation des contraintes telle que nous l'avons vue plus haut ; dès lors que cette intégration des contraintes a été réalisée, il n'est plus possible d'agir dessus (sauf en re-programmant une nouvelle théorie). Une utilisation intéressante de ce type d'intégration est de dériver d'une théorie donnée un certain nombre de sous-théories, en intégrant les contraintes correspondantes à une utilisation particulière de la théorie au cours du travail de composition. Ainsi, à partir des patterns généraux, il est possible d'en concevoir des particuliers, tels que, par exemple, des instances numériques dans lesquelles aucun triplet de valeurs adjacentes ne soit ordonné ou, au contraire, dériver une sous-théorie dans laquelle les valeurs numériques soient le plus ordonnées possible. A chacune de ses sous-théories pourra correspondre une partie de la composition utilisant une propriété particulière, ayant un sens formel [31] . Nous verrons plus loin comment utiliser l'interface dans ce but.
Une fois donnée une instance numérique d'un pattern, les chiffres qui la constituent sont transformés simultanément en durées et en hauteurs. La transformation en durées se fait en associant simplement à chaque chiffre une durée musicale (croche, croche de triolet, etc.). Par exemple, si l'on choisit comme association la table suivante : 1 : h 2 : q. 3 : e 4 : e. 5 : x 6 : q la première instance numérique montrée plus haut sera transformée en rythme, ci-après :
Les hauteurs résultantes sont tirées d'un réservoir d'agrégats précalculés [32] , auxquels sont associées des durées (en secondes). L'idée est d'associer à chaque chiffre du pattern une position dans un agrégat ; celui-ci sera choisi en fonction des durées calculées. Par exemple, si l'on choisit les agrégats suivants (ces agrégats ne sont naturellement pas ceux qu'utilise Hurel !), associés à des durées en secondes, comme le montre la figure suivante :
Figure 6 : Ensemble de deux agrégats avec leur durée respective.
Si l'on n'utilise rythmiquement que des croches, la première instance numérique sera transformée dans la voix suivante (seule les huit premières secondes sont montrées, avec un métronome de noire à 60) :
Figure 7 : Exemple de voix engendrée.
Les programmes nécessaires à ces actions ont été programmés en PrologII par des prédicats [33] et sont utilisables par l'intermédiaire d'une interface graphique. Dans celle-ci, chaque action musicale est représentée par une boîte :
Figure 8 : Une boîte-prédicat.
Chacune des boîtes comprend un certain nombre d'arguments, représentés par les petites boîtes noires dans la boîte-prédicat. Le point d'interrogation permet de consulter un aide-mémoire sur la fonction de la boîte. Pour construire un programme PrologII, le compositeur assemble un ensemble de boîtes-prédicats pour former un «réseau de contraintes». Par exemple, la figure 9 représente un réseau de contraintes construit par Philippe Hurel et correspond à une voix dans une polyphonie [34] :
Figure 9 : Un réseau de contraintes.
Pour donner une valeur à l'un des arguments, le compositeur clique deux fois dans le rectangle noir correspondant ; Carla, utilisant le type de cet argument, appelle un éditeur spécialisé dans ce type. Pour exprimer que certains arguments sont égaux, il faut connecter les deux rectangles correspondant. Pour cela, il faut cliquer dans l'un et relâcher la souris dans l'autre. Pour effectuer une déconnexion, il suffit de recommencer la même opération.
Remarquons donc que, dans cette interface, les connexions ont un sens différent de la plupart des interfaces graphiques fondées sur la représentation des programmes sous forme de boîte (Max, Patchwork), dans lesquels les connexions sont orientées et signifient le transfert d'une information d'un programme à un autre [35] .
La boîte qui se charge de l'engendrement est la boîte epattern
.
Celle-ci a pour effet de générer des patterns qui respectent la
théorie ci-dessus. Les instances numériques produites sont
converties simultanément en durées (boîte
match_durée_num
) et en hauteurs (boîte match_chords_time
). Les durées sont soumises à des compressions et à des
dilatations, calculées par le compositeur et qui permettent des accelerandos et des ritardandos écrits (boîte new_stretching
). Le résultat de ces calculs est approximé en durées musicales (boîte approx_liste_durée
), par l'intermédiaire d'un menu, fixant l'ensemble des durées que Hurel souhaite utiliser. La boîte chrono_num
permet de chronométrer la durée totale du fragment engendré et d'arrêter le processus lorsqu'une certaine limite a été atteinte. Enfin, la boîte faire_voix
construit une voix à partir des durées et des hauteurs engendrées, tandis que draw_score
se charge de l'affichage.
Lorsque l'exécution commence, Carla calcule le programme correspondant au réseau et l'évalue. Le premier résultat est montré dans la figure 10 (seul le début est présenté).
Figure 10 : Résultat des contraintes de la figure 9.
Une illustration simple de l'utilisation des contraintes peut être vue
à partir de cet exemple. Les six premières hauteurs sont
successivement ascendantes. Si cela n'est pas le souhait du compositeur, il
peut ajouter une contrainte pour éviter cet effet. Le réseau de
contraintes suivant ( figure 11 ) est le même que le
précédent, auquel a été ajoutée la
boîte
Figure 11 : Un autre réseau de contraintes.
Figure 12 : Résultat des contraintes de la figure 11.
Il est facile d'imaginer d'autres utilisations des contraintes. Le but est,
comme nous l'avons déjà signalé, de former de plus en plus
le matériau, de façon à le rendre le plus proche possible
des souhaits du compositeur.
Pour formaliser une sous-théorie par un réseau de contraintes, il
faut fixer les paramètres qui ne changeront pas, pour la
sous-théorie en question. Puis, par un mécanisme d'abstraction,
il faut transformer le réseau précédent en une seule
boîte-prédicat, qui intégrera alors la définition
contrainte de la théorie du départ. La nouvelle
boîte-prédicat obtenue permet donc d'avoir une vision plus simple
du programme correspondant. En principe, plusieurs sous-théories ainsi
construites pourraient donc être utilisées, en parallèle,
pourrait-on dire, c'est-à-dire en passant du stade monophonique au stade
polyphonique. Cette recherche [36] est aussi en cours et elle est exactement
contemporaine des recherches sur les langages informatiques qui tentent, par
exemple, de faire dialoguer parallélisme et programmation logique.
«Le travail préliminaire avec la machine, qui s'apparente souvent
à une esquisse, ne permet pas cependant de composer plus vite. En effet,
la possibilité de modifier le matériau de façon rapide
pousse le compositeur à toujours aller plus loin et à recalculer
les paramètres de manière toujours plus fine. [...] Pourtant,
c'est cette possibilité d'aller toujours plus loin dans
l'élaboration des matières sonores qui rend l'outil passionnant
[37] .» Cette citation de Philippe Hurel montre bien à quel point
le désir de pousser l'outil informatique dans ses derniers
retranchements est une des motivations importantes de tout compositeur qui
souhaite l'utiliser. Au fur et à mesure que nous progressions, en effet,
Philippe souhaitait de nouveaux programmes et étendait leurs
fonctionnalités à des idées qu'il ne pouvait
réaliser pleinement qu'avec l'ordinateur [38] . Il s'agit bien là
d'une projection de la poétique compositionnelle d'un compositeur vers
d'autres contrées, qui ne sont accessibles que par le biais de
l'informatique. En effet, chercher à la main des solutions rendant
compte d'un réseau de contraintes comme celui qu'utilise Philippe Hurel
ne pourrait être fait qu'au prix de redoutables simplifications ou de
pertes de temps et d'objectif incompatibles avec l'acte même de
composition.
Remarquons que toutes les boîtes utilisées par Philippe Hurel
correspondent à des programmes entièrement écrits par un
informaticien. La possibilité de rajouter des programmes, qui s'est
faite sentir pendant la composition effective des Miniatures en trompe-l'oeil,
n'était donc possible qu'en utilisant le langage informatique dans
lequel est écrit Carla. Il est néanmoins possible d'imaginer
comment une aide informatique intelligente pourrait rendre ici de
précieux services. Nous avons défini une méthode
d'induction, qui permet à Carla d'apprendre de nouveaux programmes par
la donnée d'exemples de leur comportement [39] . Avec l'aide d'une telle
méthode, le compositeur peut alors, sans connaître le langage
informatique choisi, programmer de nouvelles boîtes-prédicats.
Même si celles-ci sont moins efficaces (moins rapides) qu'une boîte
programmée par un humain, elles pourraient néanmoins aider le
compositeur qui cherche de nouveaux programmes, en lui donnant matière
à expérimenter. Rien ne l'empêche, après cette phase
d'expérimentation, de demander à un informaticien de lui raffiner
les programmes appris automatiquement.
contrainte_inter/6
, qui regroupe plusieurs contraintes de type intervallique. Si le compositeur édite le nombre maximal d'intervalles
dans le même sens (quatrième argument de la boîte
contrainte-inter/6
) et lui donne la valeur de 2, la voix résultante, présentée dans la figure 12 , montre que les hauteurs sont maintenant contraintes de façon à respecter une allure plus contrastée.Théorie et aide à la composition
Une telle approche (utilisant l'induction) n'est possible, dans l'état
actuel des recherches, que sur des prédicats assez simples [40] .
Cependant, la plupart des prédicats formalisant des contraintes peuvent
être appris par ce type de méthode, ainsi que beaucoup d'autres,
représentant des manipulations très courantes en musique (tri des
hauteurs, renversement de mélodies, concaténation de structures
musicales quelconques, etc.). Là où le problème se pose de
façon plus aiguë est la programmation des théories
(utilisées dans l'engendrement) des compositeurs. Nous avons vu qu'elles
étaient souvent difficilement formalisables en une seule fois et
qu'elles requéraient souvent plus d'un programme pour être
effectives. Peut-être pourra-t-on objecter que les compositeurs qui
formalisent beaucoup leur pensée sont plus capables d'utiliser un
système d'aide à la composition ? Nous allons voir le cas de
Marco Stroppa, avec qui nous avons travaillé [41] sur un problème
qu'il avait bien formalisé lui-même pour sa propre
poétique. Même dans le cas d'une pensée formalisée,
le transfert vers l'outil d'aide à la composition reste
problématique.
L'idée principale qui sous-tend le projet est d'associer à tout agrégat harmonique (appelé «structure verticale de hauteurs» par Stroppa) un certain nombre de caractéristiques qui permettent une classification et mettent en relief les qualités propres à cette structure musicale. En ce sens, il s'agit d'un concept (au sens de l'apprentissage automatique) ou, pour reprendre les termes de Marco Stroppa, d'un «organisme d'information musicale simple» [42] .
La première partie du projet correspondait à la programmation des calculs nécessaires à l'établissement des caractéristiques d'un agrégat donné. Cela permettait évidemment d'effectuer plus rapidement des calculs simples.
La seconde partie consistait à engendrer tous les agrégats dont certaines caractéristiques étaient (avec un degré de précision variable) connues. Là se situe évidemment l'enjeu le plus intéressant puisqu'un algorithme simple dérivant un agrégat de certaines catégories n'existait pas. La seule solution restait donc de tester tous les accords, d'en déduire leurs caractéristiques et de filtrer ceux qui convenaient, tâche peu compatible avec la composition musicale. Les caractéristiques des agrégats peuvent donc se comprendre selon deux interprétations : la première est une caractérisation d'un objet ; la seconde est un filtre permettant d'engendrer des objets similaires. Voici maintenant les caractéristiques retenues par Marco Stroppa :
Cette caractéristique dénote simplement les noms de hauteurs (do, mi bémol...) comprises dans l'agrégat, sans leur octave.
Listes d'intervalles
Le contenu intervallique d'un agrégat est envisagé selon trois points de vue :
Soit tous les intervalles définis entre chaque hauteur successive.
Soit tous les intervalles entre une hauteur spécifiée et chaque hauteur de l'agrégat.
Il s'agit de l'ensemble des intervalles présents ; cette liste contient donc la réunion de toutes les listes d'intervalles par rapport à chaque hauteur de l'agrégat.
Cette caractéristique correspond à l'ambitus de l'agrégat, c'est-à-dire l'intervalle entre la hauteur la plus aiguë et la plus grave.
C'est le rapport entre le nombre de notes et la surface (exprimée en demi-tons plus un). Ainsi, un cluster aura une densité de 1.
Deux valeurs, dont l'une correspond à la différence entre l'intervalle le plus grand et l'intervalle le plus petit, et l'autre à un doublet de ces deux intervalles.
L'idée est de compléter la caractéristique ci-dessus par une mesure plus globale, définie par une formule statistique :
dans laquelle i est une différence entre deux intervalles de la liste d'intervalles contigus, et n la longueur moins un de cette liste.
Par le biais de deux échelles (l'une définie pour chaque intervalle inférieur à l'octave, l'autre par un coefficient multiplicateur pour toute distance d'octave), chaque intervalle est associé à un poids (une mesure numérique). Le coefficient de stabilité est défini comme la somme des poids de chaque intervalle de la liste globale d'intervalles divisé par le nombre d'intervalles de cette liste.
Par exemple, voici la liste des caractéristiques pour l'accord suivant, extrait de Traettoria :
Structure verticale de hauteurs :
<do 3,sol dièse 3,ré 4,sol 4,do dièse 5>
Liste de notes : do, sol dièse, ré, sol, do dièse.
Liste d'intervalles contigus : 8, 6, 5, 6.
(sixte mineure 0), (triton 0), (quarte 0), (triton 0).
A partir de la 3e note,
liste d'intervalles ancrés sur une hauteur = -14, -6, 5, 1, 10.
(- ton 1), (- triton 0), (quarte 0), (septième majeure 0).
Liste globale d'intervalles :
8, 14, 19, 25, 6, 1, 10, 17, 5, 1, 10, 6.
(sixte mineure 0), (ton 1), (quinte 1), (demi-ton 2), (triton 0),
(septième majeure 0), (quarte 1), (quarte 0), (septième majeure
0), (triton 0).
Nombre de notes = 5, Nombre d'intervalles NCIL= 4 NGIL= 10
Surface = 2.500000e+01 (demi-ton 2).
Densité = 1.923077e-01
Coefficient d'homogénéité = <3,(tierce mineure 0)>
i-max = <8,(sixte mineure 0)>
i-min = <5,(quarte 0)>
Ecart type = 4.714045e-01
Coefficient de stabilité = 5.105000e+00
On peut observer dans le cas de cette étude des remarques que nous avons déjà faites : la surgénéralité des théories compositionnelles ; la présence des contraintes pour recentrer cette masse de résultats ; la modification du projet compositionnel grâce à l'outil d'aide à la composition, celui-ci permettant de connaître le réseau de possibilités effectives révélées par le programme. La surgénéralité des théories peut s'expliquer de la façon suivante : le monde poétique du compositeur est toujours en perpétuelle expansion et, en conséquence, la formalisation est faite en fonction d'une possible découverte de territoires inconnus. Ainsi, plus la théorie définie admet un nombre de structures musicales important, plus le compositeur peut exercer son imagination et sa technique. Mais il y a une seconde explication : une aide informatique requiert toujours une phase d'apprentissage de la part du compositeur. Il définit donc souvent au début de son travail des paramètres d'une façon assez lâche, pour les définir ensuite plus précisément (nous retrouvons le principe des sous-théories) lorsque la maîtrise du système d'aide à la composition est parvenue à un point suffisant pour commencer une réelle composition.
Pour ce dernier point, alors que, au départ l'idée était de générer des accords sans autre définition qu'une caractérisation compositionnelle [45] , il fallut bien se rendre compte que l'espace de recherche harmonique (tous les intervalles possibles) était bien trop grand pour donner à cette idée toute sa dimension.
Nous avions prévu de raffiner l'algorithme en le spécialisant aux caractéristiques le plus souvent utilisées. Nous avons aussi envisagé de coupler la méthode qui permettait de produire des agrégats avec la théorie recherchant les caractéristiques compositionnelles définies plus haut ; en fait, il s'agissait donc d'ajouter une caractéristique et qui correspondait à la définition de la méthode de génération des agrégats. Nous touchons là à un problème très intéressant : l'intégration d'un programme comme caractéristique conceptuelle d'une structure musicale.
Cela nous met sur la voix d'une représentation complète d'une structure musicale : il faut pour cela une base de type, permettant au compositeur de définir la syntaxe des structures musicales qu'il souhaite utiliser, un terme typé, représentant une structure musicale effectivement utilisable, et un programme, représenté sous la forme d'un réseau de contraintes [46] . Effectuer une abstraction d'un réseau de contraintes permet à la fois de générer des sous-théories et de faire appel à des procédures de génération (représentées dans Carla par des boîtes-prédicats), comme caractéristique compositionnelle.
Nous avons montré comment un outil d'aide à la composition se devait de refléter la caractéristique principale de tout créateur, cette volonté d'aller de l'avant. La ligne de crête est étroite entre un système bavard qui propose à tout instant de nouvelles idées (bonnes ou moins bonnes) pour tendre vers l'incomposable, devenant par là rapidement insupportable, et un système efficace mais obtus, incapable de refléter un minimum de sens compositionnel dans sa structuration interne.
Pour le compositeur, de même, la relation qui, grâce à l'outil, s'instaure entre la décomposition de ses processus de création et l'ouverture vers des contrées inconnues est difficile à maîtriser. Tout bon compositeur ne peut se résoudre à abdiquer une partie de son potentiel créatif au profit d'un enfouissement programmé. Une réelle conscience des rapports entre, d'une part, ce qui doit rester à la main dans le travail de composition, pour des raisons de «chimie personnelle», pourrait-on-dire, et, d'autre part, ce qui devient automatisé, donc moins directement sujet à des modifications profondes dans le système d'aide à la composition, doit se faire jour d'une façon plus claire. Ce rapport entre l'abstrait et le concret, qui semble, de toute façon, l'un des enjeux les plus fondamentaux de la musique d'aujourd'hui, l'aide à la composition le présente de la façon la plus crue.
En conséquence, une meilleure intégration de toutes les solutions proposées ici ou là doit se faire, en s'appuyant sur une étude appropriée des structures utilisées par les compositeurs et des liens qu'une composition noue entre ces structures. Autant les compositeurs que les chercheurs se doivent d'aller plus loin. Les premiers, parce qu'il semble bien, pour ceux d'entre eux qui fondent une partie de leur monde poétique sur le rapport avec la technologie, qu'il se joue ici une focalisation de la plupart des problèmes de la musique d'aujourd'hui : complexité de la notation, sa valeur en tant qu'algèbre des sons ; importance des calculs, et dans quelle mesure la précomposition se confond-elle avec la composition proprement dite ; et jusqu'à quel point la représentation des connaissances compositionnelles peut-elle passer au stade d'une pratique réelle, totalement libre, des processus de composition ? Mais les chercheurs se doivent aussi d'aller plus loin, car, pour répondre à ces questions, l'arsenal de toutes les recherches les plus récentes en matière de transfert des connaissances et, d'une façon plus large, de l'informatique ne sera pas de trop. Sans oublier que la composition musicale reste une des activités humaines les plus riches d'interrogations, au confluent de la pensée pure et de la pratique la plus acharnée.
Nous remercions Michael Jarrell, Philippe Hurel, Marco Stroppa pour leur collaboration active et passionnée dans la définition de Carla. Nous remercions aussi Claude Cadoz, Jacques Duthen, Brian Ferneyhough, Jean-Gabriel Ganascia, Andrew Gerszo, Klaus Huber, Tristan Murail, Jacques Nicolas, Jean-Claude Risset et Jan Vandenheede pour leurs commentaires sur la recherche entreprise, ainsi que sur des versions préliminaires de cet article et de Carla. Enfin, certaines réflexions présentées ici ont débuté lors des séances du groupe de travail «Calcul et pensée musicale», organisé conjointement avec Michel Cadennes et François Nicolas.
P. Barbaud, Initiation à la composition musicale automatique. Dunod, Paris, 1966.
P. Boulez, Penser la musique aujourd'hui. Denoël/Gonthier, Paris, 1963.
M. Chemillier, «Monoïde libre et Musique», in Informatique théorique et application, 20, nº 2, février 1987.
M. Chemillier, «Langages musicaux et automates - La rationalité du langage sériel», in Le fait musical. Actes du colloque «Musique et assistance informatique». (Org. B. Bel & B. Vecchione), Octobre 1990, MIM, Marseille, France. J.-P. Cointe, Manuel Formes. Ircam, Paris, 1983.
F. Courtot, Une expérimentation de CAO en Prolog : Analyse et Engendrement «d'Accords». Document interne Ircam, 1989.
F. Courtot, «L'utilisation de la CAO dans Congruences» , in Cahiers d'analyse création et technologie. Documentation musicale, Ircam, Paris, 1990.
F. Courtot, Carla : acquisition et induction sur le matériau compositionnel Thèse de l'université de Rennes I, janvier 1992.
F. Courtot, « Carla : Knowledge acquisition and induction for computer assisted composition», in Interface, vol. 21, nº 3-4 (1992).
J. Duthen, M. Laurson, «Patchwork, a graphic language written in PreFORM», in Actes de ICMC 1989. Columbus, Ohio, publiés par Computer Music Association, 1989.
I. Hiller, L. Isaacson, Experimental Music. McGraw-Hill, New York, 1959.
P. Hurel, Réponse à un questionnaire sur l'informatique musicale, programme des concerts de l'exposition Manifeste. Ircam, Paris, 1992.
R. Michalski, J. Carbonnell, T. Mitchell, Machine learning - Vol. 1, 2, 3. Tioga, Palo Alto, Californie,1983.
S. Muggleton, C. Feng, «Efficient induction of logic programs», in Proc. of First International Conference on Algorithmic Learning Theory, Japanese Society for Artificial Intelligence. Tokyo, Japon, 1990, pp.369-381.
S. Muggleton, «Inductive logic programming», in New generation computing, 8. OHMSHA, ltd. & Springer-Verlag, 1991, pp. 295-318.
[3]Cf. Hiller (1959) et Barbaud (1966).
[4]Au sens de l'harmonisation d'une mélodie dans le style des chorals de
Bach.
[5]Entre autres, il faut bien se confronter à cette évidence : un
style musical est le produit d'une pensée musicale, et non un a priori
permettant de se réfugier dans une mécanique simpliste de
production de partitions.
[6]Cf. Puckette
(1988) et Risset
(1990).
[7]Cf. Rodet (1979) et Cointe (1983).
[8]Par exemple, une entité de base du langage Formes est le processus
décrit par un ensemble de procédures assurant le calcul effectif des paramètres, un moniteur assurant un certain type d'ordonnancement temporel, des variables locales et des
processus dérivés (fils), représentant les objets
générés. On situe alors le problème d'un
compositeur qui ne relie pas forcément dans
le même temps l'ordonnancement,
la définition des structures musicales et les méthodes de
génération.
[9]Cf. Baisnée (1989).
[10]Cf. Sterling (1986).
[11]Cf. Vandenheede (1986).
[12]Cf. Courtot (1990).
[13]Ces deux solutions correspondent, grosso modo, aux environnements Patchwork
(Duthen et Laurson, 1989) et Carla (Courtot, 1992a-b). Ceux-ci devaient
d'ailleurs initialement pouvoir communiquer entre eux, afin d'éviter de
dupliquer des programmes utiles pour les deux approches, comme des
interfaces Midi...
[14]Cf. Shapiro (1982), Muggleton (1990 et 1991), Rouveirol (1992). Pour un
ouvrage de référence sur l'apprentissage automatique, voir
Michalski (1983).
[15]Cf. Chemillier
(1987 et 1990).
[16]Nous parlons bien de composition, ce qui suppose une pensée musicale
vivace et en mouvement. Il est clair qu'une bonne partie de ce qui est
considéré comme musique ici ou là (musiques dite
«légères», post-modernisme bêtifiant...)
n'est pas porteur d'une aussi grande richesse, loin s'en faut !
[17]Calcul et pensée musicale ne sont pas opposés, mais une méthode engendrant ou transformant des structures musicales n'a de sens que si elle fait partie d'une pensée musicale plus large. C'est l'expression de cette pensée musicale dans l'outil qui fait problème... et doit provoquer l'intérêt du scientifique.
[18]Œuvre réalisée à l'Ircam, avec pour assistants
musicaux J. Vandenheede et N. Vérin (disque en préparation).
[19]Par exemple, dans Modifications, lettres S à U (Ed. Henry Lemoine,
disque GMS 8803).
[20]La première a été effectivement calculée par
programme en premier. Les pourcentages sont respectivement pour chaque groupe,
30, 40, 30, ce qui conduit à deux occurrences du groupe 1, quatre du
groupe 2 et à deux du groupe 3.
[21]Terme pris ici avec beaucoup de liberté. La pensée harmonique
de Michael Jarrell ne
se résume pas à ce type de trajet. En fait, ce dernier correspond
plutôt à une technique de filtrage mélodique.
[22]Excepté le fait que les hauteurs ne soient pas trop aiguës et
restent donc affichables !
[23]En fait, nous avons utilisé des groupes de deux accords adjacents.
[24]P. Boulez sépare ainsi engendrement
et mise en place, cf. Boulez (1963).
[25]Il est difficile de procurer une bibliothèque de contraintes suffisante
pour tous les compositeurs. La plupart des contraintes s'établissent en
utilisant le contenu intervallique d'une structure musicale, mais on ne peut
guère généraliser cette observation.
[26]Cela sous-entend déjà que nous nous situons dans un cadre de
bprogrammation logique, c'est-à-dire qu'il n'y a en
général pas qu'une seule solution à un programme
donné.
[27]Un programme calculant de telles suites de symboles a été
réalisé par Jacques Duthen, à l'Ircam,
à l'occasion de la composition de Fragment de lune.
[28]Ne sont utilisées que des permutations circulaires.
[29]En fait, d'autres contraintes sont ajoutées dans la définition
même de cette théorie. Par exemple, le passage entre deux
répétitions de patterns se fait en inversant l'allure.
[30]Cf. Courtot (1992a).
[31]Nous ne disons pas qu'il faille le faire, mais qu'une telle utilisation est
déjà repérable dans la pensée de certains
compositeurs d'aujourd'hui et que, en conséquence, un système
d'aide à la composition se doit
d'y réfléchir.
[32]Il s'agit en général de spectres approximés au quart de
ton et résultant de modulations de fréquences, calculées
par le programme Esquisses. Il peut aussi s'agir d'accords organisés
comme des patterns : à chaque symbole d'un pattern est associé un
intervalle (en demi ou en quart de ton). Des permutations sur l'attribution de
tel ou tel intervalle à un symbole engendre des agrégats ayant
certaines propriétés harmoniques en commun. Cela a
été programmé dans Carla.
[33]Un prédicat est une relation, vraie ou fausse, entre divers arguments.
Un programme PrologII est constitué d'un certain nombre de tels
prédicats ; l'évaluer consiste à chercher les valeurs des
arguments de chaque prédicat de façon à rendre la
conjonction de toutes ces relations vraies.
[34]L'idée présidant à cette polyphonie est différente
de celle de Jarrell. Dans la partition de Hurel, cette polyphonie a pour but
formel de construire une sorte de désintégration d'une homophonie
dans la partie précédente.
[35]Cela vient du fait que, dans Carla, les programmes sont des relations et non
des fonctions. Les arguments des prédicats peuvent donc souvent
être considérés indifféremment comme un
résultat ou comme un paramètre.
[36]Car, en effet, la réalité informatique est plus contraignante. Le
mécanisme utilisé par PrologII est efficace pour les monophonies,
mais beaucoup moins pour les polyphonies.
Il faut donc soit changer le mécanisme (Michel Cadennes travaille en ce
moment à ce type de problématique), soit passer par un
procédé plus technique de réécriture des
programmes, de façon
à conserver l'efficacité originelle du langage.
[37]Cf. Hurel (1992).
[38]Cela ne l'a cependant pas empêché, juste après les
Miniatures en trompe-l'oeil, dans lesquelles Carla est utilisé,
d'écrire une pièce absolument sans aide à la composition :
Rémanences.
[39]Cf. Courtot (1992a-b).
[40]La méthode d'induction de S. Muggleton
permet néanmoins de programmer semi-automatiquement des prédicats
complexes, utilisés par exemple dans les domaines de l'expertise
d'objets industriels, cf. Muggleton
(1990 et 1991).
[41]Cf. Courtot (1989) et Stroppa (1989). Voir aussi l'interview de Marco Stroppa
dans ce même numéro, pp. 221-243
[42]Cf. Stroppa (1988).
[43]«Anchored interval list».
[44]Par une théorie intervallique associant
à une structure de répétition (du type
A, B, C, A, D, A, E) des intervalles donnés.
[45]Projet extrêmement important, puisqu'il envisage la possibilité
d'une méthode pour agir de façon globale sur une structure
musicale, sans en revenir aux traditionnels
paramètres comme vecteurs d'une action musicale (comme
pour la variation).
[46]Le langage de Formes est tout à fait exprimable dans cette
représentation.
Dans Carla, nous avons gagné en généralité dans les
structures représentables et dans la façon de les
représenter ; en revanche, le lien direct avec un outil de
synthèse est perdu. D'autres recherches sont nécessaires pour
autoriser de nouvelles représentations musicales permettant
de passer d'un outil quelconque de composition à un outil quelconque
de synthèse.
____________________________ ____________________________
Server © IRCAM-CGP, 1996-2008 - file updated on .
Serveur © IRCAM-CGP, 1996-2008 - document mis à jour le .