Résumé |
Alors que la composition de musique électro-acoustique mobilise de plus en plus d'outils numériques, la question de l'interprétation de telles pièces reste ouverte. La plus part du temps, ces pièces sont un enregistrement sur support, d'une organisation temporel d'un matériau sonore. Pendant l'exécution, l'oeuvre est simplement diffusée et l'interprète peut uniquement modifier des paramètres globaux tels que le volume, la balance ou la spatialisation sur le système d'écoute. Il ne peut pas interpréter la pièce au sens où il pourrait le faire pour une partition classique. Nous souhaiterions que ce type d'interprétation soit possible pour les pièces électro-acoustiques. Cette possibilité ne peut être posible que dans le cadre de ``partitions interactives'' capables de s'adapter à leur environnement (contrôles de l'interprète, autres musiciens). Dans ce contexte, la partition est exécutée par la machine, ce qui conduit à s'intéresser à un problème différent de celui du suivi de partition. Nous cherchons à élaborer un système constitué de deux parties : un environnement de composition assistée par ordinateur permettant au compositeur de créer de telles partitions interactives, et une machine d'exécution rendant possible leur interprétation. L'environnement de composition doit disposer d'une représentation formelle de la musique ``interprétable''. Nous nous appuyons donc sur une formalisation de l'interprétation de la musique instrumentale, et cherchons alors à la généraliser à des pièces impliquant des processus génériques à la place des notes. Nous focalisons notre étude sur un certain aspet de l'interprétation : les variations agogiques, c'est à dire la possibilité pour l'interprète de modifier les date d'occurrence d'événements discrets de la pièces pendant l'exécution. Ces modifications de dates sont accessibles grace à des ``point d'interactions'' (débuts, fins, ou points intermédiaires) des processus, dont la position temporelle permet de contrôler la temporalité de la pièce. Mais ces possibilités sont encadrées par le compositeur à la création de la partition (comme dans le cas de musique instrumentale). Ces contraintes sont le résultats d'une démarche de composition, elles permettent également d'éviter une désorganisation totale de la pièce pendant l'exécution. Nous proposons une représentation formelle des partitions interactives, basées sur des blocs 2D, telle celle des Maquettes d'OpenMusic ou des Data Structures de Pure Data. Les partitions sont des ensembles d'objets organisés sur une ligne de temps ; ces objets sont eux-mêmes représentés comme des séquences de points de contrôle discrets (début, fin et points intermédiares). Ils représentent l'exécution de processus responsables du rendu sonore de la pièce (synthèse et traintement de signal ou de symboles ou même opérations algorithmiques complexes). Pour définir les limites imposées à l'interprétation, le compositeur peut poser des contraintes temporelles entre les points de contrôle de la pièce ; il peut ainsi imposer un ordre partiel entre les événements à l'aide de contraintes qualitatives, ou utiliser des contraintes quantitatives pour limiter les valeurs possibles des intervalles de temps séparant les points de contrôle. La partition est alors à la fois complètement spécifiée, mais sa temporalité reste flexible, laissant ainsi la place à l'interprétation. De plus, le compositeur peut définir certains points de contrôle comme ``interactifs'', les rendre ainsi dynamiquement déclenchables à l'arrivée d'événements extérieurs, supposés se produire pendant l'exécution de la pièce. Ces événements peuvent être produits par des interfaces de contrôle, ou par la détection de situations particulières dans le contexte musical. Lorsqu'une partition est interprétée, la machine d'exécution envoie un message aux processus lorsqu'un point de contrôle doit se produire. Ceci peut être le fait de l'écoulement du temps pour les points non dynamiques, ou de l'arrivée de événement extérieur correspondant pour les points dynamiques. Le système s'assure que les contraintes temporelles définies par le compositeur ne sont pas violées. Si l'arrivée d'un événement extérieur remet en cause la validité de contraintes, le système recalcule les dates de points de contrôle futurs pour assurer la validité des contraintes. L'ordre entre les points peut alors être modifié. Ces calculs sont effectués par un algorithme de propagation de contraintes. Le maintien des contraintes temporelles, peut amener le système à ignorer des événements extérieurs lorsque ceci risque de contredire des contraintes, tout comme il devra simuler l'arrivée d'un événement dans cas où l'absence de ce dernier conduirait à violer une contrainte. Nous proposons une struture de machine abstraite capable d'exécuter dynamiquemenr les partitions interactives. Celle-ci est basée sur les réseaux de Petri et la propagation de contraintes. Nous donnons un algorithme pour compiler les partitions depuis leur descritption formelle vers une représentation exécutable par la machine. Nous avons également développé un prototype dans OpenMusic, sous la forme d'une extension des Maquettes pour l'édition des partitions utilisant un système de propagation de contraintes. Elle contient également un compilateur de partition et une machine d'exécution envoyant des messages UDP vers des applications tierces. Les partitions sont sauvergardées grace à un format XML d'échange. Nous présentons plusieurs applications du système à la musique électro-acoustique la musique instrumentale et le théâtre. |