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:
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:
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.