A flexible environment for music composition in non-European contexts

Bernard Bel

Journées d'Informatique Musicale 1996, Caen (France)

Abstract

Most com­put­er music envi­ron­ments priv­i­lege music rep­re­sen­ta­tions derived from west­ern com­mon music nota­tion, which make it dif­fi­cult to explore musi­cal ideas based on dif­fer­ent con­cepts. This is notably the case with Indian com­posers eager to han­dle sophis­ti­cat­ed note treat­ment and com­plex polyrhyth­mic struc­tures. This paper presents recent devel­op­ments of a com­po­si­tion­al envi­ron­ment, Bol Processor BP2, address­ing the issue of abstract and com­pre­hen­sive, alto­geth­er flex­i­ble and accu­rate, music representations.

Sound examples

Broken links point to sound exam­ples, which can be found in this fold­er. Just replace 'mov' exten­sions with 'mp3'.

Download this paper


Seven radical ideas from an old music software that are still revolutionary today

This blog post was cre­at­ed with the help of NotebookLM (November 2025)

👉 In the fol­low­ing text, "BP2" is the old acronym for "Bol Processor". It can be replaced with "BP3".

Introduction: The Unseen Blueprint of Digital Music

Open any mod­ern music pro­duc­tion app, and you’re greet­ed by a famil­iar land­scape: a piano roll, a time­line divid­ed into bars and beats, and tools designed to place dis­crete notes on a grid. This envi­ron­ment is so uni­ver­sal that we rarely ques­tion its foun­da­tions. We treat it as a neu­tral can­vas for creativity.

But what if it isn’t? What if the very archi­tec­ture of our dig­i­tal tools—the twelve-tone scale, the rigid tim­ing, the con­cept of a sin­gle "note"—is a cul­tur­al box, sub­tly shap­ing our music to fit a Western mod­el? For musi­cians from tra­di­tions with dif­fer­ent melod­ic and rhyth­mic philoso­phies, this isn't just a hypo­thet­i­cal ques­tion. It's a dai­ly cre­ative hur­dle. A fas­ci­nat­ing piece of 1990s soft­ware called Bol Processor BP2 offered a rad­i­cal­ly dif­fer­ent path, and its core con­cepts are more rel­e­vant today than ever. This is a look at the most mind-bending ideas from a pro­gram that dared to think out­side the grid.

1. Our Digital Tools Have a Western Accent

The cen­tral prob­lem that Bol Processor BP2 set out to solve is that most music soft­ware is built on a foun­da­tion of Western com­mon music nota­tion. It priv­i­leges the twelve-tone sys­tem and the bina­ry divi­sion of time (whole notes, half notes, quar­ter notes, etc.). This isn't just about the on-screen inter­face; as the source text notes, the MIDI stan­dard itself helps "rein­force this con­ven­tion­al approach," mak­ing it a sys­temic bias built into the very plumb­ing of dig­i­tal music. This design choice cre­ates an imme­di­ate and pro­found chal­lenge for com­posers from oth­er musi­cal worlds, such as India, who want to express the "melod­ic sub­tleties and rhyth­mic intri­ca­cies of their musi­cal heritage."

When the tools don't match the tra­di­tion, the music itself is com­pro­mised. In a com­mer­cial set­ting, this can lead to a prob­lem­at­ic for­mu­la where tra­di­tion­al instru­ments are reduced to a mere "masala ingre­di­ent" sprin­kled on top of a gener­ic elec­tron­ic track. The expres­sive depth of the orig­i­nal music is lost because the under­ly­ing dig­i­tal skele­ton can't sup­port it. This isn't a fail­ure of the musi­cian, but a lim­i­ta­tion of the tool. A new approach wasn't just a tech­ni­cal chal­lenge; it was a cul­tur­al necessity.

2. The Big Idea: Treating Music Like Vector Graphics, Not Pixels

To break free from the Western frame­work, BP2’s cre­ators re-imagined the very nature of musi­cal data. They drew a dis­tinc­tion between "descrip­tive" and "pre­scrip­tive" nota­tion, using a pow­er­ful anal­o­gy from graph­ic design.

  • Descriptive nota­tion is like a "pix­el" image. To cre­ate a curve, you must explic­it­ly define the col­or and posi­tion of every sin­gle pix­el along its path. In music, this is like using a stan­dard sequencer to cre­ate a del­i­cate Indian melod­ic pat­tern (gama­ka), where the com­pos­er must man­u­al­ly pro­gram every sin­gle micro­ton­al "PitchBend" mes­sage. It’s clum­sy, com­pu­ta­tion­al­ly inef­fi­cient, and fails to cap­ture the holis­tic ges­ture of the musi­cal idea.
  • BP2's approach is like "vec­tor" graph­ics. Instead of defin­ing pix­els, a vector-based pro­gram uses math­e­mat­i­cal descriptions—a start­ing point, an end­ing point, and the shape of the curve in between. BP2 applies this log­ic to music. It uses abstract, effi­cient rep­re­sen­ta­tions to gen­er­ate com­plex and accu­rate musi­cal shapes with­out need­ing to define every sin­gle point.

This shift is more than just an effi­cien­cy hack; it's a philo­soph­i­cal one. A vec­tor encodes the composer's intent—the idea of a gesture—while pix­els mere­ly describe a sta­t­ic, unchange­able result. This con­cep­tu­al leap is the key to BP2's pow­er, offer­ing immense cre­ative free­dom and efficiency.

3. Beyond the "Note": Learning from Indian Drum Syllables

In Western music, the "note" is the fun­da­men­tal build­ing block. But BP2 pro­posed a more flex­i­ble and musi­cal­ly intu­itive unit: the "sound-object." This con­cept was derived direct­ly from the study of North Indian tabla drum­ming, where ono­matopoe­ic syl­la­bles called bols are used to rep­re­sent com­plex rhyth­mic gestures.

The cre­ators of BP2 observed that tabla play­ers don't think in indi­vid­ual sounds. A com­plex phrase like ‘tiraki­ta’ (four strokes) isn't four sep­a­rate events; it's one con­cep­tu­al unit, a sin­gle word in a rhyth­mic lan­guage. The same is true for a sim­pler phrase like ‘tira’ (two strokes). BP2 was built to hon­or this, treat­ing such ges­tures as a sin­gle, indi­vis­i­ble "sound-object." This allows a com­pos­er to work with musi­cal­ly mean­ing­ful phras­es as the pri­ma­ry mate­r­i­al, rather than being forced to con­struct every­thing from a series of iso­lat­ed, atom­ized events. It's the dif­fer­ence between writ­ing with words instead of indi­vid­ual letters.

Definition:time-object is a basic sequence of mes­sages (e.g., MIDI NoteOn/NoteOff). When this sequence is assigned met­ri­cal and topo­log­i­cal prop­er­ties, it becomes a sound-object, which can rep­re­sent an ele­men­tary musi­cal ges­ture or its result­ing sound.

Key Properties of Sound-Objects
  •     Metrical: Defines how a sound-object's inter­nal tim­ing adjusts to tem­po. For exam­ple, the four strokes in 'tiraki­ta' may be forced to main­tain equal spac­ing, which changes with the over­all tempo.
  •     Topological: Governs how sound-objects can be trun­cat­ed or over­lapped to cre­ate real­is­tic phrasing.
  •     Pivot: A spe­cif­ic time point with­in the sound-object that is anchored to a musi­cal pulse or "time streak."
  •     Relocatable: An object that can be shift­ed freely in time.
Special Types
  •     Out-time Sound-Objects: Have a null dura­tion, with all con­stituent mes­sages dis­patched simultaneously.
  •     Input Objects: Time-objects with null dura­tion that wait for an exter­nal input (MIDI note, mouse click) to facil­i­tate basic real-time synchronization.

4. Time Management

BP2 pro­vides sophis­ti­cat­ed tools for struc­tur­ing both pulsed and non-pulsed musi­cal time.

  • Striated vs. Smooth Time: The sys­tem han­dles both stri­at­ed time (built on reg­u­lar or irreg­u­lar puls­es) and smooth time (where no pulse is nec­es­sary, e.g., the alap of Indian music).
  • Time-Patterns: In smooth time, users can define arbi­trary phys­i­cal time ratios using spe­cial time-objects (t1, t2, etc.) to cre­ate a spe­cif­ic tem­po­ral structure.
  • Time-Base: An inter­nal clock cal­cu­lates phys­i­cal dura­tions. It can be set via a metronome val­ue or with absolute accu­ra­cy (e.g., a num­ber of ticks in a giv­en num­ber of sec­onds). It can also pro­duce audi­ble tick pat­terns with super­im­posed cycles (e.g., cycles of 4, 5, and 7).

5. Taming Complex Rhythms with a Single Dot

Creating com­plex rhyth­mic cycles and sub­di­vi­sions in stan­dard soft­ware can be a tedious process of click­ing, drag­ging, and set­ting grid val­ues. BP2’s solu­tion evolved into an aston­ish­ing­ly sim­ple text-based sys­tem. The old­er syn­tax was func­tion­al but rigid, using explic­it mark­ers like /2 or /3 to force absolute tem­po assign­ments: /1 a b c /2 a b c d e f. This was inflex­i­ble because these sequences couldn't be eas­i­ly reused as build­ing blocks in new con­texts with­out man­u­al recalculation.

The rev­o­lu­tion­ary solu­tion was "peri­od nota­tion." By con­nect­ing sym­bols with a peri­od (.), a com­pos­er can cre­ate beats of equal sym­bol­ic dura­tion, and the soft­ware auto­mat­i­cal­ly cal­cu­lates the sub­di­vi­sions. Consider this sim­ple line of text:

a.b.c.ab.cd.abc.def

Without any com­plex com­mands, this nota­tion intu­itive­ly rep­re­sents a rhyth­mic accel­er­a­tion. It starts with one note per beat (a.b.c.), pro­gress­es to two notes per beat (ab.cd.), and fin­ish­es with three notes per beat (abc.def). In the lan­guage of North Indian music, this ele­gant­ly describes a pro­gres­sion from har­gun (speed 1), to dogun (speed 2), and final­ly to tigun (speed 3). This plain-text syn­tax pro­vides a flu­id and pow­er­ful way to build intri­cate rhyth­mic struc­tures that would be incred­i­bly cum­ber­some to cre­ate in a con­ven­tion­al point-and-click interface.

Period nota­tion can of course be com­bined with poly­met­ric struc­tures for simul­tane­ity (see 6).

How to Compose Backwards in Time

Perhaps the most sur­pris­ing and pow­er­ful fea­ture of BP2 is its abil­i­ty to solve a com­po­si­tion­al prob­lem that feels like work­ing in reverse. In poly­met­ric music, dif­fer­ent per­form­ers play in dif­fer­ent time sig­na­tures or rhyth­mic cycles simul­ta­ne­ous­ly. A com­mon chal­lenge is mak­ing sure every­one, despite their dif­fer­ent paths, resolves togeth­er at the very end.

This was exact­ly the prob­lem faced in Andréine Bel's 1994 dance pro­duc­tion "Cronos" (read 765432). The piece fea­tured six dancers—Suresh, Smriti, Olivier, and others—performing parts based on dif­fer­ent rhyth­mic cycles. Suresh count­ed in 7s, Smriti in 6s, Olivier in 5s, and so on. The chore­og­ra­phy demand­ed that they all fin­ish at the exact same moment. Calculating the pre­cise start­ing points and rests to achieve this would be a math­e­mat­i­cal nightmare.

BP2’s solu­tion was a fea­ture called "unde­ter­mined rests," notat­ed sim­ply as "...". A com­pos­er could place this sym­bol at the begin­ning of each part, and the soft­ware itself would cal­cu­late the pre­cise dura­tion of silence need­ed for all the dif­fer­ent rhyth­mic cycles to align per­fect­ly at their con­clu­sion. The sys­tem had one log­i­cal con­straint: each part of the struc­ture could con­tain at most one unde­ter­mined rest. This fea­ture allowed the com­pos­er to define the end point and let the machine fig­ure out the beginning.

A musi­cian right­ly iden­ti­fied this tech­nique as "work­ing on reversed time", a prob­lem that is cru­cial in Indian rhythm.

6. Polymetric Structures for Simultaneity

  • The Comma Operator: The , (com­ma) oper­a­tor indi­cates simul­tane­ity. An expres­sion like {A, B, C} means that the musi­cal expres­sions A, B, and C (called fields) are per­formed together.
  • Duration Matching: The inter­preter uses the same algo­rithm to match sym­bol­ic dura­tions in poly­met­ric struc­tures as it does for sequen­tial ones, ensur­ing alignment.
  • Duration Precedence: By con­ven­tion, the dura­tion of a poly­met­ric expres­sion is deter­mined by its left­most field. For exam­ple, {abc,de} has a dura­tion of three beats, while {de,abc} has a dura­tion of two.

Read more on this top­ic

7. Advanced Performance Control

BP2 includes a macro lan­guage of approx­i­mate­ly 200 instruc­tions for automat­ing process­es and con­trol­ling per­for­mance para­me­ters with a "vec­tor­ized" approach.

  • Stepwise Control: Parameter val­ues change from one sound-object to the next.
  •  Example (Articulation): The _staccato(x) and _legato(x) instruc­tions mod­i­fy the dura­tion of sub­se­quent sound-objects by a per­cent­age. These val­ues can be inter­po­lat­ed across a musi­cal phrase.
  • Continuous Control: Parameter val­ues are changed via lin­ear inter­po­la­tion between spec­i­fied points. This is high­ly effi­cient, as it avoids stor­ing mas­sive streams of MIDI data.
  • Example (Microtonal Pitch): The _pitchbend(x) instruc­tion, when com­bined with _pitchcont, cre­ates smooth por­ta­men­ti. The pitch val­ues can be spec­i­fied in cents if a pitch ben­der range is defined (_pitchrange(r)), mak­ing micro­ton­al work intuitive.
  • Independent Control in Polymetric Structures: Different fields with­in a poly­met­ric struc­ture can have inde­pen­dent, simul­ta­ne­ous para­me­ter changes. For exam­ple, two melod­ic lines can exe­cute dif­fer­ent micro­ton­al pitch bends at the same time, pro­vid­ed they are assigned to sep­a­rate MIDI channels.

Conclusion: Looking Beyond Our Creative Code

The true inno­va­tion of Bol Processor BP2 wasn't just its clever fea­tures, but its fun­da­men­tal phi­los­o­phy. Instead of sim­ply dig­i­tiz­ing the con­ven­tions of an exist­ing musi­cal tra­di­tion, it built a cre­ative envi­ron­ment from abstract, culturally-aware prin­ci­ples. It acknowl­edged that the tools we use are not neu­tral; they car­ry inher­ent bias­es that shape what we can eas­i­ly create.

BP2 is a pow­er­ful reminder to look at the assump­tions embed­ded in our own cre­ative soft­ware. In a world increas­ing­ly shaped by AI and algo­rithms that learn from exist­ing data, what oth­er cul­tur­al blue­prints are being baked into our tools? What new forms of art, music, and expres­sion are we fail­ing to imag­ine sim­ply because our dig­i­tal can­vas wasn't designed to sup­port them?


Leave a Reply

Your email address will not be published. Required fields are marked *