Interaction musicale en temps réel entre musiciens et ordinateur
Pour ses travaux sur le logiciel Antescofo, Arshia Cont a obtenu le Prix « coup de cœur du jury » du prix La Recherche 2011.
La création musicale passe le plus souvent par l’écriture, sous la forme d’une partition musicale, destinée aux instrumentistes et réalisée sur scène. Cette réalisation est le résultat de l’interaction d’un ou de plusieurs musiciens entre eux et avec leurs partitions musicales. Ce passage de l’écriture à l’interprétation en temps réel est un défi majeur pour l’informatique musicale. L’idée globale est de déléguer tant l’écriture que la performance à un ordinateur, à l’image de l’activité humaine des compositeurs et interprètes. La capacité de synchronisation et de coordination en temps réel entre plusieurs musiciens sur scène, interprétant chacun sa propre partie et donnant un résultat d’ensemble cohérent, est un acquis commun des musiciens, qui pose des défis intéressants à l’intelligence artificielle.
L’étude de ces processus de synchronisation et de coordination et l’idée de les déléguer à un ordinateur se rattachent à plusieurs thèmes de recherche tels que le traitement du signal, l’apprentissage automatique, la programmation et les langages synchrones et temps réel pour une finalité musicale.
Contexte musical
Tout concert, par définition, a lieu en « temps réel » ; on assiste à un événement unique pris sur le vif. Ce qu’on apprécie, c’est précisément la construction la plus savante et la plus calculée qui soit de l’événement. C’est l’essence même du concert que d’être vécu comme un moment de virtuosité technique, instrumentale et musicale tout à la fois : tout concert donne à voir et à entendre non pas des faits, mais leur fabrique en temps réel. C’est-à-dire une « interprétation ».
L’interprétation musicale devient toutefois complexe quand plusieurs musiciens se produisent sur scène. Chaque musicien est responsable d’interpréter son propre texte (sa partition) en cohérence avec celles des autres. Il s’agit donc d’un processus de synchronisation et de coordination entre plusieurs agents, malgré toute déviation possible en fonction de l’interprétation, pour produire la cohérence d’ensemble déterminée par le texte d’origine fourni par le compositeur. Cette synchronisation est assurée soit implicitement par les musiciens eux-mêmes dans le cas d’un petit ensemble de musique (un quatuor à cordes par exemple), soit par un chef d’orchestre quand un grand nombre de musiciens sont présents sur scène. Et pourquoi pas un ordinateur ?
Accompagnement automatique
Dans un contexte plus commercial, un musicien (amateur ou professionnel) veut s’entraîner et jouer sa partie tout seul, en l’absence d’autres musiciens. Pour cela, il suffit, à partir de la partition musicale, de déléguer les parties des autres instruments à des sons préenregistrés ou bien à des synthétiseurs d’instruments. Autrement dit, on peut remplacer la partie d’accompagnement par un support numérique. Dans un schéma figé, l’accompagnement peut être un enregistrement sonore simple (sans la partie solo). Dans ce cas, la partie solo est exécutée de façon synchrone avec ce support fixe. Dans un schéma idéal, à l’image d’un accompagnement musical humain, il est préférable que ce soit la partie d’accompagnement qui s’adapte en temps réel au jeu de l’instrumentiste : ralentir ou accélérer la vitesse d’interprétation, et modifier les dynamiques en fonction de l’interprétation de l’œuvre. Dans ce cas, nous avons besoin d’un système d’accompagnement automatique.
En accompagnement automatique, l’ordinateur joue le rôle d’un musicien virtuel et agit en fonction du jeu de l’instrumentiste en temps réel. Il doit donc être doté d’une capacité d’écoute temps réel ainsi que d’une capacité d’entreprendre les actions musicales en coordination et de façon synchrone avec le jeu de l’instrumentiste. Il prend donc en entrée la partition solo ainsi que la partition d’accompagnement, et utilise le flux du son en temps réel pour écouter, synchroniser et réagir en fonction du texte musical.
Pour illustrer ceci, on peut comparer l’exécution d’une partition par un ordinateur utilisant un synthétiseur MIDI et l’interprétation de la même partition par un musicien amateur avec un accompagnement automatique généré par un logiciel. La figure (1) ci-dessous correspond à une représentation symbolique d’une partition du compositeur Georg Friedrich Händel – Sonate en Fa majeur pour flûte à bec HWV 369, mouvement N°3 Alla Siciliana. Le fichier audio correspondant est une exécution de cette partition par l’ordinateur en utilisant un synthétiseur MIDI. La partie solo est illustrée en rouge et l’accompagnement en bleu et chaque boîte correspond à une note, où la longueur correspond à la durée et la hauteur à la fréquence fondamentale (pitch) de cet événement. La figure (2) correspond à une interprétation de la même partition par un musicien amateur avec un accompagnement automatique généré par le logiciel Antescofo de l’Ircam, dont les caractéristiques seront présentées plus loin.
En regardant et en écoutant les deux exemples, on constate que le schéma global de l’ordonnancement des événements reste le même, mais la proportion temporelle des événements ainsi que leurs relations internes fluctuent lors de l’exécution provenant du musicien et de son interprétation. En écoutant, il est aussi évident que l’accompagnement agit en fonction du jeu en temps réel : il ralentit et en l’occurrence attend l’interprète pendant les pauses. L’autre point essentiel, en comparant les deux interprétations, est la présence d’erreurs éventuelles de la part de notre musicien amateur. Malgré les erreurs, le système doit être capable de gérer musicalement l’accompagnement et de ne pas forcément s’arrêter, ce qui est le cas au milieu de cette interprétation.
Sur cet exemple, il est évident qu’une bonne écoute ou oreille n’est pas suffisante pour réaliser un bon accompagnement avec une bonne synchronisation musicale, mais que l’ordinateur doit également être doté d’un cerveau ou d’une intelligence musicale pour pouvoir simuler la complexité d’un tel processus en temps réel. Cette complexité devient encore plus évidente si on considère une interaction plus fine et contrôlée avec l’ordinateur pour faire plus qu’une exécution d’accompagnement. Ceci est le cas de la création musicale contemporaine avec les dispositifs électroniques temps réel.
Musique électronique mixte, à la fois électronique et instrumentale
La première œuvre mixte pour instrument et dispositif électroacoustique est souvent attribuée au compositeur Bruno Maderna pour sa pièce « Musica su due dimensioni » pour flûte et bande (1952). L’idée étant de ramener les dispositifs électroacoustiques sur scène et de les considérer en interaction avec des instruments acoustiques, cette tendance a été suivie par d’autres compositeurs comme Karlheinz Stockhausen et Mario Davidovsky dans les années 1950 et 1960. Stockhausen a particulièrement exploité les possibilités musicales que les dispositifs électroacoustiques offraient dans le processus de composition et aussi sur scène, notamment dans Mikrophonie I et Mantra, en utilisant des filtres et effets analogiques pendant le concert (donc en temps réel) pour créer la partie électroacoustique.
L’Ircam a, depuis sa création en 1977, travaillé sur le temps réel, c’est-à-dire des dispositifs matériels et informatiques permettant la création et le travail du son numérique sans délai de calcul perceptible. Les possibilités offertes par les stations de calcul temps réel à l’Ircam ont donné naissance à plusieurs œuvres dans des styles très différents employant le « temps réel ». Parmi les compositeurs intégrant ces technologies dans leurs œuvres, le premier à avoir exploré de manière systématique les possibilités du temps réel est sans doute Philippe Manoury. Ses œuvres mises à part, il est surtout connu dans le monde de l’informatique musicale pour sa contribution, dès 1988, aux côtés de l’informaticien Miller Puckette, au développement du logiciel Max, dont le nom est un hommage à Max Matthews, le père de l’informatique musicale, décédé en avril 2011. Ce logiciel est connu aujourd’hui sous le nom MaxMSP et distribué par la société Cycling74.
Et, parallèlement, Manoury a développé une véritable pensée du temps réel. Il a en effet tenté une sorte de « déduction » de la notion de temps réel à partir d’une analyse de la notation musicale, dans ses rapports avec l’interprétation. L’une des « facultés » de la notation musicale, écrit-il, est « sa virtualité ». L’exemple de la notation baroque le montre bien : l’écriture comporte certains éléments que Manoury qualifie d’« absolus » (la hauteur de la note dans la majeure partie du répertoire occidental) et d’autres qui sont « relatifs », c’est-à-dire laissés à la discrétion de l’interprète à l’intérieur de certaines limites (le tempo ou les dynamiques dans la musique baroque, par exemple). C’est en ce sens que toute partition destinée à un interprète est dite « virtuelle » : elle ouvre des champs de possibles, sans les déterminer complètement. Et c’est dans ce sens-là qu’il a développé la notion de partition virtuelle pour l’ordinateur : des programmes réactifs « composés » par l’artiste avec une sortie musicalement déterministe, mais dont les sorties seront déterminées en fonction du jeu de l’instrumentiste et en temps réel.
Dans ce contexte musical, la partie électronique de l’œuvre ne se limite donc plus à une simple synchronisation par « reconnaissance » ; il s’agit de tenir compte, dans la fabrique même des événements sonores, des valeurs « relatives » (variables, vivantes) saisies sur le vif de l’interprétation. Et l’interprète peut dès lors contrôler les réactions de la machine : il joue avec la machine, et la machine joue avec l’interprète.
L’informatique musicale, dans sa quête du temps réel, était à ses débuts préoccupée par les moyens de calcul, les supports matériels, et des puissances de calcul permettant diverses opérations comme la spatialisation, la synthèse sonore, et la transformation sonore en temps réel. Aujourd’hui, avec des ordinateurs personnels plus puissants et la disponibilité des processeurs sonores intégrés dans chaque ordinateur personnel, les moyens et supports matériels permettant le calcul et la manipulation sonore en temps réel ont été largement démocratisés. Mais pour autant, la tâche d’écriture musicale en temps réel avec les ordinateurs (composition), et leur interaction avec des musiciens reste une quête majeure pour diverses disciplines dont l’informatique. Les idéaux du « temps réel musical » décrit dans les années 1980 proposent toujours des défis importants à la théorie des langages ainsi que des systèmes temps réel.
Contexte scientifique
Dans le contexte musical décrit plus haut, l’ordinateur joue le rôle d’un musicien. Le compositeur « compose » des programmes sous forme d’une partition virtuelle, faisant appel aux diverses techniques (temps différé ou temps réel) en informatique musicale : de la synthèse sonore à la spatialisation, à la transformation et aux effet temps réel, figés dans le temps ou bien relatifs à la vitesse des musiciens réels. À l’exécution, la machine ayant sa partition virtuelle ainsi que celles de ses collègues humains, prend en charge l’interprétation de sa partie en coordination et en synchronisation avec celles des musiciens sur scène.
Un tel système informatique doit donc être capable de mener deux tâches principales :
- Écoute interactive :
Cette tâche concerne notamment le traitement du signal, et les méthodes en apprentissage automatique pour la reconnaissance et l’extraction des données musicales en temps réel. Ce système doit être capable de prendre une partition de musique, et de suivre l’interprète en temps réel sur cette partition ; d’où l’intitulé commun de « suivi de partition ». Un suiveur de partition doit être capable de gérer des situations incertaines (environnement bruité, différents instruments ou dispositifs de captation sonore) et de gérer les éventuelles « erreurs » provenant de l’instrumentiste. Cette partie du système est interactive, car elle interagit avec un environnement extérieur (ici des musiciens sur scène).
- Accompagnement réactif :
En connaissant l’emplacement dans la partition d’un interprète et ses paramètres d’interprétation, l’ordinateur doit pouvoir lancer les actions correspondantes dans sa propre partition virtuelle en réaction au jeu de l’instrumentiste et synchrone avec lui, et en respectant la temporalité musicale décrite pour ces actions. Cette partie du système est donc un système réactif et synchrone.
Le couplage de ces deux technologies est l’idée principale derrière le projet Antescofo à l’Ircam, un suiveur de partition temps réel muni d’un langage réactif et synchrone. La vidéo suivante montre une implémentation du système en interaction avec le musicien. La figure à côté montre la partition musicale de cet extrait de la pièce « Anthèmes 2 » du compositeur Pierre Boulez pour violon et électronique temps réel. La première ligne de chaque portée est la partition du violon, accompagnée de celle de l’électronique dont chaque portée fait appel à un processus particulier (ici des échantillonneurs, modulation en anneau, spatialisation et réverbération infinie). Antescofo dispose de cette partition et prend en charge le suivi de partition ainsi que le lancement de la partie réactive, comme montré dans l’extrait vidéo.
Par la suite, nous allons voir plus en détails les technologies et défis scientifiques concernant ces deux parties dans Antescofo.
Antescofo : Une machine d’écoute anticipative
La synchronicité musicale entre deux ou plusieurs musiciens résulte autant d’une reconnaissance fiable et temps réel que d’un processus cognitif. Le synchronisme parfait chez les musiciens n’est donc pas le résultat d’un système parfait, mais de la collaboration de plusieurs systèmes souvent faillibles. Parmi les processus cognitifs impliqués dans la synchronisation musicale, le phénomène de l’anticipation musicale joue un rôle très important. En effet, pour pouvoir jouer ensemble, les musiciens, en plus d’une écoute élaborée, anticipent le jeu de leurs collègues pour se synchroniser avec eux juste après. Cette anticipation concerne autant la temporalité du jeu que les dynamiques de l’interprétation. Ceci implique qu’un système d’écoute interactive musicale tel que décrit ci-dessus doit être doté d’une capacité d’anticipation en plus de la reconnaissance temps réel.
La première tâche d’une machine d’écoute est la reconnaissance temps réel. Dans le cas d’une interaction via une partition de musique, il s’agit de reconnaître la position du jeu temps réel dans une partition de musique ainsi que d’extraire en temps réel les paramètres musicaux nécessaires à l’interprétation musicale. La figure suivante présente ce schéma simplifié dans le cas d’une partition de piano et en montrant le rôle d’un suiveur de partition pour lier l’information symbolique, contenue dans un flux audio, à la représentation du signal.
Antescofo est doté d’un système de reconnaissance probabiliste capable de détecter des événements d’une partition ainsi que certains paramètres musicaux comme le tempo (ou la vitesse du jeu) en temps réel. Le choix d’un système probabiliste est lié à l’incertitude dans le contenu d’information des signaux audio provenant des musiciens et permet de mieux gérer la tolérance du système dans un tel environnement. La partition musicale est représentée dans le système sous forme d’une chaîne d’états, dont chaque état correspond à un événement dans la partition avec ses propriétés musicales telles que sa fréquence fondamentale (hauteur) et aussi sa durée. Le rôle du système de reconnaissance est ensuite de trouver le meilleur chemin (en temps réel) sur la chaîne qui correspond au flux audio temps réel. Cette tâche est très similaire au système de suivi des missiles, à la reconnaissance de parole, ou aux systèmes de reconnaissance utilisés sur les séries biologiques telles que l’ADN, avec une différence majeure liée à la nature temporelle des signaux musicaux.
L’écriture musicale est une organisation des matériels sonores dans le temps. À cet égard, nous ne pouvons pas parler du temps musical, mais des temps musicaux. Une partition de musique occidentale classique contient des événements avec des natures temporelles différentes et hétérogènes, ce qui rend souvent la tâche de reconnaissance complexe par rapport à d’autres données plus homogènes, comme l’ADN ou bien la parole. De plus, l’écriture musicale, à travers les siècles, a permis aux compositeurs d’écrire ces temps en valeurs relatives, donnant une liberté au musicien au moment de l’interprétation. Ce temps relatif est souvent lié à une vitesse idéale écrite dans la partition (nommée tempo) que les musiciens font varier en temps réel en fonction de la musicalité des phrases et des événements qu’ils prennent en considération.
L’existence du temps hétérogène et souvent dynamique représente un défi majeur pour l’informatique musicale, à la fois pour son écriture et pour son exécution en temps réel. Ce sujet nous ramène à une modélisation hybride du temps, à la fois au moment de la composition (programmation) et à celui de la performance (exécution temps réel et reconnaissance). Pour cela, Antescofo utilise un modèle hybride et explicite du temps, ce qui le distingue des autres domaines d’application. Cette considération permet un accès explicite aux temps musicaux, que ce soit au moment de la composition ou de la performance et, en particulier, pour le décodage du tempo réel du musicien sur scène.
Comme les êtres humains, la reconnaissance artificielle des événements provenant d’un environnement extérieur (ici un musicien) subit toutes sortes d’incertitudes : bruits de fond, erreur d’accordage, erreur humaine, défaut algorithmique, etc. Autrement dit, un système de reconnaissance ne peut jamais être parfait à 100%. En l’absence de cette certitude, comme chez les humains, il faut multiplier les sources d’information (faillibles) et compter sur la pluralité de l’information pour assurer la performance. Dans les ressources disponibles, la capacité d’anticipation temporelle est d’une extrême d’importance. Pour aborder cet aspect, Antescofo est doté d’un système multi-agent qui gère en temps réel une horloge liée aux événements et une autre aux signaux continus. Les deux sont en collaboration et en compétition à tout moment : l’agent temporel aide l’agent audio en anticipant de futurs événements (à l’image des musiciens sur scène), et l’agent audio aide l’agent temporel à décoder la bonne vitesse (tempo). Le résultat final du décodage se fait donc en fonction de la certitude soit temporelle soit événementielle de chaque agent.
Antescofo : un langage de programmation synchrone
L’écoute et l’anticipation d’un musicien pendant le concert lui servent à jouer sa propre partition en réaction aux autres musiciens, comme lors d’un accompagnement musical. Dans le contexte de la musique électronique mixte également, elles servent à lancer des actions informatiques réactives et synchrones avec les musiciens sur scène. Pour cela, Antescofo est équipé d’un langage synchrone pour l’écriture du temps et de l’interaction en informatique musicale. Le langage synchrone d’Antescofo a la responsabilité de lancer les programmes musicaux aux moments indiqués en réaction du jeu des musiciens, et de les synchroniser entre eux et avec les interprètes. Antescofo, dans ce sens, est un langage de coordination réactive et synchrone destinée à une performance temps réel.
Les programmes en informatique musicale décrivent divers processus agissant sur le son en temps réel, pour générer du son, analyser le son, le spatialiser, apprendre des automates ou bien décrire des trajectoires spatiales, entre autres. Ces programmes ont donc des natures de calcul très variées et appellent des technologies spécifiques à chaque domaine. La figure suivante montre cette variété des programmes musicaux souvent utilisés pour la création musicale. Le facteur de variété déterminant dans toutes ces technologies est leur temporalité. Par exemple, une synthèse d’instrument par des modèles physiques fait appel à des calculs continus sur les équations différentielles partielles, mais un algorithme de synthèse simple pourrait être un calcul simple à partir des données symboliques.
Tout en gérant les différentes temporalités de calcul, un langage synchrone musical doit être capable d’organiser la temporalité de chaque programme dans une partition globale et à l’image de l’écriture musicale pratiquée dans le monde instrumental. Dans ce monde, plusieurs notions d’écriture musicale et de théorie des langages convergent : la concurrence en informatique est analogue à l’écriture polyphonique, les boucles musicales deviennent des échantillons périodiques, etc. De plus, la logique de l’écriture musicale s’approche finement de la philosophie explicite des langages synchrones tels qu’Esterel et Lustre : des événements synchronisés se produisent en même temps, mais en bon ordre. Effectivement, ce qui se passe avec un orchestre doit également se réaliser avec un ordinateur.
Antescofo, dans sa forme finale, réalise les programmes et les actions destinés à l’ordinateur en réaction de sa partie d’écoute. Ce logiciel est donc destiné à la fois à la programmation (composition musicale) et à la réalisation temps réel (performance musicale).
La création musicale avec Antescofo
Antescofo, en tant que suiveur de partition et langage synchrone temps réel, existe depuis 2008. Il a évolué en parallèle avec les demandes de ses utilisateurs (compositeurs, musiciens, et concepteurs d’informatique musicale), à la fois en tant que programme de recherche et développement logiciel. La meilleure manière d’évaluer un système tel qu’Antescofo est d’observer l’impact mutuel entre le logiciel et ses utilisateurs. Le répertoire d’Antescofo consiste aujourd’hui en plus de 30 œuvres et le système est souvent utilisé lors des concerts publics. Antescofo a bénéficié des retours d’expériences de performances avec divers artistes et ensembles dont l’orchestre de Radio France, l’orchestre écossais de la BBC, le Philharmonique de Berlin, et la Philharmonie de Los Angeles entre autres. Antescofo est né d’une collaboration fructueuse avec le compositeur Marco Stroppa, qui a défini le cadre de programmation et d’interaction musicale ; il a pu progresser grâce aux collaborations avec plusieurs compositeurs dont Philippe Manoury, Jonathan Harvey, Gilbert Nouno et Pierre Boulez.
Le projet Antescofo n’en est qu’à ses débuts. L’écriture musicale, avec toute sa richesse d’expression et sa réalisation sur scène, pose toujours des défis fort intéressants à la conception des langages informatiques ainsi qu’au domaine de l’intelligence artificielle. Dans ce sens, Antescofo est un exemple parmi d’autres qui montre que par leur collaboration, les arts et les sciences ne peuvent que s’enrichir mutuellement, sans que l’un soit un résultat direct de l’autre.
Pour découvrir les parcours de création musicale des compositeurs Marco Stroppa et Philippe Manoury, qui ont tous les deux utilisé Antescofo et ont contribué largement à sa formalisation, nous vous proposons les deux documentaires suivants, tirés de la série « Image d’une œuvre ».
- Philippe Manoury, La note et le son, Éditions l’Harmattan, 1990
- Philippe Manoury, « Considérations (toujours actuelles) sur l’état de la musique en temps réel » , dans L’étincelle, le journal de la création à l’Ircam, novembre 2007
- Arshia Cont, A coupled duration-focused architecture for realtime music to score alignment, IEEE Transaction on Pattern Analysis and Machine Intelligence Vol. 32(6), Pp. 974-987, June 2010
- Arshia Cont, On the creative use of score following and its impact on research, in proceedings of Sound and Music Computing (SMC) Conference, Padova, Italy, July 2011
- Pour un cours sur différents types de programmes en informatique musicale, voir le séminaire sur la « synchronicité musicale », dans le cadre de « Seven Keys to the Digital Future », organisé par le Collège de France et la Royal Society of Edinburgh, et dirigé par Gérard Berry.
Newsletter
Le responsable de ce traitement est Inria. En saisissant votre adresse mail, vous consentez à recevoir chaque mois une sélection d'articles et à ce que vos données soient collectées et stockées comme décrit dans notre politique de confidentialité
Niveau de lecture
Aidez-nous à évaluer le niveau de lecture de ce document.
Votre choix a été pris en compte. Merci d'avoir estimé le niveau de ce document !