Illiac Suite for String Quartet, Lejaren Hiller, première composition par informatique de l'histoire à l'université de l'Illinois, sur l'ordinateur ILLIAC I
"I find myself baffled and troubled by EMI. The only comfort I could take at this point comes from realizing that EMI doesn't generate style on its own. It depends on mimicking prior composers. But that is still not all that much comfort. To what extent is music composed of 'riffs,' as jazz people say? If that's mostly the case, then it would mean that, to my absolute devastation, music is much less than I ever thought it was.''
Douglas Hofstadter, scientifique américain et prix Pulitzer (1980), en réaction aux compositions générés avec le programme EMI de David Cope en 1997
Si ces derniers modèles LLM dont Matthieu fait la démonstration peinent à générer des compositions longues, ils restent néanmoins impressionnants. Il semble en revanche qu'ils ne soient pas adaptés à une utilisation par un musicien qui désire jouer. En effet, le résultat est un signal audio complet : on ne peut donc pas l'exploiter en séparant les instruments, ou encore récupérer l'information au format MIDI.
À travers tous les exemples de génération cités par Matthieu, ce sont deux approches de représentation musicales qui sont finalement utilisées. Ce problème de représentation doit faire l'objet d'un choix :
Dans notre quête d'une IA qui aide le musicien à créer, c'est la seconde approche qui va nous intéresser. En particulier, nous souhaitons utiliser l'information générée en temps réel, par exemple dans le cadre d'une performance musicale live. Il existe une diversité de représentations symboliques pour la musique, la plus évidente étant bien sûr la partition. Dans notre cas, c'est plutôt la représentation matricielle appelée piano roll qui va nous intéresser.
Un piano roll représente en ordonnée la hauteur des notes et en abscisse le temps. Une note est donc représentée par un rectangle dont l'ordonnée correspond à la hauteur de la note, plus ce rectangle est long, plus la note dure longtemps.
On retrouve cette représentation dans les vieux pianos mécaniques mais aussi dans les logiciels de MAO appelés communément DAW pour Digital Audio Workstation. Utiliser cette représentation nous permet donc d'intégrer la génération par IA avec ces logiciels, par exemple pour combiner différentes générations, faire jouer une partition par un instrument virtuel en particulier, un piano par exemple.
un piano roll en cours de jeu par un piano mécanique. Source : wikipedia
piano roll de l'Ode à la joie de Beethoven dans un logiciel de type DAW (Digital Audio Workstation). Source : wikipedia
Les auto-encodeurs sont particulièrement adaptés à notre problème de génération au regard de leur capacité à reproduire les données qu'on leur donne à l'entraînement. On apprend à l'auto-encodeur la représentation musicale qu'est le piano roll et on génère des nouvelles compositions dans une représentation piano roll. Matthieu nous a présenté trois modèles pour sa démonstration :
Note : VAE signifie Variational Auto Encoder
Un exemple généré purement aléatoirement pour la démonstration sonne dissonant à l'oreille, voire cacophonique. L'explication est simple : les codes esthétiques de la musique auxquels nous sommes habitués ne sont pas respectés. On souhaiterait par exemple jouer des notes dans une tonalité définie comme Do majeur. Une deuxième tentative dans un espace contraint aux notes de Sol majeur nous permet d'obtenir une mélodie bien plus agréable à l'oreille. Matthieu utilise ensuite Coconet pour générer un accompagnement à partir du motif mélodique.
Matthieu poursuit son talk en présentant ses expérimentations dans l'utilisation d'un LLM pour générer une composition, ici GPT-4. Pour se faire, il donne au LLM un rôle de compositeur qui doit répondre dans un format JSON une représentation d'une composition musicale avec différents instruments, chacun restreint à une plage de note de la plus grave à la plus aiguë. Le choix de cette représentation est le fruit d'une recherche itérative qui permet à GTP-4 de bien retranscrire sa compréhension de la musique et de la théorie musicale.
[
{ "p": "C4"], "d": 1},
{ "p": "D4"], "d": 1},
{ "p": "Eb4"], "d": 1},
{ "p": "F4"], "d": 1},
{ "p": "G4"], "d": 1},
{ "p": "Ab4"], "d": 1},
{ "p": "Bb4"], "d": 1},
{ "p": "C5"], "d": 1}
]
Description : Gamme de do mineur (les notes portent leur nom en notation américaine) dans la format JSON choisi par Matthieu, p désignant le pitch soit la hauteur et d la durée
A partir du motif mélodique de l'art de la fugue de Bach, GTP-4 a été capable de générer une transition puis un second thème qui vient faire suite à la mélodie initiale. Cette démonstration nous montre que l'on est capable d'obtenir un résultat plutôt satisfaisant. Néanmoins, la génération de cet exemple prend du temps et chaque sous section a fait l'objet d'un prompt et d'une génération dédiée. L'approche LLM, dans cette expérience tout du moins, ne répond donc pas à notre problématique de génération en temps réel.
L'utilisation de l'informatique pour la composition musicale a donc une longue histoire derrière elle. Aujourd’hui, de nombreux algorithmes sont disponibles : VAE, LLM, pour générer de la musique, que ce soit avec une approche analogique ou symbolique.
A travers les exemples présentés pendant ce talk, l'IA se révèle être à la fois Muse & Narcisse : elle est à la fois un formidable outil de création qui permet de s'accompagner et d'itérer à l'infini, mais elle présente aussi beaucoup de limites, notamment car elle ne peut que refléter la culture musicale majoritairement représentée dans la donnée d'entraînement, à priori la culture musicale occidentale. C'est donc en ceci que Matthieu qualifie ces IA de narcissiques. S'il est facile de générer des compositions cohérentes, il est donc beaucoup plus difficile de générer de la surprise, de la tension ou des nuances.
C'est fondamental car d'après Matthieu, on apprécie en général dans la musique un juste mélange entre ce que l'on connaît et donc ce que l'on peut donc prédire à l'écoute et ce qui nous surprend.
Cette journée de conférence s'est enfin conclue tout en douceur avec une performance musicale live dans laquelle Matthieu s'est accompagné d'un groupe entièrement composé d'instruments virtuels jouant la composition d'une IA : piano, basse, batterie, guitare et enfin lui-même au violon électrique.
Retrouvez cette performance dans le replay !