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 ----------------------------------------------