Musicoscope : description

Benoit Mathieu
Représentation Musicale, IRCAM

Présentation

Le Musicoscope est un logiciel d'analyse musicale écrit en Macintosh Common Lisp (ver 4.2 et au-delà) par Marcel Mesnage. Il résulte de l'intégration des anciens programmes Musinote et Morphoscope. Musinote permet à l'utilisateur de créer et modifier une partition via une interface graphique intuitive. Ensuite, Morphoscope peut récupèrer le fichier au format de Musinote et l'utilise pour construire sa structure de données interne (muage) qui peut être interrogée par l'utilisateur. Lors d'une analyse, l'utilisateur peut utiliser les paramètres préprogrammés dans le musicoscope, ou définir les siens.

I) Saisie et édition de partitions

Le musicoscope présente une interface utilisateur permettant de saisir et d'éditer une partition, avec des indications de nuances, de liaisons, la possibilité de créer plusieurs voix, etc.

II) Fonctions d'analyse

II.1) La décomposition

Lors de son analyse, le musicoscope a besoin structurer la partition. Le musicoscope permet de découper la partition de deux manières, par voix et par segments.

Le découpage par voix dépend de la manière dont a été entrée la partition, et ne peut être modifié. Cependant le musicoscope peut sélectionner les voix à analyser, ou décider de considérer toutes les voix comme une voix unique.

Le musicoscope peut aussi découper la partition en segments, séparés par des séparateurs. Certaines fonctions d'analyse utilisent ce découpage, ce qui nous donne accès à une information plus synthétique Par exemple, on peut chercher l'ensemble des notes utilisées au cours de chaque segment. Les séparateurs par défaut sont les mesures, mais l'utilisateur peut en définir de nouveaux de diverses manières :

Par la suite, l'utilisateur peut décider d'analyser seulement quelques segments de l'oeuvre.

II.2) Les composantes

Une composante est un paramètre ponctuel (comme la hauteur d'une note, la densité d'un accord) qui servira de support à l'analyse. Le musicoscope possède sa propre structure de données. Cette structure de donnée définit les composantes de base qui sont utilisées pour décrire la partition. Plusieurs autres composantes sont ensuite définies à partir des composantes de base. L'utilisateur peut aussi définir lui-même ses propres composantes (à partir des composantes de base) qui lui semblent plus pertinentes pour son analyse.

Les composantes simples sont :

On trouve aussi des composantes qui sont le résultat d'un calcul sur plusieurs évènements :

Ajouter de nouvelles composantes

Le musicoscope permet l'ajout de nouvelles composantes par l'utilisateur. L'utilisateur peut, sans notions particulière en programmation, aisément créer une composante qui soit le résultat de comparaison ou opération simple (+ - * /) sur les composantes existantes. Par exemple, il est possible de définir facilement une composante 'Registre' qui donne 'haut' si la note est supérieure à DO5, 'moyen' si la note est entre DO3 et DO5 et 'bas' si la note est inférieure à DO3.

Cependant la création de certaine composantes, qui peuvent sembler basique au musicologue, comme l'ambitus d'un accord ou groupe de note, requiert quelques notions de programmation LISP et un peu de lecture de code afin de trouver les fonctions appropriées.

II.3) Les différents types d'analyse et les graphes

Le musicoscope offre plusieurs types d'analyse dont le résultat prendra la forme d'un graphe (en mode texte). Chaque type d'analyse peut être appliquée sur n'importe quelle composante, et avec n'importe quel découpage. Voici les possibilités qu'offre le musicoscope :

Représente la valeur de la composante, prise par chaque voix, date par date. Exemple : flux des valeurs de hauteur d'une partition à 4 voix :

Il s'agit d'un graphe avec en ordonnée les valeurs de la composante étudiée (dans l'ordre si un ordre à été défini) et en abscisse les dates successives. Chaque point représente la présence d'une valeur de la composante à une date donnée.

Même type de représentation que le graphe de déploiement, le champ de segment indique les valeurs prises par la composante au sein de chaque segment ( et non plus à chaque date). L'exemple ci-dessous montre les différents chromes présents à chaque mesure de la partition analysée.

 

On considère ici la suite des valeurs prises par la composante au sein d'un segment. Le graphe obtenu représente le déploiement des segments tout au long de l'oeuvre. Ce graphe permet de détecter facilement les segments identiques selon certaines composantes. Notons, que nous pouvons effectuer l'analyse sur plusieurs composantes simultanément. Bien sûr, ce graphe ne sera efficace que si deux fragment sont rigoureusement identiques selon la ou les composantes sélectionnées.

Même principe que le graphe précédent, mais en ne considérant pas la suite des valeurs prises au sein d'un segment, mais seulement l'ensemble des valeurs prises.

Le graphe ci-dessus est une analyse de type condensation-champ sur les classes de hauteurs d'une oeuvre. Ce graphe nous montre que les 3 premiers segments utilisent les mêmes classes de hauteurs. On remarque aussi que les segements 28 et 29 utilisent les même classes de hauteurs que le segment 4.

Le graphe de type relation dresse un tableau qui représente la valeur d'une composante en fonction de la valeur de l'autre. Le tableau indique pour chaque couple valeur des deux composantes sélectionnées si ces deux valeurs apparaissent une fois sur un même évènement. Par exemple, l'étude de la relation entre hauteur et durée peut nous apprendre que certaines hauteurs apparaissent régulièrement sous forme de blanches et rondes, alors que d'autres apparaissent uniquement sous forme de croches.

Il s'agit de compter le nombre d'occurence de chaque valeurs d'une ou des composante(s) sélectionnée(s). Il est possible de compter sur toute l'oeuvre, ou de compter segment par segment.

Il est possible de calculer le gradient d'apparition ou le gradient de disparition d'une composante. Par exemple, dans le cas du gradient d'apparition, cette analyse nous donne la liste des valeurs prises par une composante dans l'ordre d'apparition, avec la date d'apparition et une représentation graphique de l'intervalle entre les apparitions.

Ce type d'analyse compte les transitions d'une valeurs à une autre d'une composante et présente le résultat sous forme de tableau. Par exemple, le graphe de transition de classe de hauteurs peut donner le résultat suivant :

Le graphe de transition peut être effectué sur toute l'oeuvre comme sur chaque segment de l'oeuvre.

Dresse la liste des règles nécessaires pour décrire le flux des valeurs prises par la composante sélectionnée. Cette analyse trouve pour chaque valeur prise par la composante, les suites de prédécesseurs les plus courtes permettant de déterminer la valeur suivante.

On peut noter que ce résultat nous indique le nombre d'occurence de chaque valeur et le nombre de règles, ce qui nous permet de savoir si on a trouvé des règles génériques ou non. L'exemple ci-dessus nous montre que pour 21 occurences de mi on a besoin de 21 règles pour déterminer la valeur suivante, donc ces règles ne sont pas génériques. Dans le cas où on a des règles qui fonctionnent plus d'une fois, il serait intéressant de savoir combien de cas elles permettent de traiter, ce qui n'est pas indiqué actuellement.

L'analyse de contours nous donne, pour chaque date, ou chaque segment, une représentation de l'harmonie dans le cercle chromatique.

II.4) Détection de répétitions

Le musicoscope offre des fonctions de détections de répétitions, transpositions, inversions d'un motif donné. L'utilisateur doit donc indiquer quel motif il souhaite rechercher. Le motif doit être complètement inclu dans un segment, et le musicoscope ne retrouvera que les occurrences du motifs qui sont, de même, complètement incluses dans un autre segment.
Il est possible de rechercher un motif dans toutes les voix, comme il est aussi possible de considérer toutes les voix comme une seule voix et rechercher la répétition d'un morceau de l'oeuvre.

Retour au sommaire Musicoscope