Vous êtes sur la page 1sur 2

J M AX : DEMONSTRATION OF AN INTEGRATED ENVIRONMENT FOR REAL TIME

MUSICAL APPLICATIONS
Dchelle, Francois, dechelle@ircam.fr
Borghesi, Riccardo, borghesi@ircam.fr
De Cecco, Maurizio, dececco@ircam.fr
Maggi, Enzo, maggi@ircam.fr
Rovan, Butch, rovan@ircam.fr
Schnell, Norbert, schnell@ircam.fr
IRCAM - 1 place Stravinsky - 75004 PARIS - France
Abstract
In this paper we demonstrate the use of jMax, the new editing and control system for Ircams 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 (Dchelle et al., 1998a; Dchelle 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 (Dchelle & 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.

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 Ircam 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 spatialization 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 Hundreds of Sinusoidal Partials on a Desktop
Computer without Custom Hardware. In Proceedings of the 1993 International Computer Music Conference.
Tokyo: International Computer Music Association.
IRCAM. 1998. jMax home page. http://www.ircam.fr/jmax
Jot, J.-M., and O. Warusfel. 1995. A Real-Time Spatial 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. Dchelle, M. Starkier, and B. Smith. 1991. The Architecture 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/john.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. Instrumental Gestural Mapping Strategies as
Expressivity Determinants in Computer Music Performance. KANSEI - The Technology of Emotion, Oct 1997.
Stanton, S. 1998. TclBlend: Blending Tcl and Java. Dr. Dobb's Journal, pp. 50-54, Feb. 1998.

Vous aimerez peut-être aussi