2
JM AX: DEMONSTRATION OF AN INTEGRATED ENVIRONMENT FOR REAL TIME MUSICAL APPLICATIONS Déchelle, Francois, [email protected] Borghesi, Riccardo, [email protected] De Cecco, Maurizio, [email protected] Maggi, Enzo, [email protected] Rovan, Butch, [email protected] Schnell, 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 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 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 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 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 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.

j-max

  • Upload
    ipires

  • View
    219

  • Download
    2

Embed Size (px)

DESCRIPTION

j-max

Citation preview

Page 1: j-max

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.

Page 2: j-max

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.