INScore - un environnement pour la conception de partitions augmentées, dynamiques, interactives,
par Dominique FOBER

 

La notation musicale fait face à de nombreux défis posés par la création contemporaine. Les musiques spatialisées, les nouveaux instruments, les partitions interactives et temps-réel sont parmi les nouveaux domaines couramment explorés par les artistes. La notation musicale conventionnelle ne couvre pas les besoins de ces nouvelles formes musicales et de nombreuses recherches et approches ont récemment émergé, témoignant d’une certaine maturité des outils informatiques pour la notation et la représentation de la musique. Les problèmes posés par la spatialisation de la musique [1], par l’écriture pour de nouveaux instruments [2] ou de nouvelles interfaces [3] (pour n’en citer que quelques - uns), sont maintenant le sujet de recherches actives et de propositions originales. Les musiques interactives et les partitions temps-réel représentent également un domaine en pleine expansion dans le champ de la création musicale. Les partitions numériques et la maturation des outils informatiques pour la notation et la représentation de la musique constituent les fondements du développement de ces formes musicales, souvent basées sur des représentations non traditionnelles de la musique [4, 5] sans toutefois occulter son usage [6, 7].

Le projet INScore
Le projet INScore, développé depuis plus d'une dizaine d'années par le laboratoire de recherche de GRAME-CNCM, a pour ambition d'adresser ces problématiques émergentes. INScore est un environnement pour la conception de partitions augmentées, dynamiques et interactives [8, 9], résultat de nombreux travaux de recherche qui traitent notamment de :

- l'extension de la notation musicale à des objets graphiques arbitraires,
- la synchronisation temporelle dans l'espace graphique,
- la notation dynamique et interactive,
- la représentation de l'interprétation,
- l'extension de la partition à des dimensions réseau

La conception d'une partition est basée sur un langage de script spécifique et, de ce fait, ces travaux adressent également le domaine des langages de programmation pour la description de la musique.

Des partitions *étendues*
L'environnement INScore est basé sur la notation symbolique et s'appuie sur le projet Guido (également développé à GRAME) : un moteur de rendu de partition en notation traditionnelle qui s'inscrit dans la lignée des outils de compilation de partition musicale. Ce moteur prend une description textuelle de la musique en entrée pour en produire une représentation graphique. Cette description textuelle est au format GMN (Guido Music Notation language), largement inspiré des langages de balisage et notamment de LaTex. Si l'approche textuelle de la notation musicale nécessite l'apprentissage de ce langage (un investissement pas nécessairement plus important que l'apprentissage d'un logiciel de gravure musicale), elle présente l'énorme avantage de pouvoir être calculée de manière algorithmique. De plus, l'efficacité du moteur Guido permet de calculer des partitions en temps-réel, concourant ainsi aux aspects dynamiques développés dans INScore. Ces capacités du moteur Guido peuvent être expérimentées avec son éditeur en ligne.
INScore permet d'étendre la notation symbolique, voire de la remplacer, avec des objets graphiques arbitraires : des images, du texte, du dessin vectoriel, de la vidéo. Tous ces objets, y compris la notation symbolique, ont le même statut d'objet musical et ont notamment une dimension temporelle identique (i.e. une date, une durée et un tempo). Cette absence de hiérarchie permet de synchroniser ces objets dans des combinaisons arbitraires.

Représenter le temps d'objets hétérogènes
Si le temps de la notation traditionnelle est explicite dans le symbolisme de la notation elle même, il n'en va pas de même pour les objets graphique qui étendent la représentation de la musique. INScore met à profit la dimension temporelle homogène des objets de la partition pour fournir un système de *synchronisation temporelle dans l'espace graphique*, qui permet de représenter les relations temporelles entre ces objets. Si l'on imagine que chaque pixel d'un objet est porteur d'une date - la date de l'objet + l'interpolation de la position de ce pixel sur sa durée - le système de synchronisation permet potentiellement d'aligner graphiquement tous les pixels de deux ou plusieurs objets, portant la même date. La conception d'un curseur se positionnant à la date courante d'une partition relève alors d'une simple commande de synchronisation. Mais avant tout, il devient alors possible de raisonner dans l'espace temporel et donc dans une métaphore proche de la pensée musicale, le moteur de rendu se chargeant automatiquement de *traduire* les dimensions temporelles dans l'espace graphique.

Des partitions dynamiques et interactives
La notion de **tempo** fait partie intégrante de la dimension temporelle des objets. Par défaut, ce tempo est à zéro : l'objet est immobile dans le temps. quand la valeur du tempo n'est pas nulle, l'objet se déplace alors dans le temps à la vitesse spécifié par son tempo. A noter que la valeur associée au tempo est signée : elle peut donc être négative, l'objet va alors *remonter* le temps. Associé au système de synchronisation, l'utilisation du tempo permet de créer des partitions dynamiques, dont la forme et le contenu peuvent évoluer dans le temps de manière autonome.
Un système d'interaction vient complémenter ces aspects dynamiques. Le temps d'une partition, conçu comme un temps musical, relatif à un tempo, peut également être *événementiel*, c'est-à-dire relatif à des événements non datés, qui peuvent être programmés de manière arbitraire. Parmi ces événements figurent ceux classiques des interfaces utilisateurs (comme les click de souris par exemple) mais également des événements *temporels*, dont l'occurence dépend du déroulement du temps. Chaque objet de la partition est donc capable de *surveiller* des événements arbitraires, y compris dans le domaine temporel : à chaque événement est associé un ensemble de messages qui seront émis à chaque occurence de l'événement. Ces messages, exprimés dans le langage de script d'INScore, permettent potentiellement de re-programmer tout ou partie de la partition.

Représenter l'interprétation musicale
Pouvoir associer une représentation de l'interprétation musicale à la partition correspondante ouvre des perspectives nouvelles, notamment dans le domaine de la pédagogie musicale [18]. Dans l'environnement d'INScore, l'interprétation musicale est vue comme un signal audio ou gestuel (i.e. provenant de capteurs gestuels). INScore fournit des objets *signaux* qui permettent de créer une grande variété de représentations de ces signaux en les combinant et en créant des *signaux graphiques* qui sont en fait l'assemblage de 6 signaux : le premier contrôlant la position en 'y', le second la hauteur du trait dessiné en 'y', les 4 autres déterminant la couleur selon le modèle HSBA.
La simple combinaison d'une analyse audio de la fréquence fondamentale et des valeurs RMS, permet de créer un courbe pouvant représenter à la fois la hauteur et les articulations du jeu du musicien. Un signal graphique étant un objet musical ayant le même statut que les autres, il possède donc une dimension temporelle qui permet par exemple de le synchroniser, et donc de le mettre en regard de la notation.

Les dimensions réseau de la partition
INScore a été initialement conçu pour être piloté par des messages Open Sound Control [OSC], dont le format est définit par un protocole de communication réseau adapté au temps réel et couramment utilisé par les applications musicales pour des besoins de contrôle et/ou d'échange de données. L'environnement INScore est de ce fait particulièrement adapté aux réseaux et l'échange de messages entre partitions INScore peut se faire de manière native. Cela permet d'utiliser par exemple et de manière simple (avec une commande de *réexpédition*), une partition pour piloter un ensemble de partitions réparties sur un réseau local, ou encore de construire un système musical distribué sur un modèle client/serveur [19].
Une partition peut également embarquer un serveur web, la rendant ainsi accessible depuis internet et permettant également son pilotage depuis un navigateur. A l'inverse, les objets d'une partition peuvent faire référence à des ressources distribuées sur Internet, de manière similaire à un navigateur qui peut agglomérer des contenus provenant de différents sites Web.
Enfin, une version en ligne de l'environnement INScore est désormais disponible, permettant de s'affranchir des particularités des systèmes d'exploitation et de le rendre disponible sur toutes les plates-formes, sans installation.

Le langage de script d'INScore
Une partition INScore est décrite dans un langage de script spécifique. Ce langage est constitué d'une forme textuelle des messages OSC, étendue avec des notions de variables, des primitives de contrôle, ainsi que des primitives de composition de partitions symboliques. Le script suivant permet de décrire la partition ci-dessous de manière très concise :

/ITL/scene/title set txt "This is my first score !";
/ITL/scene/title scale 3;
/ITL/scene/title y -0.6;
/ITL/scene/title fontFamily Zapfino;

/ITL/scene/frame set rect 1.5 0.5;
/ITL/scene/frame color 230 230 230;

/ITL/scene/score set gmn '[ \meter<"4/4"> \key<-1> a f g c c g a f ]';
/ITL/scene/score scale 0.6;


Dans les faits, ce script mélange deux langages : le langage INScore dont la forme générale est `/adresse paramètres...`, et le langage Guido qui est utilisé pour spécifier le contenu de l'élément `score`.

Futures directions
Le projet INScore est alimenté par un flot continu de problématiques qui concernent la notation et la représentation de la musique. Dans un contexte de rapides évolutions technologiques, de nouveaux usages apparaissent et soulèvent de nouvelles question pour la notation musicale. Le développement de systèmes distants et distribués, où la partition obtiendrai le statut d'outil collaboratif, fait partie de ces nouvelles perspectives. Toutefois des problématiques plus anciennes restent encore à explorer, telles que, par exemple, la représentation de l'espace pour les musiques spatialisées ou de manière plus cruciale, la préservation de la partition numérique.

Ressources
Le projet INScore : https://inscore.grame.fr
Le projet Guido : https://guido.grame.fr
Documentation INScore : https://inscoredoc.grame.fr
Documentation Guido : https://guidodoc.grame.fr
L'éditeur en ligne INScore : https://inscoreweb.grame.fr
L'éditeur en ligne Guido : https://guidoeditor.grame.fr
Publications relatives au projet INScore.

-----------

Références

~~~~~~~~~~~~~
[1] E. Ellberger, G. Toro-Perez, J. Schuett, L. Cavaliero, and G. Zoia,
“A paradigm for scoring spatialization notation.”
in Proceedings of the First International Conference on Technologies for Music Notation and Representation - TENOR2015 (Paris, France),
pp. 98–102, Institut de Recherche en Musicologie, 2015.
[2] T. Mays and F. Faber,
“A notation system for the karlax controller,”
in Proceedings of the International Conference on New Interfaces for Musical Expression, (London, United Kingdom),
pp. 553–556, Goldsmiths, University of London, June 2014.
[3] W. Enström, J. Dennis, B. Lynch, and K. Schlei,
“Musical notation for multi-touch interfaces,”
in Proceedings of the International Conference on New Interfaces for Musical Expression,
pp. 83–86, Louisiana State University, May 31 – June 3 2015.
[4] R.R.Smith,
“Anatomic approach to animated music notation,”
in Proceedings of the First International Conference on Technologies for Music Notation and Representation - TENOR2015 (Paris, France),
pp. 39–47, Institut de Recherche en Musicologie, 2015.
[5] C. Hope, L. Vickery, A. Wyatt, and S. James,
“The decibel scoreplayer - a digital tool for reading graphic notation,”
in Proceedings of the First International Conference on Technologies for Music Notation and Representation - TENOR2015 (Paris, France),
pp. 58–69, Institut de Recherche en Musicologie, 2015.
[6] R. Hoadley,
“Calder’s violin : Real-time notation and performance through musically expressive algorithms,”
in Proceedings of International Computer Music Conference (ICMA, ed.), pp. 188–193, 2012.
[7] R. Hoadley,
“December variation (on a theme by earle brown),”
in Proceedings of the ICMC/SMC 2014, pp. 115–120, 2014.
[8] D. Fober, Y. Orlarey, and S. Letz,
“Inscore – an environment for the design of live music scores,”
in Proceedings of the Linux Audio Conference – LAC 2012, pp. 47–54, 2012.
[9] D. Fober, Y. Orlarey, and S. Letz,
“Augmented interactive scores for music creation,”
in Proceedings of Korean Electro-Acoustic Music Society’s 2014 Annual Conference [KEAMSAC2014], pp. 85–91, 2014.
[10] D. Fober, S. Letz, Y. Orlarey, and F. Bevilacqua,
“Programming interactive music scores with INScore,”
in Proceedings of the Sound and Music Computing conference – SMC’13, pp. 185–190, 2013.
[11] D.Fober,Y.Orlarey,andS.Letz,
“Representation of musical computer processes,”
in Proceedings of the ICMC/SMC 2014, pp. 1604–1609, 2014.
[12] A. Agostini and D. Ghisi,
“Bach : An environment for computer-aided composition in max,”
in Proceedings of International Computer Music Conference (ICMA, ed.), pp. 373–378, 2012.
[13] N. Didkovsky and G. Hajdu,
“Maxscore : Music notation in max/msp,”
in Proceedings of International Computer Music Conference (ICMA, ed.), 2008.
[14] P. Hudak, T. Makucevich, S. Gadde, and B. Whong,
“Haskore music notation – an algebra of music,”
Journal of Functional Programming, vol. 6, pp. 465–483, May 1996.
[15] S. W. Lee and J. Freeman,
“Real-time music notation in mixed laptop-acoustic ensembles,”
Computer Music Journal, vol. 37, pp. 24–36, Dec. 2013.
[16] D. Fober, Y. Orlarey, and S. Letz,
“Scores level composition based on the guido music notation,”
in Proceedings of the International Computer Music Conference (ICMA, ed.), pp. 383–386, 2012.
[17] H. Hoos, K. Hamel, K. Renz, and J. Kilian,
“The GUIDO Music Notation Format - a Novel Approach for Adequately Representing Score-level Music.,”
in Proceedings of the International Computer Music Conference, pp. 451–454, ICMA, 1998.
[18] D. Fober, S. Letz, and Y. Orlarey.
"Vemus - feedback and groupware technologies for music instrument learning."
In Proceedings of the 4th Sound and Music Computing Conference SMC’07 - Lefkada, Greece, pages 117–123, 2007.
[19] S. Zagorac and P. Alessandrini.
"Zscore: A distributed system for integrated mixed music composition and performance."
In Proceedings of the International Conference on Technologies for Music Notation and Representation – TENOR’18, pages 62–70, Montreal, Canada, 2018. Concordia University.
~~~~~~~~~~~~~

 



 

Dominique FOBER

 

© L'ÉDUCATION MUSICALE 2020