LOL
Un environnement expérimental de composition chorégraphique
"
Frederic Voisin, 2001(this text is the original version of the text published in revue
EcartS : pratiques artistiques et technologiques, vol. 2, oct. 2001)
Chorégraphie, musique et logique
Jai toujours fait en sorte déviter le lien de parenté entre musique et danse en préférant me consacrer à la musique dans ses aspects les plus spécifiques et les plus formels. Ce, tant dans mes recherches en ethnomusicologie au CNRS en Afrique et en Indonésie que dans mon travail avec les compositeurs dans les studios de lIRCAM. Jemprunterai donc la réponse à Wittgenstein : " Dis moi comment tu cherches et je te dirais ce que tu cherches ".
Le comment, dans la musique contemporaine occidentale, hérite dune longue tradition où lécriture joue un rôle fondamental : non seulement celle-ci permet de conserver et de transmettre le produit dune pensée, mais elle permet aussi lexpérimentation de la pensée par anticipation. La partition, avant dêtre jouée, est écrite, suspendue par endroits, corrigée, voire effacée, réécrite pendant le temps de son écriture. Elle représente le résultat dun processus ou de choix successifs de processus, exprimé par un système de symboles arbitraires. Le choix des symboles est arbitraire dans la mesure où chacun représente, par convention, une procédure déterminée, un geste par exemple. Ainsi la partition musicale (ou chorégraphique) sapparente à un programme pouvant être exécuté soit par des musiciens (des danseurs), soit par un automate mécanique ou informatique, mais ne représente quun aspect de lécriture.
Je distinguerais donc un autre aspect, doté dune fonction exploratoire et dune fonction générative, plus à même de rendre compte du travail du compositeur ou du chorégraphe, à savoir lécriture des processus eux-mêmes et des concepts impliqués. On retrouve initialement ces préoccupations en logique contemporaine, aboutissant dune part à la nécessité dune langue artificielle permettant lécriture des concepts (cf. notamment la Begriffschrift de Frege 1879) et, dautre part, aux notions de " machine universelle " prototype de lordinateur (Turing 1936), dautomates (Von Neumann 1951) et de programmes informatiques. Dans la mesure où, pour chaque concept, il existe une procédure permettant de le vérifier par le biais dune machine universelle ce qui a été démontré , il semblerait que toute forme de pensée susceptible dêtre exprimée dans un langage peut, en théorie, lêtre par une machine universelle et en loccurrence par un ordinateur.
A ce titre, les programmes dinformatique musicale de CAO (composition assistée par ordinateur) sapparentent souvent à des langages de programmation dits de haut niveau faisant appel à des " routines " de plus bas niveau. Je distinguerais deux types de programmes de composition :
dune part, ceux pourvus dune syntaxe spécialisée et dobjets (ou fonctions) orientés vers des concepts définis par une analyse experte. Ce type de programmes, sils ont une dimension exploratoire et générative, ne permet pas de créer, sinon par détournement de lécriture, de nouveaux concepts et procédures. Il sagit en quelque sorte de langages créés sur mesure et adaptés à un univers cognitif précis : celui de lauteur (ou co-auteurs) du programme. Leur application la plus immédiate est soit représentationnelle, soit descriptive et orientée vers une notation à fin dexécution (par un interprète, un programme, une machine).
Il existe dautre part des programmes " ouverts " sans univers cognitif particulier, ni application exécutive immédiate, mais permettant à chacun de définir et expérimenter ses propres concepts, fonctions et objets dans un formalisme logique le plus général. De tels programmes se proposent donc plutôt comme des " environnements ", sortes doutils méta, proposant par défaut des fonctions et objets nécessaires à la construction dunivers aussi variés que possible. Patchwork et OpenMusic, développés à lIrcam, (cf. Gérard Assayag, Eccart n°1) sont autant de tentatives réussies dans cette voie. Etant donné le niveau dabstraction de ces programmes, il nest pas étonnant que lon puisse en partie y définir et expérimenter des concepts autres que musicaux, par exemple chorégraphiques. Cest ainsi que Myriam Gourfink devait expérimenter, il y a plus dun an, ses premières investigations chorégraphiques avec Patchwork : il suffisait pour commencer si lon peut dire de recourir à ses fonctions dabstraction et à la dimension arbitraire du symbole qui, finalement, signifie ce que lon veut.
Principes généraux
Cette première expérience initiée par Myriam Gourfink sur un programme initialement conçu pour des compositeurs de musique nous mit devant lévidence quil fallait développer un environnement plus adapté à la chorégraphie sans pour autant se limiter à une esthétique précise. Cependant, en regard de la musicologie, la chorégraphie dispose de peu de théories générales. Il fallait commencer par définir, pour celle-ci, avec laide de Kasper T. Tplitz, ce que lhistoire avait retenu des représentations, notations, concepts et procédés fondamentaux utilisés en musique. Cest ce que nous avons nommé LOL, qui est à la fois un programme mais aussi une expérimentation grandeur nature sur le langage chorégraphique. Nous étions donc daccord sur un point : lurgence était non pas dans la représentation du geste chorégraphique, mais dans la représentation des connaissances utiles à la composition chorégraphique en général.
Un principe fondamental selon lequel je souhaitais programmer LOL repose sur la notion de catégorie, en prenant le parti selon lequel toute représentation cognitive est essentiellement catégorielle (ce qui était une évidence lorsque je travaillais avec des musiciens dautres cultures). Les nombres (entiers, réels, etc.) autant que les couleurs, hauteurs musicales, gestes, et autres concepts sont des catégories qui prennent une valeur fonctionnelle (un " sens ") selon quelles sopposent, ou non, à dautres catégories. La notion de catégorie pose directement la question de légalité ou de léquivalence, laquelle peut être résolue par une catégorie dordre supérieur. Par exemple, si je considère les catégories vert et rouge, que lon se représente bien comme deux concepts différents, elles sont identiques dès lors que je considère une troisième catégorie couleur dont vert et rouge seraient elles-mêmes des instances. Ainsi léquivalence entre deux entités abstraites peut toujours être ré-évaluée calculée tant quil existe une troisième catégorie qui les englobe. Cela nous renvoie à la fois à la théorie des ensembles, mais surtout au calcul des prédicats, où attribut et fonction sont indissociables (Frege 1884, Russell 1962), et à la théorie des types. En quelque sorte, chaque catégorie est un symbole vide, ne signifiant rien directement (cf. à ce sujet Dan Sperber 1974) mais seulement par opposition avec dautres symboles au sein dune hiérarchie déquivalences, lesquelles sont également des catégories dun ordre supérieur.
Ce principe implique, in fine, que chaque objet quel quil soit est sa propre catégorie : le nombre 1 appartient à la catégorie des " 1 " et diffère du nombre 2 qui appartient à la catégorie des " 2 ". Ainsi on peut dire que 1 est différent de 2 sans recourir à une démonstration : il sagit dune définition, cest-à-dire une représentation cognitive. A linverse, dans un système cognitif particulier, on peut créer une catégorie des 1ou2 selon laquelle 1 = 2, le signe " = " représentant lappartenance à la catégorie 1ou2 (ainsi une fonction est bien un attribut, un concept). La notion déquivalence est donc purement conventionnelle; elle est fondée sur une définition dordre cognitif. Aussi peut-on définir la notion de pertinence, à savoir si lopposition possède un sens (au-delà de la contradiction) : 1 et 2 peuvent être comparés dun certain point de vue sils ont à un concept commun celui du point de vue ou si lun provient de lautre au moyen dune procédure existante (une fonction, soit un autre concept).
Sil paraît irréaliste de devoir définir chacune des catégories cognitives avant le travail de composition, il semble essentiel de permettre cette ouverture : différentes esthétiques sont le produit dunivers cognitifs très différents (parfois incompatibles) pouvant ignorer ou aller à lencontre des théories scientifiques (que je considère, pour ma part, comme autant dunivers cognitifs particuliers reposant essentiellement sur des définitions, croyances, évidence ou sur le " bon sens ", ce qui nenlève rien à leur cohérence).
Ainsi devions-nous proposer un certain nombre de catégories fonctionnelles cohérentes permettant de commencer la composition chorégraphique. Plus générale parce que sinscrivant dans une étude du mouvement, plus diffusée, plus éloignée dune esthétique particulière, la notation Laban nous servit de base conceptuelle. Nous en avons extrait certains fondements, tous relatifs au corps, la notion despace étant exprimée par rapport à celui-ci.
A lheure actuelle, nous avons retenu les notions catégorielles telles que le corps, les parties du corps, létat (correspondant à un état du corps et de ses parties), la séquence (une succession détats).
Le corps est défini comme une entité abstraite dont lune des fonctions est didentifier les seules parties nécessaires à linvestigation chorégraphique. Un corps peut donc nêtre constitué que de deux jambes par exemple si un processus envisagé nimplique que ces parties du corps. On peut aussi considérer un corps comme un ensemble de corps qui viennent soit se compléter, soit se succéder dans une séquence (de la même façon quen musique, on ne considère pas dans un calcul les notes dun accord qui ne sont pas jouées, ou encore quun " même " accord peut se présenter sous différents aspects). Linstance dun corps est nommée en même temps quelle hérite, le cas échéant, des noms des autres corps, états et séquences dont elle dépend. Ainsi un corps peut être identifié à travers un état, une séquence ou un autre corps. Un corps, une fois défini, peut rester une entité abstraite et servir de corps " générique " (une nouvelle catégorie) susceptible par la suite dinstanciations différenciées.
De même, les parties du corps ne sont pas prédéfinies. A chaque instant, on peut définir une nouvelle partie du corps, la nommer, voire la subdiviser en dautres parties. Chaque partie du corps peut donc être une partie de partie-du-corps et ainsi de suite. Chaque instance dune partie du corps hérite par défaut des propriétés (modifiables) des parties du corps ou du corps dont elle est issue.
Neuf dimensions catégorielles permettent de décrire ensuite nimporte quel mouvement du corps : les appuis, lélévation, la direction, la flexion, la rotation, la distance, lenroulement, les contacts et les adresses. Puisque les valeurs sont elles mêmes catégorielles, chacune des dimensions peut être discrétisée avec une précision à définir par le chorégraphe : intensité des appuis, degrés douverture, de flexion peuvent être exprimés soit par des valeurs numériques, soit par des symboles. Un geste, un état ou une séquence constituent donc une proposition symbolique permettant (ou résultant de) un calcul propositionnel (pour le passage, le cas échéant, du symbolique au numérique, on fera appel à la théorie des sous-ensembles flous).
Mais déjà dautres notions, plus particulières aux chorégraphies de Myriam Gourfink, semblent indispensables. La direction de la pensée, notamment, vient compléter les concepts relatifs au corps. Comme le remarquait Kasper Tplitz, permettre lécriture de ce concept est essentiel puisquelle permet de ne pas la restreindre à une fonction purement procédurielle, exécutive. Cest par ailleurs ce type de considération qui devait amener à une crise de la notation musicale, laquelle nest pas véritablement dépassée.
Programmation
Le langage de programmation utilisé est le Lisp. Initialement créé pour les besoins de lintelligence artificielle, ce langage donne facilement accès à un niveau méta dans la mesure où un programme, en Lisp, peut aisément sécrire lui-même de façon dynamique. Sa syntaxe, fondée uniquement sur des expressions symboliques, se prête facilement à la représentation et à la manipulation de connaissances : une donnée, une déclaration, une fonction ou un programme est, en Lisp, une expression symbolique. Ainsi une variable, nécessaire à une fonction, peut elle-même être une fonction, tout comme une fonction peut également produire une nouvelle fonction. Le lien avec le calcul propositionnel tel que définis en logique contemporaine est donc immédiat.
Le recours au Common Lisp Object System, extension orientée objet de Lisp, permet encore de faciliter le traitement des connaissances. Ainsi chaque nouveau concept sera représenté soit :
Selon le principe énoncé dune représentation des connaissances purement catégorielle, la notion de variable peut disparaître au profit dinstances de classes différenciées : chaque nouveau symbole (autrement dit : nom) créé ou appelé par lutilisateur est linstance dune classe prédéfinie. Le principe consiste donc à nommer tout objet en lui assignant, en même temps, une idée de ce quil est, cest-à-dire sa place dans lespace conceptuel invoqué (on imagine alors la possibilité de créer une classe variable, sorte densemble fourre-tout qui permettrait de mémoriser temporairement un objet dont on ne sait ce quil est).
Le moyen privilégié deffectuer ce type dopération est le langage naturel : il sagit dénoncer simplement le nom de lobjet. Dans le dialogue avec la machine, lorsque lappartenance catégorielle nest pas préalablement définie (le programme na pas de représentation " cognitive " du symbole), plutôt que de signaler une erreur, le programme peut au contraire demander ce quest (la valeur attributive) véritablement ce nouveau nom. On peut en effet inférer que lassertion résultant du dialogue (" ceci est un x ") définit une nouvelle catégorie, et le programme peut créer ce nouveau symbole (" ceci ") en même quil crée la nouvelle classe désignée (" x "). Ainsi la question posée par le programme (" quest ce que ceci ? ") dénote son ignorance en même temps que son intention de connaître la catégorie invoquée, puis répond à lintention implicite de lui faire connaître cette catégorie (" il y avait ceci"). Par la suite, une nouvelle assertion portant sur cette nouvelle classe permettra de la définir par rapport à une ou plusieurs classes préexistantes (" x est une couleur "). Lespace des classes représente donc un espace catégoriel plus ou moins hiérarchisé, projection de lespace cognitif qui le crée, où chaque classe définit soit un prédicat, soit une action (foncteur).
Laccès le plus immédiat à LOL est donc le langage. On considère en effet que la structure syntaxique et le vocabulaire utilisé dénotent soit une représentation cognitive, soit une intention (Searle 1969) impliquant une action du programme (créer ou instancier une classe). Si un processus dinférence est nécessaire, je ne pense pas quil doive être trop étendu : en effet, le but dun tel programme est moins dinférer de nouvelles connaissances que dexpliciter et dorganiser des connaissances qui seront utilisées dans un contexte dévoilé pas à pas par lutilisateur. Cette explicitation est nécessaire au programme autant quà lutilisateur pour expérimenter son univers conceptuel. Dune certaine façon, ce type dinterface est une sorte dethnographe automatique posant des questions lui permettant de se représenter un nouvel univers. Une mauvaise question (et souvent lethnologue en pose !) sera donc une question non pertinente : soit il nexiste pas de méthode pour y répondre dans le contexte donné, soit lobjet évoqué nexiste pas ou ne possède pas la propriété requise. Rien nempêche dès lors dajouter un nouvel objet, méthode ou propriété requis et de le nommer (ou à celui-qui-répond dinventer une nouvelle histoire ). Cependant, dun point épistémologique, la création de nouveaux concepts ad hoc nest pas sans risque : la consistance dun système (dune théorie, dune esthétique) est en effet inversement proportionnelle au nombre de concepts " ajoutés ". Mais ceux-ci sont indispensables et on imagine difficilement comment un système ne permettant aucune étrangeté serait susceptible de nouveauté.
Je tiens à remercier Myriam davoir suscité cette aventure et de déjà lexpérimenter.
Frédéric Voisin,
Paris le 27 avril 2000
Bibliographie
Assayag, Gérard : "Du calcul secret au calcul visuel ", Interfaces homme-machine et création musicale, Hermès, Paris, 1999.
Arom S. & Voisin F. : " Theory and Technology in African Music ", The Garland Encyclopedia of African Music, vol. 2, R. Stone (éd.), New-York, Garland.
Frege, Gottlob : Idéographie, Vrin, Paris, 1999, traduction de Begriffschrift, Nebert, Halle, 1879.
Les fondements de larithmétique, Seuil, Paris, 1969, traduction de Grundlagen der Arithmetik, Marcus, Breslau, 1884.
Feyeraband, Paul : Against Method, New Left Books, Londres, 1975.
Von Neumann, John : " The General and Logical Theory of Automata ", Cerabral Mechanism in Behavior, Lloyd A. Jeffries éd., Wiley and Sons, New-York, 1951.
Popper , Karl : The Logic of Scientific Discovery, Hutchinson Co, Londres, 1959.
Russel, Bertrand : An Inquiry into Meaning and Truth, Allen & Unwin, Baltimore, Penguin, 1962.
Searle, John : Speech Acts, Cambridge University Press, Londres, 1969.
Sperber, Dan : Le symbolisme en général, Hermann, Paris, 1974.
Turing, Alan : " On Computable Numbers, with an Application to the Entscheidungsproblem ", Proceeding of the Mathematical Society, II, vol. 42, 1936.
Voisin, Frédéric : "Musical Scales in Central Africa and Java : modelling by synthesis", Leonardo Music Journal, vol. 6, Pergamon, New-York, MIT Press, 1995.
Wittgenstein, Ludwing : Remarques philosophiques, Gallimard, Paris, 1975, traduit de : Philosophische Bemerkungen, B. Blackwell, Oxford, 1964.