Dear all,
The following are a few points regarding the time base and time structure.
For musicians, the time base is practically measured with a "metronome"
value in beats per minute. However, the BP approach which makes
symbolic-numeric calculations efficient and accurate demands that all
durations be expressed as integer ratios. Therefore, a metronome value
of "82.4554" is not welcome and it will immediately be converted to the
nearest integer ratio.
In the settings of projects we enter the time base as Pclock and Qclock,
two integers such that Pclock/Qclock is the period of metronome (in
seconds). For instance, Pclock = 3 and Qclock = 20 means that we have 20
ticks in 3 seconds which is equivalent to metronome = 400 beats per
minute. Since the interface does the calculation there is no risk of
mistake.
If there is a '-se' file attached to the grammar or data file, BP will
pick up Pclock and Qclock values and do its work accordingly. When there
is no '-se' file, BP2.9.8 used to insert a script instruction in the
grammar, for instance:
_mm(400.0000) _striated
which means metronom = 400 and structure of time is striated (see below).
If the editor sees this instruction when there is already an attached
'-se' file, it complains that there may be a conflict. It will ignore
the instruction and use the settings.
If there is neither an instruction nor a '-se' file, the editor tells
the user that it will use default values: mm = 60, that is Pclock =
Qclock = 1, and time will be striated.
In case there is no '-se' file, when producing or playing items the
editor should append options for setting Pclock and Qclock, for instance:
./bp somepath/somegrammar --Pclock=3 --Qclock=20 --timestructure=striated
(Remember that these values are integers.)
TIME STRUCTURE: STRIATED VERSUS SMOOTH
If only "plain notes" are used, its makes no difference to have striated
or smooth time. Every sound-object will be sized with a time unit
depending on its tempo.
The notion of smooth time is relevant to sound-objects as these may have
arbitrary durations. If you play a sequence of sound-objects in striated
time, their pivots will be located on the metronome beats, with the
effect that a few objects will overlap and others will have gaps between
their events.
Imagine that sound-objects are words in a speech. Words have different
durations. Placing every word on a beat may be interesting for a singer
but it won't sound like speech. A speaker will therefore use smooth time
so that beats are irregular and derived from the durations of words.
In music, smooth time (a concept of Pierre Boulez) are movements not
structured by a metronome. In Indian music we have the initial section
of ragas called "alap".
When BP plays a polymetric expression in smooth time, it sets up the
time structure according to the first term of the polymetric expression,
making it the "main voice". Then following lines are positioned (and
resized) to match with this structure. In fact, more details of the time
structure may be created by the following terms of the expression — this
is a recursive process.
(Fortunately there will be no need to rewrite these algorithms in the
new version!)
TIME PATTERNS
To work more intensively with smooth time I created a new class of
"time-objects" that appear as "time patterns" which do not contain any
musical event but have a duration expressed as an integer ratio. An
exemple is the "-gr.tryTimePatterns" grammar:
RND
_mm(120.0000) _smooth
GRAM#1[1] S --> {10,t1 t2,Part1 Part2}
GRAM#1[2] Part1 --> {t1 t3 t4, do4 re4 mi4 fa4 - la4}
GRAM#1[3] Part2 --> {t3 t1, si4 do5 _ mi5}
TIMEPATTERNS:
t1=1/1 t2=3/2 t3=4/3 t4=1/2
The grammar creates the following item:
{10,t1 t2,{t1 t3 t4,do4 re4 mi4 fa4 - la4}{t3 t1,si4 do5 _ mi5}}
and the resulting time structure appears on the attached picture named
"smooth.png". You can see that simple notes do4, re4, mi4 etc. do have a
single-unit duration, however these symbolic durations are physically
not equal because they are structured by time-objects t1, t2 etc. I also
attached the same piece played in striated time, where time-objects have
no control on the structure.
This is indeed a great feature but I do not have other simple examples
to explain it!
Finally, we only need to tell BP whether it is expected to play items in
striated or smooth time.
Bernard
|