earlier version of Bol Processor, namely BP1, was built on a model of "pattern
grammars" enabling both the production and fast parsing of sentences (Bel
1987a-b). The grammar format in BP2 is much less restrictive as far as
production is concerned. A sound interface has been implemented (using the
MIDI standard) which is not geared towards any particular synthesiser; it
accepts musical input from any MIDI device.
is a block diagram showing the interaction of modules in BP2:
A block diagram of Bol Processor BP2
fields are used for storing
generated by the
Items are represented as structures (strings and sets) of symbols. Each
symbol is mapped to a single sound-object prototype or a note. The interpreter
generates MIDI codes or Csound score lines given the symbolic structure of an
item and properties of sound-object prototypes.
is in two stages. Musical items (which may be polyphonic) are represented as
strings of symbols in a syntactic form called a
First, a mapping is calculated between the sound-objects contained in a
polymetric structure and a set of
here, is an arbitrary ordered set that permits the ordering of sound-objects.
The mapping of symbolic to physical time is called the
of polymetric expressions
In this process, missing information regarding the ordering of sound-objects
(along symbolic time) is inferred (Bel 1991,1992a). Then BP2 proceeds to the
of the sound-object structure represented as a complete polymetric expressio
Start/clip dates of all sound-objects are calculated, yielding the dates of
MIDI messages or Csound events. Sound-object properties are taken into account
during time setting only.
block diagram indicates that an external control can be exerted on the
inference engine, grammars and the interpretation module. Specific MIDI
messages may be used to change weights in gramma
the time base and nature of time (striated/smooth). These messages may also be
used for synchronising events during their performance and even assigning
computation time limits. Such features are currently used in improvisational
BP2's may be linked together and to other software devices such as MIDI
sequencers. Messages on the different MIDI channels and Apple Events may be
used for communicating between machines or for controlling several sound
processors. It must be kept in mind that a "sound-object" is not necessarily a
sound-generating process. Depending on the implementation it may contain any
kind of control/synchronisation messages as well.