previous up next
3.1 Structural organization

A piece consists of a set temporal objects. Various approaches exist to organize these objects in time and to describe the relationships among them. Structural organization is essential for any multimedia system; without it, composition is impossible.

A first important distinction between several composition systems is the importance given to the specification of the precise start times or to the structural relations in the piece (Fig. 3.1). When a higher importance is given to precise timing, the relations between the objects have to be calculated. When a higher importance is given to the relations, the precise timing of the objects have to be calculated. Honing calls the first approach implicit structuring and the latter explicit structuring [Hon93].


 
Figure 3.1
 
Figure 3.1: Precise timing versus relations in composite time structures.

Precise timing is used by most synthesis systems, including Music N and the MIDI file standard. The objects are placed on a time line with their precise location and duration. A distinction can be made between absolute and proportional time bases. An absolute time base requires the times to be given in absolute time, i.e. in seconds. In a proportional time base the times are specified in regard to some relative unit, often a note or beat value.

Explicit structuring is often based on the Allen relations. He distinguishes thirteen possible relations between two intervals [BL89]. If we leave out the inverse relations seven remain: before, meets, overlaps, starts, during, ends, and equals (Fig. 3.2). The Allen relations have also been studied and extended in the case of cyclic time models [PC98].


 
Figure 3_2
 
Figure 3.2: The Allen relations between two intervals.

Most composition systems use implicit structuring but generally offer Allen-like relations through the parallel and the sequential structuring [DH88,Bal92,Dan89,Cou92,RC84]. In the parallel structuring, all elements start at the same time; in the sequential structuring every element meets the next element.

The use of composite objects as a basic building block in other composite objects allows the representation of a piece as a directed graph. Parallel and sequential structures can in general be embedded in other structures. This approach is often refered to as the container-contained relation. Most synthesis programs, however, only provide a one dimensional time line and no or very limited means to group temporal objects.

The straightforward approach to create composite structures is to place the temporal objects into a container manually. Piano roll and music notation editors are examples of graphical interfaces to construct music pieces manually.

Music is by nature very redundant: the same group of elements are used repeatedly throughout the piece. Buxton and colleagues reduce redundancy in musical structures thru the use of so called instanciation. A reoccuring sequence is only represented once. Several ``instances'' refers to this prototype at the appropriate places in the score [BRP+78].

The most interesting approach for music is the generation of composite objects thru the use of a functional, algorithmic, or algebraic description. It is a desirable if not necessary feature for composition environments. This approach raises the issue of the language used for this description. Most of the cited music composition languages are extensions to a Lisp-style language [SJ93]. The environments Formes [RC84], Loco [DH88], Common Music [Tau91], and Artic/Canon/Nyquist [DR86,Dan89,Dan93] use a Lisp-like language interpreter. Foo [EGA94] and Modalys [EIC95] use a Scheme interpreter. Elody uses an interface to construct lambda expressions graphically [OFL97]. PatchWork offers a visual language on top of Common Lisp to construct functional expressions [AR93]. Its successor OpenMusic extends the graphical paradigm to include the object-oriented programming style of the Common Lisp Object System [Ass96]. Other systems that include functional composition include DMix [Opp96].

Lisp environments are attractive because of their dynamic, interactive usage. They offer high-level abstractions and allow the user to concentrate on the algorithms rather than on execution flow and data typing (without abandoning type checking, though). Music environments treat many more problems than just temporal composition. They generally incorparate a rich set of tools, libraries, and language constructs that formalize musical theories, most of which are in the realm of pitch organization. This topic is out of the scope of this work.

Dannenberg uses this functional approach to describe composite structures that may vary according to the context. He uses the terms ``parametrized behaviors'' or ``behavioral abstractions.'' The problem used as an example is that of the drum-roll. Consider we described a composite structure that contains the drum line of a piece and repeats fifty notes. What happens if it is incorporated into a score and then stretched by a factor of two? Are the notes stretched by a factor of two, or are there another fifty notes added to the end? When the composer describes the drum line in a parametrized or algorithmic manner, both solutions are possible [Dan89]. A similar problem is that of the grace note. A grace is played quickly before another note and serves as an ornament. The grace note depends on the following note and could be grouped with it in a composite object. However, when we stretch this combined element, the grace note should keep the same duration, since it is played just as quickly in any context.

The possibility to specify the contents of a composite object in terms of its position and duration within the piece is a desirable feature. It is also found in the ``maquette'' editor proposed by Assayag & Agon. In this editor containers, temporal objects, and patches (graphically defined composition algorithms) are placed in time. The start time and duration of an object are available explicitly. An object can use these time parameters to construct their musical contents, but can also assign new values to them. In addition, links can be drawn graphically between the objects in the editor. These links are used to pass data among the objects during the evaluation and scheduling of the structure. Logical time (as opposed to execution time) becomes an explicit parameter in the construction of the piece [Ass96].

The use of functional or algorithmic descriptions of pieces does not seem as wide spread in multimedia authoring tools as it is in music. This may be due to the difference in number and type of objects manipulated. The number of components used in the editing of multimedia documents is in general less than the number of notes found in a music composition. Furthermore, every component in video editing, for example, has an associated semantics to it, something that is less prevalent in music where the basic elements are fairly abstract.

Most music environments calculate the structure of a piece statically. The stucture is created from a combination of functional descriptions and initial data. Once created, the internal relations that lead to the structure are lost. What remains is a data-only representation. When a more complete description is available the internal relations may be verified after each editing. Consider the user conceives a piece and describes its structure using functional methods. The user then request a visual representation of the piece. If the user edits the visual representation, the internal relations that characterize the structure may no longer be verified. Whenever he evaluates the description a second time, the modifications are lost. S/he can mofidy the algorithms that generate the structure but this may not be trivial. The parallel and sequential organizations provide another illustration of these constraints. If a composite structure is defined as a sequence this property should be verified after all future transformations.

Little work has been done on this subject in the field of music composition. However, propositions on this topic can be found in the field of multimedia composition. The solutions include the use of constraint networks to check the temporal properties of a composition [FJLV98,JLR+98].

When the composition lays the basic scheme of an interactive piece, not all the start times and durations of the temporal objects are known in advance. User actions may trigger events that in their turn signal the start or the end of other temporal objects. A static description of the structure of the piece no longer satisfies the requirements of dynamic, interactive presentations. Duda & Keramane propose the use of causal relations between objects instead of descriptive relations such as those proposed by Allen. They attach actions to the boundaries of an interval [DK94,KD97]. New intervals are constructed using interval expressions such as ``a seq b,'' which construct a new interval in which aand b form a sequence. So far nothing new. However, since actions are attached to the beginning and the end of an interval, the above expression is interpreted as: ``when a stops, it causes b to start.'' The relation between a and b is causal and no longer descriptive. The advantage of this approach is that when the duration of a is unknown or modified, the relations between a and b still hold. Thus, the relation is resistent to local time transformations.

Thus far, we have talked about the temporal organization of discrete elements. However, the representation of music structures also requires values that vary ``continuously'' in time. We will discuss some of the issues in the representation and manipulation of continuous time functions in the next section.

previous up next