Date: Mon, 27 Jan 92 11:16:56 GMT
From: bel@grtc.cnrs-mrs.fr (Bernard Bel)
Subject: Re:  BinHex processor upload
 
BOL PROCESSOR BP2 - a short introduction
 
 
BP2 is an extension of Bol Processor BP1 which was developed by computer
scientist Bernard Bel and ethnomusicologist Jim Kippen in the early to mid-
1980s to examine improvisatory methods used by North Indian tabla drummers.
(See Kippen & Bel, "Modelling music with grammars: formal language
representation in the Bol Processor".  In A. Marsden & A. Pople (eds),
*Computer Representations and Models in Music*, London, Academic Press, 1992,
pp.207-38.)
 
[The project was undertaken by the International Society for Traditional Arts
Research (ISTAR), a corporate member of the International Council for
Traditional Music.]
 
It was felt that the formal model embedded in BP1 could be expanded to
encompass more general musical structures, and in this form could be of some
benefit as a tool for rule-based music composition.  Syntactic extensions in
BP2 include remote-context rules, context-sensitive substitutions, dynamic rule
weight assignment, programmed grammars, etc.  (See Bel & Kippen: "Bol Processor
Grammars".  In M. Balaban, K. Ebcioglu, & O. Laske (eds), *Understanding AI
with Music*, AAAI Press, forthcoming 1992)
 
BP2 deals with "sound-objects" handled (1) at the symbolic level (where each
object is represented by an arbitrary symbol, and symbols are arranged in
strings, tables, trees, etc.), and (2) the lower level of "elementary events".
These events are messages dispatched to a sound processor that triggers and
controls sound synthesis processes.  For instance, a conventional note is a
simple sound-object represented as a NoteOn/NoteOff sequence in the MIDI
format.  Objects are ordered on symbolic (virtual) time, whereas events are
mapped to points on physical time.  This approach compensates for any rigidity
in the timing of computer-generated musical pieces.
 
A major development of the representational model has been "polymetric
expressions", here meaning (incomplete) string descriptions of concurrent
processes.  A polymetric expression can be fully determined ("expanded") by an
algorithm inferring a strict ordering of sound-objects along symbolic time:
should a, b, c, d, e be superimposed on another sequence of three objects f, g,
h the algorithm would suggest the following ordering:
 
    {a b c d e, f g h}              a _ _ b _ _ c _ _ d _ _ e _ _
or  {f g h, a b c d e}              f _ _ _ _ g _ _ _ _ h _ _ _ _
 
Incomplete representation              Complete representation
  (polymetric expression)              (computed by algorithm)
 
                                Symbol '_' prolongates the preceding object.
 
[Lines above make sense only if displayed with equal-width characters.]
 
The same algorithm is able to process multilayered polymetric expressions.
(See Bel, "Time in Musical Structures".  *Interface*, 19, 2-3, 1990, pp.107-
135.)
 
Sound-objects may be assigned properties that help determine their actual
durations and locations in physical time.  They may be performed in "striated"
time (with regular or irregular beats) or in "smooth" time (with no beat).
Durations depend on the "local tempo" and on metrical properties stipulating
the acceptable range of object contraction/dilation.  In striated time, local
tempo is the time interval separating two streaks (beats); in smooth time it is
computed from the duration of the preceding object in the sequence.
 
Object location makes use of "time pivots" (anchoring points) that are first
located on time streaks.  This pivot-synchronization technique was inspired by
Marco Stroppa (IRCAM).  The topological properties of each object are
constraints stipulating whether or not its time interval may be overlapped,
whether or not it must be contiguous to that of neighbouring  objects, etc.
Some objects need to be relocated or truncated until all constraints are
fulfilled.  Constraint-satisfaction is handled by a fast algorithm.  (See Bel,
"Symbolic and Sonic Representations of Sound-Object Structures".  In Balaban et
al., 1992, op.cit.)
 
Since the constraint-satisfaction algorithm does not rely on specific musical
concepts, it may be applied to various applications in which similar
metrical/topological properties are assigned to "time-objects" such as
multimedia performance, robotics or multiple-screen video editing.  (See Bel,
"A fast algorithm for scheduling sequences of elementary tasks".  Paper
submitted to European Conference on Artificial Intelligence, 1992.)
 
Bol Processor BP2 can be operated and synchronized by instructions received
from its MIDI interface.  It is possible to perform/repeat an item, modify
tempo, adjust rule weights, etc. using a MIDI keyboard and controllers, a MIDI
sequencer, or even another BP2.  Real-time interaction is similar to the
situation of several musicians improvizing together while communicating
information about parameters like tempo or compositional strategies through
conventional (audible or inaudible) messages.
 
A version of BOL PROCESSOR BP2 running on Macintosh is available as shareware
and freely distributed via E-mail.  It is packed as a 600K BinHex-4 StuffIt
file (along with examples and a "QuickStart" manual).  The file may be entirely
retrieved using Compactor Pro.
 
Registered users will receive the complete manual and upgraded versions and
documentation.
 
Contact: Bernard Bel, bel@grtc.cnrs-mrs.fr
 
----------------------------------------------