Page  00000001 JMAX: DEMONSTRATION OF AN INTEGRATED ENVIRONMENT FOR REAL TIME MUSICAL APPLICATIONS D6chelle, Francois, Borghesi, Riccardo, De Cecco, Maurizio, Maggi, Enzo, Rovan, Butch, Schnell, Norbert, IRCAM - 1 place Stravinsky - 75004 PARIS - France Abstract In this paper we demonstrate the use of jMax, the new editing and control system for Ircam's real-time musical applications. We detail its architecture, and present in application the different components of the system, including the scripting and control panel building facilities. Finally, we demonstrate some musical applications. 1 - Introduction jMax is the latest generation of the programming and runtime environment developed and used at Ircam for realtime audio and signal processing. This demonstration will show the system in application. 2 - Architecture The architecture of the jMax environment is presented in (D6chelle et al., 1998a; D6chelle et al., 1998b). This flexible and multi-platform environment is client/server based, relying on a separate graphical user interface, fully JAVA written, and a real-time computation engine (D6chelle & De Cecco, 1995). The current platforms supporting jMax range from a PC running Linux or a Macintosh running Rhapsody, to Silicon Graphics and Sun workstations and servers (IRCAM, 1998). 3 - Patch editor The jMax patch editor will be shown, stressing new features that enhance graphical programming. 4 - Scripting The use of scripting for patch programming in jMax is demonstrated via multiple examples as an alternative to graphical interaction.. The creation of control panels based on Java Beans components is also demonstrated. For patch programming, TCL procedures can be used to instantiate a bank of objects, as in this example: filterBank 77 88 {100, 200, 400, 800, 1600, 3200, 6400, 12800} The script "filterBank" invoked in this way instantiates a bank of 7 band pass filters as well as a low- and highshelf filter with the given edge frequencies, starting at the screen position (77, 88). Other example scripts are shown which assist in the formatting of graphical patches. 5 - Control panels jMax integrates a scripting language which allows Java classes to be accessed and executed dynamically from scripts. The current scripting language is Jacl, a Java implementation of Tcl (Ousterhout, 1994; Ousterhout, 1997; Stanton, 1998). This is especially interesting, taking advantage of the easy-to-use graphic facilities of Java to build graphic windows containing controllers and data editing widgets connected to a jMax patch. Currently these controllers (sliders, buttons, menus,...) are bidirectionally connected to a generic jMax parameter object by a unique name. The state of the parameter object is mirrored by the graphic widget and a graphical user interaction is propagated via the parameter object to the jMax application on the server side. The Java Beans standard constitutes a powerful convention to easily integrate graphical controllers of different origins to jMax, without any additional adaptation to the environment.

Page  00000002 A first prototype package included with jMax provides wrappers around the needed Java calls to define and integrate automatically-formatted control panels with a few lines of scripting code. The demonstration shows the procedure of dynamically creating control panels using this package. 6 - Applications Some example applications are shown using the components already listed. As an example of score recognition, an extract of the piece 'En Echo" for soprano and electronics by Philippe Manoury is presented. Since this patch is written for Max 0.26 running on the IrcaLm Musical Workstation (Lindemann et al., 1991), the full compatibility of jMax with older versions of Max is demonstrated. Among other examples, the synthesis of an extended wind instrument is presented using the ESCHER library (Rovan et al., 1997) based on additive synthesis using the FFT-1 algorithm (Rodet & Depale, 1992; Freed et al., 1993). Finally, a demonstration of the Spatialisateur (Jot & Warusfel, 1995), a multi-channel spaLtialization and room effects application, is given, also showing the use of control panels based on Java Beans. Summary In this demonstration we presented the jMax environment for real-time applications. The different components of the system and the scripting language facility were demonstrated in application. Musical applications using jMax were presented. References Freed, A., X Rodet, and P. Depalle. 1993. Synthesis and control of Hundred's of Sinusoidal Partials on a Desktop Comnputer without Custom Hardware. In Proceedings of the 1993 International Computer Music Conference. Tokyo: International Computer Music Association. IRCAM. 1 99 8. jl~ax hzome page. http://wwwwirrcam~fr/j max Jot, J.-M., and 0. War1usfel. 1995. A Real-Time Sp7atial Sound Processor for Music and' Virtual Reality Applications. In Proceedings of the 1995 International Computer Music Conference. Banff: International Computer Music Association. Lindemann, E., F. D~chelle, M. Starkier, and B. Smith. 1991. Thle Archzitecture of the IRCAM~ Musical Workstation. Computer Music Journal 15(3): 41-50. Ousterhout, J. 1994. Tcl and the Tk Toolkit. Addison-Wesley. 1994. Ousterhout, J. 1997. Scripting: Higher Level Programming for the 21st Century. http://www.sunlabs. com/people/j ohn. ousterhout/scripting.html Rodet, X., and P. Depalle. 1992. Spectral Envelopes and Inverse FFT Synthesis. Proceedings 93rd AES Convention. San Francisco, AES, New York, October 1992 Rovan, J. B., M. M. Wanderley, S. Dubnov, and P. Depalle. 1997. Inzstrumnental Gestural Mapping Strategies as Exp~ressivity Determinants in Comp~uter Music Performance. KANSEI - The Technology of Emotion, Oct 1997. Stanton, 5. 1998. TclBlend: Blending Tcl and Java. Dr. Dobb's Journal, pp. 50-54, Feb. 1998.