Upload
ipires
View
219
Download
2
Embed Size (px)
DESCRIPTION
j-max
Citation preview
JMAX: DEMONSTRATION OF AN INTEGRATED ENVIRONMENT FOR REAL TIMEMUSICAL APPLICATIONS
Déchelle, Francois, [email protected], Riccardo, [email protected] Cecco, Maurizio, [email protected], Enzo, [email protected], Butch, [email protected], Norbert, [email protected]
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 musicalapplications. 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 real-time audio and signal processing. This demonstration will show the system in application.
2 - Architecture
The architecture of the jMax environment is presented in (Déchelle et al., 1998a; Déchelle 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 (Déchelle & De Cecco, 1995). The current platformssupporting jMax range from a PC running Linux or a Macintosh running Rhapsody, to Silicon Graphics andSun 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 tographical 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 high-shelf 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 fromscripts. 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 Javato build graphic windows containing controllers and data editing widgets connected to a jMax patch. Currentlythese controllers (sliders, buttons, menus, ...) are bidirectionally connected to a generic jMax parameter object bya unique name. The state of the parameter object is mirrored by the graphic widget and a graphical userinteraction 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 differentorigins 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 andintegrate 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 PhilippeManoury 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 roomeffects 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 componentsof the system and the scripting language facility were demonstrated in application. Musical applications usingjMax were presented.
References
Freed, A., X Rodet, and P. Depalle. 1993. Synthesis and control of Hundreds of Sinusoidal Partials on a DesktopComputer 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 RealityApplications. In Proceedings of the 1995 International Computer Music Conference. Banff: InternationalComputer Music Association.
Lindemann, E., F. Déchelle, M. Starkier, and B. Smith. 1991. The Architecture of the IRCAM MusicalWorkstation. 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 AESConvention. San Francisco, AES, New York, October 1992
Rovan, J. B., M. M. Wanderley, S. Dubnov, and P. Depalle. 1997. Instrumental Gestural Mapping Strategies asExpressivity 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.