Interfaces graphiques NeXTSTEP pour la commande d'instruments virtuels d'aide à la composition et à l'interprétation de musique électroacoustique.

Caroline Traube, Faculté Polytechnique de Mons, 9 rue de Houdain 7000 Mons - Belgique,

caroline@musique.fpms.ac.be

Todor Todoroff, Faculté Polytechnique de Mons et Conservatoire Royal de Musique de Mons, 7 rue de Nimy 7000 Mons - Belgique, todor@musique.fpms.ac.be

Résumé : Cet article présente différentes interfaces graphiques développées dans l'environnement orienté-objet NeXTSTEP pour la visualisation et la commande d'outils d'aide à la composition (programmes de traitement du son) et à l'interprétation (programmes de spatialisation) de musique électroacoustique. .

1. Introduction

Les applications présentées ci-dessous sont développées à la Faculté Polytechnique de Mons, au laboratoire d'informatique musicale, en collaboration avec le Conservatoire Royal de Musique de Mons. Le développement des interfaces est réalisé sur la Station d'Informatique Musicale de l'IRCAM, composée d'un ordinateur NeXT et de une à trois cartes ISPW-16. Sur cette station tourne l'environnement graphique orienté-objet NEXTSTEP dans lequel sont développés les objets graphiques. Sur la carte ISPW-16 est installé le système FTS (Faster Than Sound), structure des applications temps réel de l'IRCAM qui fournit le support pour le traitement des événements musicaux. La nouvelle version que nous allons exploiter est basée sur une architecture client/serveur. Sa structure interne a une organisation modulaire et configurable, convenant à une gamme importante d'applications.

2. Philosophie du développement des interfaces

Les outils graphiques sont développés avec un perpétuel souci de convivialité. C'est dans cette optique que l'environnement NeXTSTEP a été choisi pour la qualité de son graphisme, son caractère modulaire, multitâche, et pour toutes les facilités associées au concept de la programmation orientée objet.

3. Outils graphiques de gestion des données d'un " data glove "

Le laboratoire oriente notamment ses recherches dans le développement d'interfaces compositeur-ordinateur. En particulier, nous travaillons à l'utilisation de l'interface gestuelle que constitue le gant de données (data glove). Ce gant offre la possibilité de fixer simultanément et de manière directe un grand nombre de paramètres pour le traitement de signaux musicaux. Dans les lignes qui suivent, nous décrirons succinctement le fonctionnement de cette interface gestuelle ainsi que les applications informatiques développées dans le but de rendre son utilisation conviviale.

3.1. Système de localisation du gant dans l'espace

Le gant est muni d'émetteurs d'ultrasons qui permettent de le localiser grâce à trois capteurs. Pratiquement, les deux émetteurs situés sur le dos de la main génèrent des impulsions ultrasonores à 40 kHz qui sont ensuite captées par trois récepteurs disposés en triangle à quelques mètres du gant.

La mesure du temps séparant l'émission et la réception des impulsions est une image de la distance entre le l'émetteur et le récepteur. Par triangulation, la position du gant est alors déterminée.

3.2. Senseurs de flexion

Ce gant est également muni de senseurs de flexion des doigts, dont quatre seulement sont reconnus (pouce, index, majeur et annulaire), pour des raisons évidentes de manipulation. Les senseurs de flexion sont des résistances variables planes placées sur le dos des phalanges. Leur valeur est fonction de leur étirement. Ces senseurs ne sont sensibles à la flexion que dans une direction seulement.

3.3. L'interface Sensorlab

Le SensorLab est un dispositif qui convertit les signaux du monde réel en des messages numériques MIDI. Pour effectuer cette conversion, le SensorLab est équipé pour traiter différents types d'entrées et de sorties. Dans le cadre de l'utilisation du gant de données, les entrées analogiques et le système de mesures à distance d'ultrasons seront utilisés.

3.4. Communications [ gant de données ] - [ station ]

Les signaux provenant des senseurs de flexion et des capteurs d'ultrasons, une fois convertis en signaux MIDI, sont transmis à la carte ISPW-16 via le port série MIDI de celle-ci. Le système FTS, d'une part, assure le traitement du son en temps réel et d'autre part, transmet les signaux vers l'environnement NeXTSTEP dans lequel sont développées les interfaces graphiques. Cette configuration est possible grâce à la nouvelle version du système FTS basée sur une architecture client/serveur, qui permet, à présent, des communications bidirectionnelles.

3.5. Visualisation des paramètres fixés par le gant

Les deux applications dont les fenêtres de travail sont représentées à la page suivante, permettent un contrôle visuel des paramètres fixés par le gant de données : sa position dans l'espace et l'état de flexion des doigts. L'environnement multitâches offre la possibilité de faire fonctionner ces applications conjointement avec d'autres applications de commande.

Dans la prochaine version de l'application visualisant l'intensité de la flexion, différentes lois pourront être affectées à chacun des doigts, pour ainsi modifier la dynamique et la sensibilité de l'interface.

La prochaine version de l'application visualisant la position du gant dans l'espace permettra l'enregistrement de la trajectoire décrite par l'utilisateur et sa réédition.

4. Outil graphique d'interpolation

Cette application a été créée pour remédier à la limitation d'un système de paramétrage constitué d'une série de potentiomètres dont on modifie la valeur courante à l'aide la souris. Ce mode de paramétrage allonge considérablement le temps de création d'un son électroacoustique et peut conduire à un découragement du compositeur dans sa recherche de nouveaux sons, de nouveaux effets.

Nous nous sommes inspirés de l'outil " Ecran Interpolation " renseigné au cours du stage SYTER organisé par l' INA GRM en septembre 1991.

Pour l'interpolation entre paramètres ou entre fonctions de transfert, la station ne disposait jusqu'alors que de l'outil NeXTSTEP appelé circ.app. L'application que nous proposons ici offre davantage de possibilités par rapport à circ.app : les boules ne doivent plus être placées sur un cercle, leur taille n'est plus fixe, la souris n'est plus le seul moyen de déplacer le point sous influence.

L'outil graphique d'interpolation que nous avons développé s'utilise de la manière suivante : dans un premier temps, l'utilisateur configure son espace des timbres. Les quatre boules ( représentant chacune un paramètre, une fonction de transfert de filtre, ... ) peuvent être déplacées, dilatées, rétrécies, activées ou désactivées. A la manière d'un système planétaire, ces boules vont exercer virtuellement une certaine attraction, une influence sur un point déterminé de l'espace, symbolisé à l'écran par un gant stylisé. Ce point sous influence peut alors être déplacé dans cet espace à l'aide de la souris, du gant de données ou d'un joystick (par l'intermédiaire de signaux MIDI), par un objet MAX/FTS ou par un autre objet NeXTSTEP. Le traitement du son (qui pourrait être, par exemple, une interpolation entre quatre fonctions de transfert de filtres) varie continûment et en temps réel. Le compositeur peut ainsi affiner le réglage des différents paramètres. La fenêtre de travail présente l'affichage des poids calculés suivant une loi de décroissance de l'influence des boules (1/R, 1/R[[twosuperior]],... ) choisie par l'utilisateur.

Une application du même type mais offrant un plus grand nombre de boules a également été développée.

5. Outil graphique de spatialisation

Une première utilisation de cette application est la spatialisation du son. Elle permet de commander, via les données de position, un programme de spatialisation (pondération des haut-parleurs, effets de réverbération, ...) tournant dans FTS, pour donner au son une primitive de mouvement telle que le cercle, le zigzag ou une autre forme géométrique. Le centre de la forme géométrique peut éventuellement être déplacé à l'aide du gant de données. La vitesse de rotation est réglable grâce à un curseur à l'écran, mais pour le réglage de ce paramètre, on peut aussi imaginer l'intervention du gant (par exemple, la flexion des doigts). La version de cette application pour des primitives de mouvement dans l'espace est en développement.

Une autre utilisation peut s'envisager en combinaison avec l'application précédente (l'outil d'interpolation). En effet, l'espace des timbres défini dans cette dernière application peut être parcouru suivant une des primitives de mouvement proposées par l'outil de spatialisation . 

6. Outil d'édition de tables

Cette application permet de définir une fonction de transfert par traçage à l'écran à l'aide de la souris. Le nombre de points est défini par l'utilisateur. La fonction se dessine en draguant la souris mais chaque point peut être réajusté précisément. Le bouton droit de la souris permet de désactiver les points. De cette manière, la fonction peut être constituée de segments de droite, ce qui est très pratique si l'on veut construire une fonction simple (filtre passe-bande, ...). Les points intermédiaires situés sur ses segments sont calculés automatiquement par le programme.

Par rapport à l'outil d'édition de tables proposé dans MAX, cette application est visuellement plus conviviale, permet une valeur minimale sur les axes différente de zéro et permet également l'utilisation de nombres à virgule flottante (et pas seulement d'entiers). De plus, le nombre de points se modifie très facilement par écriture du nombre désiré dans la zone correspondante. Avec l'outil MAX, il faut éditer les caractéristiques de la table en mode texte, modifier les valeurs, fermer et relancer l'objet d'édition de tables, ce qui alourdit l'utilisation de cet objet.

Comme exemple d'application, on peut penser à modification de l'allure d'une FFT (déplacement de formants, ...).

Références

[Garfinkel, Mahoney 1993] Simson L. Garfinkel, Michael K. Mahoney, NeXTSTEP programming - step1 : Object-Oriented Applications , TELOS.

[Dechelle, De Cecco 1995] François Dechelle, Maurizio De Cecco, The IRCAM Real-Time Platform And Applications, in ICMC Proceedings, 1995.

[Todoroff 1995] Todor Todoroff, Intrument de synthèse granulaire dans Max/FTS, in ISEA 95 Proceedings, Montréal, 6 pages.

[Mulder] Axel Mulder, Build a Better Powerglove, school of Kinesiology, in PCVR 16 pp 10-14. Stoughton, WI, USA : PCVR Magazine.

[Mágori 1994] Valentin Mágori, Ultrasonis Sensors: From Research to Applications, Siemens Review - R&D Special, spring 1994.

[Teruggi 1991], Daniel Teruggi, manuel du stage SYTER, INA - GRM, septembre 1991.

SensorLab Hardware manual (Rev. C) - Copyright 1992 STEIM Foundation, Amsterdam.