• Aucun résultat trouvé

U N AGENT MIDI

Dans le document Du Jardin des Hasards aux Jardins de Données: (Page 137-145)

P OSITIONNEMENT DE LA DEMARCHE

N OTRE DEMARCHE

IV.3. R EPRESENTATION D ’ UN FLUX DE DONNEES MIDI

IV.3.1. U N AGENT MIDI

Le format MIDI est un format de fichier musical, dans lequel sont codées simultanément les informations correspondant à seize instruments différents. Les informations musicales consistent principalement en événements marquant le début ou la fin d’une note, celle-ci étant caractérisée par sa hauteur et son intensité, mais également par l’instrument qui l’émet. Bien qu’il s’agisse d’un « problème jouet », nous avons tenu à séparer la génération des données de leur récupération par un agent d’information, ceci afin de reproduire ce qui se passe lorsque la plate-forme est branchée sur un véritable système complexe existant indépendamment d’elle. Pour ce faire, nous avons modifié le programme Playmidi de N. Laredo [Laredo 1996], de manière à ce qu’il envoie les événements décodés vers la plate-forme en plus de les envoyer vers le synthétiseur MIDI de l’ordinateur.

Un agent d’information, spécialisé à partir de la classe data_agent, est chargé de récupérer ces informations et de les transmettre aux agents de simulation. Celui-ci dissocie les messages en fonction de l’instrument auquel ils correspondent. Ces messages sont placés, dans l’ordre dans lequel ils sont reçus, dans autant de canaux d’information qu’il y a d’instruments (voir figure IV.17).

figure IV.17 – La récupération des informations MIDI s’effectue en deux temps : dans un premier temps, le programme Playmidi extrait du fichier MIDI les événements de début et fin de notes. Dans un deuxième temps, ces informations sont récupérées par l’agent d’information midi_agent qui les transmet aux agents de simulation par l’intermédiaire de canaux d’information.

Fichier

MIDI Playmidi midi_agent

L’exécution de cet agent MIDI doit être préparée en effectuant un certain nombre d’initialisations. Il s’agit en particulier de choisir le fichier MIDI à émettre et d’indiquer le canal de communication utilisé de manière à ce que les agents de simulation sachent où récupérer les données (la transcription dans le langage de script est donnée à l’annexe C).

IV.3.2. DES AGENTS NOTES

« Quant au piano, il ne permet des compositions complètes que par l’assemblage et la suite des points sonores. »

W. Kandinsky [Kandinsky 1991]

A mesure que les messages de début et de fin de notes sont placés dans les seize canaux d’information, ils doivent être récupérés et utilisés pour produire une représentation signifiante de l’activité des seize instruments de l’orchestre.

IV.3.2.1. Traitement de l’information

Chaque message consiste en deux nombres. Le premier désigne la hauteur de la note, le deuxième l’intensité avec laquelle elle est jouée. L’idée la plus simple consiste à associer un agent à chaque note jouée et à demander à cet agent de se positionner de manière à révéler l’instrument qui joue la note et la hauteur de celle-ci. Etant donnée une population initiale d’agents, le rôle de chaque agent sera d’écouter un canal de communication particulier dans l’attente de notes à représenter. Lorsqu’un agent détecte une note à représenter, il se « l’approprie » et se positionne en abscisse en fonction du canal de communication auquel il est affecté, donc de l’instrument qui joue cette note, et en ordonnée en fonction de la hauteur de la note. Dès lors, cet agent écoutera ce même canal de communication jusqu’à détecter le message de fin de note correspondant à la note qu’il représente. Lorsque cela se produit, il reprend sa position initiale et recommence à surveiller son canal de communication dans l’attente d’une nouvelle note. Tout ce travail, cependant, ne sert à rien tant que l’on ne peut pas visualiser ou entendre les agents. C’est la troisième fonction de la plate-forme, celle de système d’interface.

IV.3.2.2. Représentation de l’information

Le choix a priori le plus naturel pour représenter des notes est d’utiliser des formes rondes puisque la notation musicale utilise elle-même le rond pour figurer les notes. W.

Kandinsky, qui s’intéressait au rapprochement entre musique et peinture abstraite, a ainsi proposé des transpositions de partitions musicales en arrangements de points de différentes grosseurs (figure IV.18).

La position des agents-notes indique déjà l’instrument utilisé et la hauteur de la note. Il ne reste donc plus à figurer que l’intensité de la note, ce qui peut être associé simplement à la taille de l’agent. Par ailleurs, on peut imaginer de modifier progressivement la couleur de l’agent pour indiquer la durée de la note. En musique, une « noire » étant plus courte qu’une « blanche », la note passera du noir au blanc à mesure qu’elle se prolonge.

La traduction dans le langage de la plate-forme est reproduit à l’annexe C et un exemple du résultat visuel est reproduit à la figure IV.19. Il faut noter que cet exemple est élémentaire et ne fait pas appel aux capacités d’interaction des agents ni à d’éventuelles possibilités de mémorisation. Du fait de la correspondance directe entre notes et positions des agents, le résultat produit ressemble fortement aux bandes perforées d’un piano mécanique. L’animation de la représentation la rend pourtant déjà très évocatrice. Pour tirer pleinement parti des possibilités de la plate-forme, il serait intéressant d’essayer de repérer des correspondances dans le jeu d’instruments différents en demandant à un agent de repérer les notes dont l’occurrence coïncide avec la note qu’il prend en charge. Par ailleurs, il pourrait être intéressant de demander à un agent de mémoriser les notes qu’il a déjà prises en charge de manière à modifier son comportement lorsque la même note se présente à nouveau.

figure IV.18 – Transcription d’un thème musical sous forme d’arrangement de points (d’après [Kandinsky 1991]).

etc.

figure IV.19 – Séquence d’images de la plate-forme en cours de fonctionnement pour l’exemple de l’orchestre.

IV.4. D

ISCUSSION

Avant de clore ce chapitre, nous allons maintenant revenir sur la plate-forme telle que nous venons de la décrire afin d’en discuter les qualités, en rapport notamment avec les problèmes de représentation des systèmes complexes identifiés au chapitre précédent. Ces problèmes ont trait à plusieurs niveaux de complexité, depuis la complexité attachée aux éléments du système (complexité componentielle) jusqu’à celle liée à son organisation dynamique (complexité organisationnelle) en passant par la complexité due à la structuration des éléments en différents niveaux (complexité structurelle) et à leurs interactions (complexité interactionnelle). Vis-à-vis de ces différentes formes de complexité, la plate-forme possède un certain nombre de propriétés d’ordre général qui méritent d’être soulignées, concernant autant les techniques utilisées dans sa conception que l’esprit dans lequel ces techniques ont été intégrées à une démarche globale.

IV.4.1. PROPRIETES DE LA PLATE-FORME

Les techniques multi-agents possèdent des qualités de modularité, de dynamicité et d’adaptativité qui les rendent bien adaptées au problème posé. Modulaires, les systèmes multi-agents décomposent les problèmes étudiés en un ensemble d’agents, chacun prenant en compte un aspect du problème. De ce fait, le système peut être complexifié en ajoutant de nouveaux agents, sans avoir à remettre en cause tous les choix de conception effectués jusqu’alors. Dans le cadre plus spécifique de la représentation de systèmes complexes, cela implique la possibilité de complexifier de manière incrémentale la représentation du système en intégrant de nouvelles sources de données traduisant son fonctionnement. Au niveau de notre plate-forme, cette propriété de modularité s’exprime par la possibilité offerte au concepteur de disposer d’autant d’agents d’information que nécessaire, pour récupérer les données d’autant de sources distinctes.

Cela s’exprime également par la possibilité d’ajouter ou de supprimer dynamiquement des agents de simulation en fonction des besoins à chaque instant.

Dans le cas de l’orchestre, par exemple, un agent qui prend en charge un événement de début de note crée un nouvel agent de manière à ce qu’il y en ait toujours un en attente d’un nouvel événement. A l’inverse, il disparaît à réception de l’événement de fin de note correspondant. De même, on peut envisager la création dynamique

d’agents destinés à représenter un accord et non plus une note isolée, matérialisant ainsi la création d’un « groupe » d’agents.

A cette propriété de modularité s’ajoutent celles de dynamicité et d’adaptativité qui lui sont en partie liées. Du fait de leur activité propre et des interactions qu’ils ont les uns avec les autres, les agents peuvent démontrer des capacités d’adaptation dynamique à un environnement changeant. De par cette adaptation des agents qui le constituent, un système multi-agent peut lui-même exhiber de telles capacités d’adaptation autopoïétique [Maturana et Varela 1994], lui permettant de conserver sa structure alors même que son environnement évolue. Du point de vue de la représentation de systèmes complexes, cette propriété doit être mise à profit pour concevoir des systèmes multi-agents adaptant en permanence leur aspect visuel de manière à traduire en temps réel les évolutions du système complexe. Par la création ou la suppression dynamique d’agents de simulation, par la modification de leur représentation visuelle ou encore par les influences mutuelles qu’ils exercent, la plate-forme développée offre les outils permettant d’aller dans ce sens.

Dans la conception de la plate-forme, basée sur un modèle générique, nous ne faisons aucune hypothèse restrictive quant à la nature du système complexe à visualiser. Dans le même temps, l’utilisation d’un langage de script permet de spécialiser rapidement le modèle en fonction d’un système particulier. Il est ainsi possible d’expérimenter rapidement et facilement différents mécanismes d’interface et de représentation, en visualisant directement le résultat. Avant de servir à la représentation de systèmes complexes, les capacités de visualisation des agents de simulation peuvent ainsi servir à la mise au point de systèmes spécialisés. Elles nous ont d’ailleurs été particulièrement utiles dans la phase de développement de la plate-forme.

IV.4.2. PERSPECTIVES DE DEVELOPPEMENT

Si les systèmes multi-agents autorisent une grande modularité, la plate-forme elle-même se caractérise par une conception modulaire qui doit permettre son extension facile. En particulier, du point de vue des capacités d’interface avec un utilisateur, nous avons évoqué les développements possibles, concernant aussi bien les capacités de représentation visuelle ou sonore (supra IV.2.6.1) que les capacités d’interaction par l’intermédiaire de périphériques existant ou à inventer (supra IV.2.6.2). Dans une perspective artistique, cela doit permettre la construction d’images toujours plus

intéressantes en même temps que des modes d’interaction renouvelés, plus simples et intuitifs, voire « transparents » [Ishii et Ulmer 1997], utilisant par exemple le niveau sonore ambiant ou les déplacements de personnes dans un espace pour donner vie à la représentation plastique. Dans une perspective de génie logiciel, la plate-forme présentée dans ce chapitre pourra être développée dans une optique d’interfaces multimodales et multi-agents (voir figure IV.20) : multimodale, par l’utilisation simultanée de différents modes de représentation et d’interaction ; multi-agents, par l’utilisation d’agents pour gérer les différents éléments d’interface. Par rapport à des composants d’interface objets, des composants construits sur la base d’agent ajouteraient des propriétés de proactivité, c’est-à-dire qu’ils sont susceptibles d’avoir une activité spontanée et autonome, en plus de leur réaction aux actions de l’utilisateur. Ils ajouteraient par ailleurs des capacités d’interaction dynamique les uns avec les autres. Si les bénéfices précis qu’une telle approche pourrait apporter restent à explorer, il nous semble qu’elle devrait conduire à la conception d’interfaces souples et adaptatives, se réorganisant en permanence en fonction des actions de l’utilisateur ou d’informations externes [Ishizaki 1996].

Nous avons décrit dans ce chapitre un ensemble d’outils intégrés dans une plate-forme de conception de systèmes multi-agents d’interface. Mais concevoir des outils

figure IV.20 – De par sa conception, la plate-forme ouvre la voie au

ne suffit pas, encore faut-il pouvoir les exploiter pour développer des applications. La plate-forme a servi à la réalisation du projet artistique Le Jardin des Hasards que nous allons maintenant décrire. Nous montrerons ainsi un exemple de l’utilisation de la plate-forme pour la conception d’une interface de représentation d’un système complexe. La dernière partie sera réservée, quant à elle, à la présentation de résultats dérivés de cette expérience artistique ainsi que des leçons que nous avons pu en tirer pour la conception de systèmes de représentation.

V. CHAPITRE V – LE JARDIN DES HASARDS : ART ET DIDACTIQUE

C HAPITRE V

Dans le document Du Jardin des Hasards aux Jardins de Données: (Page 137-145)