Tempo marking

The first rules of "-gr.dhin--", a grammar producing a North Indian qa'ida (a set of variations used by tabla drum players) look like:

S --> 4+4+4+4/6 S192
S192 --> etc.

The expression "4+4+4+4/6" indicates how musical items derived from "S192" should be displayed. In earlier versions of BP2 (before BP2.5.2) it was notated "4/4/4/4/6"; although this notation is still valid it should be abandoned for the sake of clarity.

First consider "/6". This is an explicit tempo marker, indicating that each beat of the metronome contains six sound-objects. (This is referred as chegun by Indian musicians.)

The sequence "4+4+4+4" indicates how beats should be grouped in a measure ( tala) containing 16 beats (referred to as tintal). Here the measure is divided into four sections of four beats. Consequently, a musical item produced by this grammar may for instance be displayed:


Beats are separated by periods (that could be replaced with tabulations in a word processor), and sections of the measure are displayed on different lines. Here the item covers two measures, i.e. eight lines containing 32 beats and 32x6 = 192 sound-objects (as expected).

Note that periods before line breaks '¬' prevent the last beat from being merged with the first one of the next line.

If the tala is dhamar (14 beats divided 5+2+3+4) and tempo is tigun, the header will be "5+2+3+4/3".

If periods are inserted in data or grammar arguments, they are used by the compiler to change the tempo. For example, if a,b,c are terminal symbols,

will be interpreted as

{1,abba} {1,bcca}{1,bcca}{1,abc}{1,ccb}
and performed like:

/4 abbabccabcca /3 abcccb

The polymetric expression "{1,abba}" (meaning: "abba" is performed during 1 beat) is more flexible than "/4 abba". The former is a relative, and the latter an absolute, tempo specification.

Conversely, if a string of data is selected and " Show periods" is invoked (see the Control panel, type cmd-=), beat and section markers are automatically inserted. For instance,

3+4+2/4 abbabccabcca /3 abcccbaab /1 bbb
will be rewritten as:


(See more examples in "-da.ShowPeriods".)