OpenMusic Architecture

Gérard Assayag, Ircam, 1 Place Stravinsky, F-75004 Paris, assayag@ircam.fr

Carlos Agon, Ircam, 1 Place Stravinsky, F-75004 Paris, agonc@ircam.fr

Abstract

This paper introduces OpenMusic, a starting projet in the "Music Representations" team at Ircam. OpenMusic is a musical object framework based on the compound document paradigm.

The IRCAM research group on Music Representations and Computer Assisted Composition has developed and maintained for several years the PatchWork visual programming environment for composers. This environment is widely used by European composers. Several new extensions of PatchWork's visual scheme have been presented at last year's ICMC. But the size and complexity of PatchWork have grown significantly upto a state where new strategies have to be considered if we are to maintain a high quality offer while trying to stay close to the cutting edge in software technology on personal computers.

Our proposal, called OpenMusic Architecture, is based on the idea of compound musical documents where active components, coming from different sources (e.g. Max, PatchWork, synthesis packages etc.), and submitted to different musical paradigms, may harmoniously co-exist.

We are seriously considering the possibility to base this architecture on Apple's OpenDoc environment.

Opendoc is itself based on SOM, the IBM implementation of the CORBA specification. CORBA is an open distributed object infrastructure, where software components may live and interoperate through an "object bus", independantly from the programming language or the operating system used

The basic user interaction in OpenDoc is done through container documents where heterogeneous parts (editable, scriptable and embeddable objects) are living. Among other things, Opendoc provides with structured persistent storage, communication links between parts, and a dynamic, binary compatible scheme for subclassing and adding methods to existing parts.

The OpenMusic framework will be derived from the OpenDoc framework by constructing two specialized containers (time-based and abstract containers), by implementing a collection of music related part editors, by providing a Quicktime related part, named "time ruler", that will act as a conductor for other musical parts, and by deriving a specialized sub-protocol from OpenDoc's protocols for linking, messaging and scripting.

Time-based containers are visual documents where the horizontal axis symbolizes time. They always contain a time ruler part. The position and horizontal extent of musical parts define precisely the portion of time they fill. Embedded parts have a local time offset with regards to the enclosing part. They are moved along with the enclosing part. Musical parts may be real time (e.g. a Max part, an audio file, a MIDI file) or non real time (e.g. a PatchWork patch, a Csound score, a music notation document).

Abstract containers store parts that retain or compute abstract musical information not constrained by a time line (e.g. sets of musical objects, analysis data, set of parameters, functions). These parts may be PatchWork constructs as well as standard text processing or spreadsheet parts. Data from abstract parts feed time-based parts through dynamic links or user interaction (drag/drop, copy/paste).

Any program that computes, edits, and plays musical or sound structures can fit into an OpenMusic container providing that it is made an OpenDoc part and it accepts to react to a specified set of basic messages. These messages will allow OpenMusic to start a sequence, stop it, send or extract streams of data packaged in different flavours (MIDI, samples, analysis data, score,etc.). The basic mechanisms in OpenDoc will then make the data interchange process transparent whether it is performed through a copy/paste, a drag/drop, a dynamic link or a save operation.

We approach the OpenMusic project as an attempt to integrate and consolidate the knowledge gathered through the use and the design of several musical softwares at IRCAM, and as a way to keep these in tune with recent software technologies.

Furthermore, we consider the planned extension of Opendoc towards cross-network operation as an opportunity to move gradually to fully distributed architectures.

Opendoc, Quicktime are trademarks of Apple Comp. Inc.

SOM is trademark of IBM.

PatchWork 2.5 developped by Laurson, Duthen, Rueda, Agon, Assayag.

References

[Assayag & al 93] Assayag G., Rueda C. "The Music Representation Project at IRCAM." Proceedings of the ICMC 93, Tokyo, 1993.

[Assayag 95] Assayag G., "Visual Program-ming in Music." Proceedings of the ICMC 96, Banff, 1996.

[Laurson & al 90] Laurson, M. Duthen, J. "A compositional environment based on Preform II, PatchWork and Esquisse." Proceedings of the ICMC 1990. Glasgow 1990.

[Orfali & al 1996] Orfali, R. Harkey, D. Edwards, J. "The Essential Distributed Objects Survival Guide" J. Wiley & sons, 1996.

Figure 1. A compound OpenMusic document.