BP2 Reference Manual 5.	The time setting of sound-objects 6.	Time quantization Title Page Index Contents

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.


BP2 Reference Manual 5.	The time setting of sound-objects 6.	Time quantization Title Page Index Contents