6. Time
quantization
Phase
diagrams
(see for instance QuickStart §4.2) might have unwieldingly many columns
representing very short time delays (even less than the current time
resolution). Setting a
time
quantization
(an acceptable delay below which two events may be seen as simultaneous, i.e.
belong to the same column) helps BP2 to simplify phase diagrams.
In many cases this is compulsory for working with complex items in a limited
memory space.
The
following example demonstrates the quantization process. (Use "-da.tryQuantize")
Consider the polymetric expression
{do4
{re4 mi4, fa4 sol4 la4}, si4 do5}
which
is interpreted as:
{/6
do4{/6 re4 mi4, /9 fa4 sol4 la4}, /4 si4 do5}
with
the phase diagram (if quantization is OFF):
Metronome
setting mm = 60 produces the following item:
Fig.17
No time quantization
The
time delay between two consecutive time streaks
is 1000 / 6 = 166 milliseconds. This is also the delay between the off-setting
of "si4" and the on-setting of "sol4". Let us now use a quantization of 200 ms
forcing the interpreter to ignore shorter delays. The new item is shown Fig.18.
Fig.18
Same item with 200 ms quantization
The
delay between the off-setting of "si4" and the on-setting of "sol4" is now
exactly 200 milliseconds, although it might have become 0 milliseconds in a
different context. This amounts to rewriting the item as:
/3{do4_
_ {re4_ _ mi4_ _ ,fa4_ sol4_ la4_},si4_ _ _ do5_ _ _ _}
with
the phase diagram:
Let
us take another example. The item shown Fig.14 of QuickStart:
b
b <<f>>{5 ,a c b,f - f}a <<chik>> b <<sync>>
was
assigned the phase diagram:
Here,
for instance, the symbolic duration of "b_ _ b_ _" is six time units. With a
mm = 400 metronome setting, the time delay between two time streaks
(i.e. two columns of the phase diagram)
was 50 milliseconds. If the quantization is set to 60 milliseconds, the phase
diagram becomes
which
yields the graphic score shown Fig.19.
Fig.19
Item with 60 ms quantization
Durations
of the first two occurrences of 'b' have become unequal although the total
duration of "bb" remained two beats (i.e. 300 milliseconds). In this way, 'a',
'f' and "<<f>>" still have identical on-setting dates. Thus,
quantization simplifies the phase diagram
as much as possible while maintaining the dates of events within the given
range -- here, dates will match exact dates by ±60 milliseconds. In doing
so, durations may be adjusted within the acceptable range, but events that were
synchronised (on "vertical lines")
will
remain synchronised
.
Setting
quantization
to any value higher than 50 milliseconds yields the same result. Why? Since
the symbolic duration of the first occurrence of 'b' has become one time unit,
it cannot become smaller, otherwise sequentiality of the first two occurrences
of 'b' would be damaged.
The
quantization used by BP2 never affects sequentiality of sound-objects.
This is a very important feature because any pair of sound-objects may be used
to set a process on and off, e.g. NoteOn/NoteOff.
The
main advantage of BP2 quantization is an optimisation of computational space
and time: it should be used systematically in projects where polymetric
structures are likely to yield oversized
phase
diagrams.
In effect, a quantization equal to the time resolution does not change final
timings although it is a safeguard against memory overflow.