Page  00000001 NeXTSTEP Graphical Interfaces to Control Sound Processing and Spatialization Instruments To dor To doroff - t odor emusi Caroline Traube - carolineemusique.fpms Jean-Marc Ledent - Laboratoire d'Informatique Musicale, Faculfti Polytechnique de Mons, Belgium Abstract This paper presertts the rtew graphical user irtterfaces we have developed to help computer music composers to irtteract with the computer. These irtterfaces allow to corttrol sourtd irtstrumertts both irt the FTS Cliertt/Server architecture artd through MIDI. We presertt more ill detail a movemertt gerterator irtterface that is specially useful for sourtd spatializatiort. We also describe how we irttegrate these graphical irtterfaces ill a more global ertvirortmertt from which the user may both laurtch applicatiorts artd establish cortrectiorts betweert them. 1 Intro duct ion The graphical irtterfaces are programmed ort the Ircam Musical Workstatiort (computer NeXT + orte to three JSPW-16 cards). Its operatirtg system is the object-oriertted artd graphical ertvirortmertt called NeXTSTEP ill which we realize graphical irtterfaces thartks to developmertt tools such as Jrtterface Builder artd Project Builder. The real-time sourtd processirtg ertvirortmertt called FTS, rurtrirtg ort the JSPW-16 card, is able to commurticate with the NeXTSTEP applicatiorts through its cliertt-server architecture or through MIDI. Actually, each applicatiort is able to sertd artd receive MIDI messages through a MIDI irtterface cortrected to the NeXT serial irtterface. Irt that way, our NeXTSTEP graphical irtterfaces cart commurticate with arty MIDI device (keyboards, faders boxes, syrtthesizers, samplers,...) as well as with old MAX 0.26 patches rurrirtg ort a JSPW-16 card. Cortrectiorts betweert the computer artd differertt MIDI devices are illustrated ort Figure 1. We are plartrirtg to port the graphical irtterfaces ort the future Macirttosh OS, called Rhapsody. It will be easy thartks to the irttegratiort of the OpertStep cortcepts artd tools irt the future operatirtg system. This is the rtew strategy of Apple sirtce the buyirtg of NeXT Software artd the returrt of Steve Jobs irtto the comparty. We are developirtg these software tools for computer music composers withirt the framework of a project firtartced by the R~giort Wallortre irt Belgium. 2 The Trajectories Generator 2.1 G en eralit ies This irtterface is developed urtder real time objectoriertted cortcepts. It cortstitutes a graphical tool to defirte threedimertsiortal trajectories, irtdepertderttly of the spatializatiort system. As showrt ort Figure 2, the composer cart choose predefirted trajectories (simple shapes like circle, square, spiral,...) artd laurtch them by simply clickirtg ort the corresportdirtg buttorts or defirte his owrt 3D trajectories with the mouse or with a data glove. The 3D trajectory is defirted with the mouse (or other 2D corttrollers) irt two steps. The user first draws the horizorttal projectiort of the trajectory (left view, irt the X-Y plart) thert he defirtes the z furtctiort the altitude curve thartks to the table editor (upper view). The view ort the right shows the resultirtg movemertt irt space. The trajectory is erttered irt ortly orte step with the data glove. 2.2 Edition of the trajectories From orte particular trajectory, several other trajectories formirtg a class cart be derived thartks to differertt

Page  00000002 Figure 2: MovelnSpace, a trajectories generator transformation methods: translation, scaling, speed modification, moving, adding or removing points,... These trajectories are saved by pressing the record button and are played back by pressing the forward or backward play buttons. During the saving process, an icon representing the trajectory is created. A set of classical commands buttons - Stop, Play, Pause, Return To Zero, Loop - is also available. 2.3 Correlation between trajectory and sound morphological parameters It is moreover possible to correlate the spatial movement with parameters of the sound (e.g.: frequency, amplitude, filter parameter,...). The user may use the upper view to define other functions, in the same way he defines the altitude curve. The composer can explore the resources of spatio-morphological transformations, correlating other sound processing, like filtering,... sound spatialization to pitch shifting, dynamic As a matter of fact, MoveInSpace becomes a general multi-purpose controller. It allows to simultaneously control the dynamic evolution of a large set of parameters and can be useful to pilot sound processing programs that require the definition of many parameters. Since the application is able to send and receive MIDI messages, a keyboard can be used to launch the trajectories. A special interface has been designed to associate a key with a trajectory number. Furthermore MoveInSpace could efficiently assist the composer to visualize and modify the parameters of a MIDI sequencer, using its SMPTE and/or MTC synchronization facilities.

Page  00000003 Figure 4) [2] [3] [4]............ l i l RS423 NeXT card NeXTSTEP.. NeXT Cube Interface MIDI (Studio 3) IN OUT IN OUT RS422 1 2 3 RS422 4 5 6 MODEM;ya____PRINTER _____ Figure 3: Interpolation Spheres Merge Box 1 2 3 4............... 1 J DataGlove. SensorLab....... i.. Interface Figure 1: Connections between the computer and other devices 2.4 Room and Loudspeakers Specifications Different parameters concerning the room where the sound is spatialized are easily specified and visually controlled by the user, such as the real and the virtual dimensions of the room, the number, the position and the size of the loudspeakers. 2.5 Interpolation We also introduced the interpolation concepts in this interface (see Figure 3). The user may place and size interpolation spheres in space. Each sphere represents a set of parameters and a resulting set is calculated by interpolation, depending on the position of the point moving in this space. Actually, this is the extension of the application Interpolation 2D (see 2.6 Spatialization systems We are testing this tool on different spatialization systems: on an acousmonium controlled by VCA (through MIDI), on a quadraphonic spatialization system and on the Ircam's Spatialisateur. We will use this interface to spatialize the music for an open air theatre play this summer. It will be done by MIDI controlling two Yamaha 03D Mixing Desks configured as matrices using the four Aux. sends and the four Subgroups. 3 The Interfaces Manager The final goal of developing a set of GUIs is to constitute a palette of multiple-purpose and dedicated interfaces from which the composer can choose the ones that best suit the sound processing tools he wants to use. This palette can be seen as a toolbox integrating each single interface's functionality, allowing the composer to create his personal environment by combining the interfaces respective features in powerful and rich interactions, giving free play to his imagination and creativity. Therefore we developed an Interfaces Manager application, providing the composer with a tool to define interactions between the applications he is using. The Interfaces Manager application allows to launch several instances of the same application,

Page  00000004 4 Conclusions Siiiig lijjj.^ii *.. Since a clear and intuitive graphical user interface determines the efficiency of the creative work, we dedicate an important part of our work to the development of graphical user interfaces in order to ease the interaction between the computer and the artist, the composer. We integrated our graphical interfaces in an environment that both permits to launch them easily and to establish connections between them, as well as with the sound processing equipment. This palette proposes, among others, the MoveInSpace application that constitutes an efficient graphical tool to easily control spatialization instruments or, in general, any sound processing program that requires the simultaneous definition of many parameters. For the moment, the interfaces presented here are available on NeXT computer and on stations running the OpenStep OS (Sun, PC,...). In the future, they will be available on Macintosh computers thanks to the integration of the OpenStep concepts and tools into the Mac OS Rhapsody. References [1] Dechelle, F. and M. De Cecco 1995. "The Ircam Real-Time Platform and Applications", Proc. ICMC, Banff, pp. 77-83. [2] Terrugi, D. 1991. Manuel du stage SYTER, INAGRM. [3] Todoroff, T. and C. Traube 1996. "Graphical NeXTSTEP Objects as FTS Clients to Control Instruments in the new FTS Client/Server Architecture", Proc. ICMC, Hong Kong, pp. 28-31. [4] Todoroff, T. and C. Traube 1996b. "Interfaces graphiques NeXTSTEP pour la commande d'instruments virtuels d'aide a la composition et a l'interpretation de Musique Electroacoustique", Troisiemes Journees d'Informatique Musicale JIM96, Ile de Tatihou, France, pp. 98-102. [5] Todoroff, T., C. Traube, and J.-M. Ledent 1997. "Interfaces graphiques pour la commande d'outils de transformations sonores", Quatriemes Journres d'Informatique Musicale JIM97. Figure 4: The Interfaces Manager according to the composer's needs, and to set up asynchronous connections between applications parameters. The connections are set up and closed using a window presenting two two-columns browsers (see Figure 4): on the left side, the browser for sending interfaces and their output parameters and, on the right side, the browser for receiving interfaces and their input parameters. The user can also select scaling and offset factors to customize the conversion of an output value to the input parameter value. Example of connections between two applications: the composer launches a random sequencing application based on Markov chains (see Figure 4), he then launches the MoveInSpace application and finally uses the Interfaces Manager to link each state of the Markov application with one particular trajectory. Each time the Markov sequencer reaches a new state, it triggers the corresponding trajectory. Note that the Interfaces Manager as well as the integrated graphical interfaces are independent executable softwares. This structure cares for maximum modularity and flexibility by minimizing the interdependencie between all the collaborating applications.