Introduction.
Bien que l'interaction musique-science ait existé pendant toute l'histoire musicale, le terme "informatique musicale" et son histoire recouvrent un phénomène récent de notre siècle. Une telle rencontre entre cultures scientifiques et musicale n'avait pas pris autant de force depuis des siècles. Personne ne peut de nos jours nier l'utilité des disciplines informatiques (et de l'ordinateur) dans la musique d'aujourd'hui, ni la façon dont la musique continue à être influencée par les divers développements technologiques et scientifiques. Nous ne voulons pas par ce texte justifier l'existence ou l'importance de l'informatique musicale en donnant des preuves de la présence des sciences dans la musique tout au long de son histoire. Nous prenons cette présence, ou mieux l'existence d'un rapport musique-science, comme un fait [AsCh95].
Les rapports musique-science ont lieu à différents niveaux et concernent diverses disciplines, en partie grâce à l'énorme quantité de problèmes bien définis que pose la musique. L'informatique n'a pas échappé à ces tentations, ainsi nous voyons regroupée sous le terme d'informatique musicale une diversité d'activités et de techniques. Cependant, voir les rapports entre informatique et musique uniquement sous cet angle serait nier le caractère de discipline naissante qu'a l'informatique musicale. En effet, nous pensons qu'il existe aussi une réciprocité et qu'il existe des situations où l'étude d'un problème de nature exclusivement musicale peut profiter à d'autres domaines non musicaux. Nous pensons par exemple aux problèmes de l'harmonisation et du contrepoint qui ont constitué des défis intéressants et amené à raffiner certaines techniques de propagation de contraintes et de représentations de connaissances dont l'impact peut éventuellement aller au delà du simple champ musical. On peut voir à ce sujet [RuVa97] qui propose une amélioration très générale du forward-checking à l'aide de l'évaluation paresseuse. Ce travail se raccordait en effet aux travaux des auteurs dans le domaine de la gestion de contraintes musicales.
En ce qui concerne l'informatique, la musique représente un domaine intéressant dans la mesure où très souvent les problèmes rencontrés sont d'une grande complexité. De même, étant donnée la subjectivité de la musique, les différentes solutions sont soumises à divers points de vue, ce qui implique de concevoir systèmes ou modèles en sachant qu'ils devront subir diverses modifications et extensions. En général, les logiciels appliqués à la musique doivent être très performants au niveau du temps d'exécution, au point qu'il existe un sous-domaine de l'informatique musicale qui traite du problème du temps réel. En ce qui concerne l'intelligence artificielle, la musique est un beau défi dû à la difficulté de son apprentissage et de sa transmission.
Définir le domaine de l'informatique musicale comme un point de rencontre de différentes disciplines ou comme une "discipline autonome" n'est pas primordial pour le discours que l'on soutiendra. En effet, l'informatique musicale est un ensemble d'activités hétérogènes. Nous distinguons parmi d'autres applications spécifiques : le stockage, l'accès et le transfert de données musicales ; l'analyse musicale assistée par ordinateur ; les diverses techniques d'analyse et de synthèse de son, et la composition assistée par ordinateur (CAO). Tout au long de ce texte, notre intérêt sera focalisé sur ce dernier domaine : la CAO. Bien évidemment, ce type de classification de l'informatique musicale n'a que des intentions de repère car nous sommes conscients qu'en réalité toutes ces activités entretiennent des liens étroits et les une comme les autres ont besoin de collaborer au bénéfice de la Musique. Par exemple, les divers travaux dans le domaine de la synthèse de son n'ont pas seulement offert au compositeur des horizons illimités, mais ont aussi permis la déhiérarchisation de diverses entités musicales ; c'est là que se trouve l'un des grands apports de l'informatique à la composition musicale, à savoir l'homogénéisation des aspects purement formels et syntaxiques avec les aspect sonores.
La musique, comme la plupart des disciplines, est en constant questionnement, comme le montrent les différentes révolutions dans le domaine musical propres à ce siècle. Il est donc naturel qu'un compositeur bénéficie des autres disciplines pour chercher une réponse personnelle aux différents questionnements de l'époque. Prise dans ce cadre, l'informatique est un outil externe à la musique qui peut être utilisé au même titre que d'autres domaines scientifiques. Cette vision est soutenue par un certain nombre de musiciens. Cependant, pour d'autres compositeurs, l'arrivée de l'ordinateur implique une nouvelle réflexion à la fois musicale, mais aussi culturelle et philosophique. Ainsi l'ordinateur à résolu certains problèmes, mais il en a aussi engendrés d'autres. Ne soyons pas pessimistes, cette situation n'est qu'une des étapes de la constante évolution de la science et de la musique. Nous sommes peut-être simplement en train de vivre un déplacement de l'acte artistique de composition, ce qu'illustre le fait que de nombreux scientifiques s'autoproclament compositeurs. De ce point de vue il faut faire attention de ne pas confondre la cohérence logico-mathématique pure avec la cohérence musicale qui introduit d'autres facteurs notamment psychologiques et culturels. En tout cas, s'il s'agit d'un véritable changement, et non d'une simple mode, une prise de conscience collective sera nécessaire. Nous pensons que le musicien doit assimiler l'arrivée de l'ordinateur en trouvant un équilibre entre le rejet total de l'outil et la mécanisation de la Musique.
Nous touchons à l'un de problèmes fondamentaux de la composition assistée par ordinateur, à savoir le passage d'un langage musical (au moins le langage d'un compositeur ) vers un langage manipulable par une machine. Comme il a été dit dans [Dufo81], le fait que le compositeur devienne un expert informaticien n'est pas suffisant pour résoudre cette impasse. A cet effet, le compositeur est aujourd'hui amené à réévaluer ses attitudes à tous niveaux y compris sa manière de penser la Musique. Nous croyons que le compositeur ne peut utiliser l'ordinateur que s'il formalise peu ou prou ses idées (cela n'implique pas évidemment que sans l'ordinateur la pensée musicale ne soit pas formalisée). Nous utiliserons le terme "modèle" pour exprimer la formalisation d'une idée, en relevant l'ambiguïté avec la notion générale artistique associée à la mimesis. Mais jusqu'où peut-on formaliser des idées ? Sera-t-il possible de formaliser tout ce qui se pense ? Ce type de question posée très souvent ne nous semble pas une barrière. Nous ne croyons pas en l'existence des idées musicales comme vérités artistiques absolues. Les idées artistiques ne peuvent pas être indépendantes du matériau, elles se trouvent entre la pensée et l'action. La démarche utopique de traduire les idées de manière exacte, mécanique, correspondrait plutôt à un acte artisanal qu'artistique. Bien sûr on veut pouvoir formaliser de nombreux aspects de la musique, mais cette tâche s'avère en général compliquée à cause du grand nombre de paramètres et des subjectivités inhérentes à la Musique.
Dans notre texte quand nous nous référons à un modèle nous parlons de modèles calculables au sens informatique. Mais, voir l'ordinateur comme un outil qui permet de faire des calculs plus rapidement est une vision restreinte, de plus le calcul n'est pas la finalité de la composition. Bien sûr, calcul et musique ne sont pas non plus exclusifs ; les performances du calcul ont permis aux compositeurs d'explorer des domaines auxquels ils n'avaient pas accès, mais aussi de maîtriser ces domaines au profit d'une démarche artistique. A notre avis, l'avantage principal d'un modèle est son utilisation pour formuler des hypothèses et les simuler. L'expérience de composition avec certains compositeurs nous permet d'affirmer que la CAO n'implique pas la réduction du temps ni de l'effort de composition. Comme il est dit dans [Cour93] il ne faut pas croire que parce qu'il existe un algorithme pour le calcul d'un objet musical, le compositeur va l'utiliser systématiquement sans se poser de questions. En réalité, les modèles simplifient le problème musical, ce qui implique des choix arbitraires. Nous avons remarqué souvent qu'à partir de modèles existants, la tendance est grande à modifier non pas le modèle en question, mais le problème à modéliser.
En retour, cette possibilité nouvelle d'expérimenter véritablement toutes les conséquences d'un modèle formel a pu démythifier une certaine croyance, vivace dans les années 50-60 en la formalisation pure. Cet aspect original de l'utilisation de l'ordinateur a mis en évidence la part des choix non forcément calculables, sans pour autant être irrationnels.
Notre travail de recherche en CAO peut être vu selon deux aspects : la création d'outils informatiques qui facilitent la formalisation des représentations et connaissances musicales existantes et la recherche de systèmes productifs qui permettent l'exploration de nouvelles idées. Dit d'une autre façon, nous ne nous intéressons pas uniquement à apporter des solutions, mais aussi à la recherche de problèmes. Nous sommes conscients que la formalisation demande un effort non négligeable de la part du compositeur. Ainsi on doit travailler à fournir aux compositeurs des outils qui récompenseront l'effort qu'il investira dans leur utilisation. Une perte de temps et d'énergie pour un compositeur aura pour effet une perte d'intérêt et de crédibilité en la CAO. Mais savoir choisir un aspect pertinent de la composition pour ensuite le formaliser n'est pas non plus une tâche simple. En effet, nous croyons souvent que l'élaboration d'un algorithme complexe et pertinent du point de vue informatique implique l'importance et la pertinence de l'aspect musical modélisé. Cependant, l'expérience nous a montré qu'avec une certaine régularité, certains aspects intéressants pour le compositeur sont formalisés d'une façon assez simple et pas très intéressante pour la recherche informatique. A l'inverse, des tâches qui semblent élémentaires au compositeur peuvent déboucher sur des problèmes informatiques complexes. Ainsi, l'interaction directe avec les compositeurs est la seule démarche pour réaliser cette deuxième tâche que nous nous sommes imposée.
Cette thèse est divisée en trois chapitres qui correspondent au développement des réflexions faites dans cette introduction.
Le chapitre 1, intitulé "Réflexion sur la CAO", propose au lecteur une brève vision du domaine, ainsi que les principales convictions propres à notre travail. Nous exposons dans ce chapitre la façon dont nous concevons l'interaction entre composition musicale et informatique. Dans ce chapitre, nous prenons position sur ce que doit être un outil informatique. Nous y justifierons nos choix : pourquoi un langage de programmation et pas une application ? Pourquoi mélanger divers modèles de programmation dans un même langage ? Pourquoi ne pas utiliser un langage déjà existant ? Notre langage doit-il être visuel, uniquement afin de permettre l'utilisation aux compositeurs ? Le chapitre 1 contient aussi un résumé de PatchWork qui nous paraît nécessaire en tant que précurseur d'OpenMusic.
Le chapitre 2 expose sous différents angles la réalisation de notre environnement de CAO appelé "OpenMusic". Nous mélangeons dans ce chapitre théorie et pratique tout en essayant de répondre aux besoins exprimés dans le premier chapitre. À la différence de PatchWork où la formalisation de la sémantique est faite en s'appuyant sur le langage Lisp, nous avons essayé dans ce chapitre de formaliser de manière graphique la sémantique d'OpenMusic. En plus de la définition du langage, une description de l'environnement est faite à l'aide de nombreux exemples. Nous avons mis l'accent sur les aspects de programmation par objets, fonctionnelle et la méta&endash;programmation. Ce chapitre se termine par la définition d'une hiérarchie des classes d'objets musicaux. Pour chacun de ces objets, nous présentons un éditeur en notation musicale.
Le dernier chapitre, "Aspects temporels dans OpenMusic", montre les diverses recherches en cours concernant le temps. Une des avancées majeures de PatchWork était l'introduction de la notation musicale, que nous avons conservée et améliorée dans OpenMusic. En outre, nous avons introduit dans OpenMusic des aspects temporels. Nous commençons le chapitre 3 par l'exposition de la représentation temporelle interne des objets musicaux. Cette représentation permet de traiter correctement les problèmes de structures temporelles discrètes et de quantification, fréquemment rencontrés en musique. La notion essentielle de ce chapitre est celle de maquette. Une maquette est un objet de calcul et de représentation. Les objets, y compris les algorithmes, peuvent être "plongés" dans une maquette, qui est une sorte de surface graphique dont la dimension horizontale représente le temps. Ainsi sont créées, par superposition et concaténation, les articulations entre objets élémentaires. Une maquette peut être plongée dans une maquette et articulée dans le temps à d'autres objets ou d'autres maquettes. Ainsi, par récursion, seront emboîtés les niveaux successifs de l'organisation formelle. Finalement, nous montrerons que les maquettes sont de puissants outils de notation permettant d'exprimer les structures hiérarchiques internes des objets musicaux, ce que PatchWork ne permettait pas de faire. En outre, les maquettes permettent de gérer l'organisation temporelle de la grande forme (i.e. la structure globale d'une Ïuvre).
Nous concluons sur la contribution de cette thèse à la CAO, ainsi que sur les projets qui continuerons notre recherche.