5. The
time setting of sound-objects
5.1 The
time setting problem
Informally,
instanciating
a sound-object
means dispatching to the sound processor all the messages that are defined in
its prototype.
A
naive interpretation of sequences of sound-objects would be to arrange all
corresponding time intervals in a strictly sequential way. Duthen and Stroppa
[1990] have suggested a more abstract approach, starting from the assumption
that any sound-object may possess one or several time points playing a
particular role, e.g. a climax. These points are called
time
pivots.
Further they suggest to construct sound structures using a set of
synchronisation rules. Their approach is attractive but it is difficult to
implement if the formalism of synchronisation rules remains too general.
Therefore we retained a simplified version of Stroppa's idea, assigning each
object one single pivot.
Let
us for instance consider a polymetric structure {S1,S2,S3} derived as
{a
_ b c d _ e , a _ f _ g h _ , j i _ a _ i _ }
yielding
the
phase
diagram:
a
|
_
|
b
|
c
|
d
|
_
|
e
|
NIL
|
a
|
_
|
f
|
_
|
g
|
h
|
_
|
NIL
|
j
|
i
|
_
|
a
|
_
|
i
|
_
|
NIL
|
The
definition of each object contains the relative location of its pivot and
metrical properties allowing the calculation of its dilation ratio (see
§3.1 supra).
Fig.15
is a graphic representation of a possible
instance
of this polymetric structure.
Fig.15
A structure of sound-objects
The
structure of time
is for instance an irregular pulsation represented with the vertical lines (
time
streaks).
Objects 'c', 'f', "g" and 'a' have overlapping time-span intervals between the
third and fourth streaks.
Vertical
arrows indicate time pivots.
As shown with object 'e', the pivot is not necessarily a time point within the
time-span interval
of the sound-object.
This
graphic represents the
default
positioning
of objects with their pivots located exactly on
time
streaks.
Although it is reasonable that instances of 'c', 'f' and 'a' are overlapping
between the third and fourth streaks since they belong to distinct sequences
which are performed simultaneously, it may not be acceptable that 'f' overlaps
'g' in a single sequence S2; the same with 'd' and 'e' in sequence S1. For
similar reasons, it may not be acceptable that the time-span intervals of 'j'
and 'i' are disjoint in sequence S3 while no silence is shown in the symbolic
representation.
How
could one deal with a constraint such as <<
the
end of sound-object 'f' may not overlap another sound-object in the same
sequence>>
?
If object 'g' is relocatable then it may be delayed (shifted to the right)
until the constraint is satisfied. We call this a
local
drift
of the object. However, the end of 'g' will now overlap the beginning of 'h'.
Assume that this also is not acceptable and 'h' is not relocatable. One should
therefore look for another solution, for example truncate the beginning of 'h'.
If this and other solutions are not acceptable then one may try to shift 'f' to
the left or to truncate its end. In the first case it might be necessary to
shift or truncate 'a' as well.
So
far we mentioned a constraint propagation
within one single sequence. In the time setting algorithm
the three sequences are considered in order S1, S2, S3. Suppose that the
default positioning of objects
in S1 satisfies all constraints and no solution has been found to avoid the
overlapping of 'f' and 'g' in S2. Another option is to envisage a
global
drift
to the right of all objects following 'f' in S2. The global drift is notated
D
on Fig.16. All time streaks
following the third one are delayed (see dotted vertical lines).
Fig.16
A structure using global drift
This
solution is labelled "
Break
tempo"
because its effect is similar to the the
organum
in
conventional music notation. Although global drift
increases the delay between the third and fourth streaks, the
physical
duration
of sound objects
is not modified because their dilation ratios have been calculated beforehand.
Now
the positioning of objects in S2 is acceptable but it might have become
unacceptable in S1: there may be a property of 'b' or 'c' saying that their
time-span intervals cannot be disjoint, so that 'c' could be shifted to the
left, etc. Evidently, whenever a global drift is decided the algorithm must
start again from the first sequence.
The
process of locating -- i.e. "instanciating" -- sound-objects, as illustrated in
this example, is the task of the
time
setting algorithm
imbedded in BP2.
5.2 How
to proceed
To
take advantage of the time setting algorithm
you first define sound-object prototypes with topological and
metrical properties.
For instance, you may want that the beginning of sound-object 'a' always
coincides with the end of the preceding object in the sequence. In this case,
you should set property ContBeg
to "true". (See §3.2) When the tempo is slow, BP2 may not be able to
fulfil this condition unless object 'a' or the one(s) preceding its
occurrence(s) have property Reloc
(see §3.1). In general, given a set of objects and their properties, the
time setting of an arbitrary structure may not yield a solution. If so then
some constraints should be released or the process should be abandoned. In
many cases there is an infinite number of solutions, out of which a finite
subset called
canonic
solutions
may be extracted.
When
you click button "Play Selection" (or type cmd-p), if button "Display time
setting"
is not selected in the "Settings" window, then BP2 will handle everything
without notice: if there are solutions to the time setting problem it will take
the first one it finds. If there are no solutions it will first attempt to
release all continuity constraints
(ignoring all ContBeg
and ContEnd
properties), then it will release only overlapping constraints
(ignoring OverBeg
and OverEnd
properties). If still unsuccessful it will release both types of constraints,
in which case there is always a solution.
Since
the time setting could become slow in very large structures, if you have set a
limit to computation time and that limit is exhausted, BP2 will suddenly
release all constraints so that an approximate solution is obtained very quickly.
If
"Display time setting"
is on then BP2 offers you the option to display the timings of objects and
perhaps to make decisions on how to solve constraints. You may also select
"Show graphics"
to display each sequence. If you decide to display all canonic solutions you
will be able to decide which one is appropriate. If you select "Step time
setting"
you will be prompted to make decisions on every sound-object that needs to be
modified to fulfil constraints. For instance, if the beginning of a
sound-object is overlapped by the end of the preceding object you may be
offered, (1) to delay ("shift") that object, (2) to truncate its beginning, (3)
to shift the preceding object, and (4) to truncate the end of the preceding
object.
When
a sequence is completed it appears both in a numeric (in the "Trace" window)
and graphic displays while you are prompted to accept or reject it. If you
selected "all canonic solutions"
and reject the currently displayed solution, BP2 will display all solutions in
a loop until you finally accept one of them or abort the procedure.