Donations

From the out­set, I have viewed the Bol Processor project as a research endeav­or rather than a straight­for­ward soft­ware design project. Its focus is on "com­pu­ta­tion­al musi­col­o­gy," which involves using com­pu­ta­tion­al mod­els to explore musi­col­o­gy across and beyond cul­tur­al boundaries.

This project rep­re­sents a long-term com­mit­ment to devel­op­ing music cre­ation soft­ware that address­es musi­co­log­i­cal chal­lenges, rather than sim­ply cre­at­ing tools for recom­bin­ing pre-composed music or sound frag­ments. Our cur­rent goal is to inte­grate this approach with high-quality music and sound edi­tors used by com­posers and sound designers.

The Bol Processor mod­el could eas­i­ly be extend­ed to oth­er activ­i­ties such as sched­ul­ing, siz­ing and pre­cise tim­ing of video clips, robot com­mands and so on. These exten­sions are high­ly desirable.

The research nature of this project neces­si­tates an open-access eth­ic. As such, the Bol Processor, includ­ing its instal­la­tion and source files, will remain freely acces­si­ble. Software devel­op­ers are encour­aged to reuse the source code to cre­ate vari­ants or updat­ed ver­sions of BP3.

However, there is a prac­ti­cal rea­son why I have cho­sen not to decline per­son­al dona­tions: I am increas­ing­ly incur­ring costs for var­i­ous tools required for soft­ware devel­op­ment. These include host­ing fees, the remu­ner­a­tion of "vir­tu­al" assis­tants (AI tools), and, when nec­es­sary, human experts.

For this rea­son, if you are so inclined, you can make a dona­tion using the PayPal link below. Any funds not used for project relat­ed activ­i­ties will be trans­ferred to charities.

Bernard Bel

https://www.paypal.com/donate/?hosted_button_id=WQSG23AMN7BLG

Real-time MIDI

    

In May 2024, the Bol Processor BP3 acquired the abil­i­ty to man­age the input and out­put of MIDI events. This allows it to "com­mu­ni­cate" in real time with exter­nal MIDI devices (key­boards, syn­the­siz­ers) and even with oth­er instances of BP3 run­ning on the same machine.

For geeks and programmers: This fea­ture had already been imple­ment­ed in the ear­li­er (MacOS only) ver­sion called 'BP2'. However, the imple­men­ta­tion in a C lan­guage 'con­sole' to work in MacOS, Linux and Windows envi­ron­ments was more tech­ni­cal. In addi­tion, the con­cept of "real time" in the cur­rent MIDI set­up is dif­fer­ent from the pre­vi­ous one using Opcode Music System.

The fol­low­ing exam­ples will work the same in MacOS, Windows and Linux. They have been test­ed on a recent PowerBook run­ning MacOS (Sonoma) with 16 Gb RAM, and an HP Intel Core com­put­er with 8 Gb RAM run­ning Windows 10 (64-bit) and LinuxLite 7.0 (in Ubuntu). Memory size can become crit­i­cal if many MIDI devices or vir­tu­al ports are connected. 

Using micro­ton­al scales is now pos­si­ble in real-time MIDI. Read the Check MIDI micro­tonal­i­ty page for details.

Setting up the MIDI environment

Let us assume that you have suc­cess­ful­ly down­loaded, installed and com­piled the Bol proces­sor BP3, as described on the page Bol Processor ‘BP3’ and its PHP inter­face.

In Bol Processor jar­gon, a 'project' is either a gram­mar (with a '-gr' pre­fix) or a set of data (with a '-da' pre­fix). So, cre­ate or load a sim­ple project, e.g. "-da.acceleration" which can be found in the "ctests" fold­er (down­load it here).

An output

By default, a project is set up to cre­ate MIDI files, as shown on the selec­tor (see pic­ture). Make sure your project is work­ing! Then select Real-time MIDI and click SAVE for­mat.

The selec­tor will now dis­play a dif­fer­ent image, as shown below:

By default, the MIDI out­put used for send­ing events is num­bered '0' — and the MIDI input used for receiv­ing events will be num­bered '1'. This is a com­mon sit­u­a­tion. In MacOS and Windows, these num­bers are tak­en as 'ports'. In Linux they are con­sid­ered as 'clients', each 'client' hav­ing its own 'ports', so cer­tain­ly num­bers '0' and '1' won't work… Never mind this issue, BP3 will take care of it when scan­ning real or vir­tu­al devices and try­ing to con­nect. Read more below.

We can­not rely on "port num­bers" alone because they change when we turn on and off MIDI devices con­nect­ed to the com­put­er. In Linux, the client num­ber is more spe­cif­ic to a MIDI device. In fact, the only reli­able iden­ti­fi­ca­tion is its name, which is emp­ty by default: the next field at the right of the input/output number.

Let us check the MIDI out­put. Windows does this auto­mat­i­cal­ly. The good news is that Windows 10 (and pre­sum­ably lat­er ver­sions) comes with a built-in MIDI device called Microsoft GS Wavetable Synth. The Bol Processor will auto­mat­i­cal­ly detect it and con­nect to it if no oth­er device is con­nect­ed to the system.

Linux also con­nects, by default, the out­put to a vir­tu­al device whose client num­ber is '0', but it won't pro­duce any sound in the basic instal­la­tion of Ubuntu. So, to try real-time MIDI on Linux, you need to con­nect an exter­nal MIDI device via its USB/MIDI inter­face, or to install a soft­ware syn­the­siz­er. Read more below.

Clicking Add an input will cre­ate fields for you to select an input device. We'll use this later.

To con­nect exter­nal MIDI input/output devices to Windows, you may need to install an envi­ron­ment sim­i­lar to IAC on MacOS. Read details below. However, most tests shown on this page can be per­formed on Windows with­out any addi­tion­al installation.

The fol­low­ing para­graphs are for MacOS users. Windows and Linux users can hap­pi­ly jump to the next section.

Turn on a MIDI device (syn­the­siz­er, piano, etc.) con­nect­ed to the com­put­er. On my per­son­al Mac, I usu­al­ly use the Pianoteq syn­the­sis­er, which pro­duces a phys­i­cal mod­el syn­the­sis of var­i­ous key­board instru­ments. It com­mu­ni­cates with BP3 via a device called the Inter-Application Communication (IAC) archi­tec­tureread this if you need details.

The IAC dri­ver is installed by default on recent MacOS sys­tems. (It is a part of the CoreMIDI frame­work pro­vid­ed by Apple.) It allows you to cre­ate vir­tu­al MIDI ports that enable MIDI appli­ca­tions to com­mu­ni­cate inter­nal­ly with­in the same machine. Equivalent devices exist in the Linux and Windows envi­ron­ments, see below.

The IAC also com­mu­ni­cates with exter­nal MIDI devices via the USB ports, BlueTooth and pos­si­bly more net­work pro­to­cols. We'll try it later.

To set up the IAC, run the Audio MIDI Setup appli­ca­tion (in the Utilities fold­er). Ask it to show "MIDI Studio". On my per­son­al com­put­er, it looks like this: the IAC dri­ver, the Pianoteq syn­the­sis­er, a Pocket Key 15 key­board con­nect­ed to a USB port, and a Yamaha piano con­nect­ed by stan­dard MIDI cables and a USB MIDI inter­face. The Yamaha piano appears grey because it is switched off.

On active MIDI devices you will see tri­an­gles indi­cat­ing input/output ports. These are used to con­nect devices direct­ly by draw­ing a 'cable' to con­nect them. We don't need to use these 'con­nec­tors' as BP3 com­mu­ni­cates via the IAC MIDI ports.

Check output options

(MacOS, Linux and Windows)

The eas­i­est way to pro­ceed now is to run any project in the Real-time MIDI mode, and see if sounds are pro­duced… Whatever the result, at the end of the (poten­tial­ly silent) per­for­mance, you will see a Show all … mes­sages but­ton along with a blink­ing red sig­nal "=> 1 warning". Click on the but­ton to read detailed expla­na­tions of the fail­ure (or success):

🎹 Setting up MIDI sys­tem
MIDI out­put = 0: “Bus 1” 👉 the num­ber of your choice

MIDI set­tings saved to ../temp_bolprocessor/trace_974dd9ab22_-gr.tryTimePatterns_midiport
🎹 Name(s) of MIDI input or/and output changed and will be updated when saving the page of your project

(For MacOS users)

This all makes sense giv­en the Audio MIDI Setup shown above. The Bol Processor scanned all out­put (and input) MIDI ports. Given port '0' as an out­put by default, it assigned it to "Bus 1" which the 'port' set up in IAC.

If your syn­the­sis­er hap­pens to be con­nect­ed to "Bus 1", you will hear sounds and the prob­lem is solved. Let us sup­pose that you are run­ning Pianoteq and hear noth­ing. Open the set­tings of Pianoteq and select "Devices". All you have to do is check "IAC Driver Bus 1". You might also check oth­er inputs, includ­ing Pocket Key 25 if you want to con­nect your small key­board direct­ly to Pianoteq, but these are extra procedures.

Opening Pianoteq set­tings informed us that it is com­mu­ni­cat­ing with IAC, and it sug­gest­ed to use a IAC 'Bus' for this com­mu­ni­ca­tion. The 'Bus 1' port is tech­ni­cal­ly called a vir­tu­al port.

Screenshot

All you need to do to ensure that the con­nec­tion remains cor­rect when more devices are switched on/off and MIDI port num­bers change. The only reli­able way is to write the name "Bus 1" as the MIDI out­put. You can also write "Pocket Key 25" (or what­ev­er is detect­ed as your input MIDI device) to the MIDI input, as we will use it lat­er. Note that MIDI port num­bers are now irrel­e­vant, as names take prece­dence. BP3 will cor­rect them automatically.

Click the SAVE MIDI ports but­ton to store this set­ting. Clicking on the SAVE for­mat does the same thing, so don't wor­ry about con­fus­ing buttons!

To the right of the MIDI port name is an emp­ty field where you can enter a com­ment. For exam­ple, write "Pianoteq synth" to the right of "Bus 1".

Let us now switch on a Yamaha piano which is con­nect­ed via a USB MIDI inter­face. The inter­face I use has a green light that indi­cates it has pow­er. If the piano is actu­al­ly com­mu­ni­cat­ing with it, we should see a flash­ing red light. In MacOS, some­times it is nec­es­sary to restart the com­put­er after switch­ing on the piano… But in Windows and Linux the red light flash­es immediately.

As soon as the red light flash­es, open the Pianoteq set­tings. Great! We can now see that the Yamaha piano is recog­nised and con­nect­ed to the IAC.

The eas­i­est way to con­nect the Yamaha piano to BP3 is to click PLAY. Whatever hap­pens, we'll get a warn­ing and see the fol­low­ing diagnosis:

🎹 Your real-time MIDI set­tings:
MIDI out­put = 0: “Bus 1” -
MIDI input = 1: “new input” -

🎹 Setting up MacOS MIDI sys­tem
MIDI out­put = 0: “Bus 1” 👉 the name of your choice
Trying to assign ports to 1 input(s) with­out names but pos­si­bly with num­bers
MIDI input = 1: “Bus 2” 👉 the num­ber of your choice
MIDI input 1 makes BP3 inter­ac­tive

🎶 More MIDI out­put options are avail­able:
MIDI out­put = 1: “Bus 2”
MIDI out­put = 2: “Pocket Key 25”
MIDI out­put = 3: “USB MIDI Interface”

🎶 More MIDI input options are avail­able:
MIDI input = 0: “Bus 1”
MIDI input = 2: “Pocket Key 25”
MIDI input = 3: “USB MIDI Interface”

MIDI set­tings saved to ../temp_bolprocessor/trace_974dd9ab22_-gr.tryTimePatterns_midiport
🎹 Name(s) of MIDI input or/and output changed and will be updated when saving the page of your project

The MIDI input iden­ti­fied as "Pocket Key 25" is cor­rect­ly con­nect­ing to port '2'. But the Yamaha piano is iden­ti­fied as "USB MIDI Interface". This is the name we need to copy to the MIDI out­put, then SAVE MIDI ports and PLAY. Another option is to leave the name emp­ty and enter the MIDI out­put num­ber '3'.

We hear the out­put on the Yamaha piano, although port num­bers were incor­rect on the inter­face. The incon­sis­ten­cy is resolved by the MIDI dri­ver select­ing ports by name in order of pri­or­i­ty. Port num­bers (and names) are updat­ed as soon as you save or reload the project (data or gram­mar). Then you get:

Why does the name "Yamaha piano" appear in Pianoteq set­tings, but not in the MIDI ports scanned by BP3? This is a mys­tery that expert users of a MIDI stu­dio could prob­a­bly solve… For the time being, just write "Yamaha piano" in the com­ment field at the right of "USB MIDI interface". 

The _part() command

An impor­tant fea­ture imple­ment­ed in October 2024 is the abil­i­ty to send parts of a Bol Processor score to sep­a­rate out­puts. Parts are iden­ti­fied by the "_part(x)" com­mand in which 'x' is an inte­ger in range 1..12. We will be able to han­dle more than 12 parts if it turns out to be necessary.

The "_part(x)" com­mand directs MIDI mes­sages to a spe­cif­ic MIDI out­put, which in most cas­es will be an instru­ment. The image on the side shows the map­ping of port #3 (USB MIDI inter­face) to part #2, as set up in its filter.

By default, MIDI out­puts "hear" all 12 parts, but here we've restrict­ed this one to part #2.

For MIDI port #0 (Bus 1) we've restrict­ed the out­put to part #5.

Let us play the fol­low­ing score:

C3 D3

This sequence of notes is heard on both instru­ments. As there is no "_part()" com­mand in the score, all out­puts send the MIDI messages.

Now let us try:

G2 _part(5) C3 _part(2) D3

Note G2 is heard on both instru­ments. But, as expect­ed, the note C3 is heard on Bus 1 and D3 is heard on the USB MIDI inter­face.

The "_part()" com­mand has exact­ly the same syn­tac­tic behav­iour as "_chan()" and "_ins()". For exam­ple, it "fol­lows" the score along the fields of poly­met­ric struc­tures:

G2 _part(5) C3 {D3 E3, _part(2) B2 _part(5) A2} F3 _part(2) G3

In this exam­ple, G2 is heard on both instru­ments. Then C3 is sent to Bus 1, as well as D3 and E3, since they are the first field of the poly­met­ric struc­ture. In the same time, B2 is sent to the USB MIDI inter­face, then A2 to Bus1. At the out­put of the poly­met­ric struc­ture, F3 is sent to Bus 1 which was the map­ping before the struc­ture. At last, G3 is sent to the USB MIDI inter­face.

The sound-object graph shows that D3 and B2 are played togeth­er, although on dif­fer­ent instru­ments, and E3 and A2 are played togeth­er on the instru­ment con­nect­ed to Bus 1.

Parts are most­ly rel­e­vant when import­ing digi­tised scores. They are used to declare instru­ments in MusicXML files. When import­ing a score, the Bol Processor will option­al­ly place "_part()" or "_chan()" com­mands in the import­ed score, so that it can be played on the same set of dig­i­tal instruments.

Using "_part()" is a bet­ter option than "_chan()" to name an instru­ment, because MIDI chan­nels can be mod­i­fied to han­dle micro­ton­al adjust­ments. On the Data page, there is a MANAGE _chan(), _ins(), _part() but­ton that opens a dia­log for con­vert­ing parts to/from chan­nels, parts to/from instru­ments, etc.

An input

Setting up an input fol­lows exact­ly the same pro­to­col as set­ting up the out­put. For exam­ple, we can set up the input on "Pocket Key 25” as shown above. “USB MIDI Interface” (the Yamaha piano) is anoth­er pos­si­ble choice. Let us con­tin­ue with Pocket Key 25.

Windows users can sim­ply plug their exter­nal MIDI key­board (e.g. "Pocket Key 25”) to a USB port of their com­put­er, as it will be auto­mat­i­cal­ly recog­nised and set up by the system.

Connecting an input to BP3 is of lit­tle inter­est if BP3 does noth­ing with input events. The instruc­tions it can han­dle are list­ed in the sec­tion List of scripts for deal­ing with real-time MIDI below. "Wait for note…" means that BP3 will stop play­ing until it receives a NoteOn of the note in ques­tion — even with veloc­i­ty zero.

Let us pro­gram this on a Data page for example:

_script(Iwait for C3 channel 1) _transpose(12) _vel(60) E2 • D2 E2 • _vel(65) B2 D2 E2 • G2 B2 D2 E2 • _vel(70) F#2 G2 B2 D2 E2 • Bb2 F#2 G2 B2 D2 E2 • _vel(75) C2 Bb2 F#2 G2 B2 D2 E2 • _vel(77) G#2 C2 Bb2 F#2 G2 B2 D2 E2 • _vel(80) A2 G#2 C2 Bb2 F#2 G2 B2 D2 E2 • _vel(85) Eb2 A2 G#2 C2 Bb2 F#2 G2 B2 D2 E2 • _vel(87) C#2 Eb2 A2 G#2 C2 Bb2 F#2 G2 B2 D2 E2 • _vel(90) F2 C#2 Eb2 A2 G#2 C2 Bb2 F#2 G2 B2 D2 E2

The script com­mand tells that the per­for­mance should start when note C3 is received on MIDI chan­nel 1. To avoid any con­fu­sion about octave num­bers, I have writ­ten the name on the low­est key of my Pocket Key 25 (see pho­to). This con­fu­sion is made worse by the fact that the Italian/Spanish/French con­ven­tion uses low­er octave numbers!

So, the labelled key is the one we need to press to start this show. Let's try it…

When the PLAY but­ton is clicked on the Data page, a flash­ing STOP but­ton is dis­played. The machine would wait for­ev­er unless the cor­rect MIDI event has been received. The STOP but­ton — or the PANIC but­ton at the top right — can be used to abort the process clean­ly. If all goes well, press­ing the C3 key should pro­duce this sound:

Harm Visser's '-da.acceleration' example
Notice that the _transpose(12) instruc­tion plays notes one octave higher!

(This lit­tle "accel­er­a­tion" piece was com­posed by Harm Visser to illus­trate the peri­od nota­tion. Read his tuto­r­i­al.)

Multiple inter­rup­tions are of course pos­si­ble. Try this:

_script(wait for C3 channel 1) _transpose(12) _vel(60) E2 • D2 E2 • _vel(65) B2 D2 E2 • G2 B2 D2 E2 _script(wait for C4 channel 1) • _vel(70) F#2 G2 B2 D2 E2 • Bb2 F#2 G2 B2 D2 E2 • _vel(75) C2 Bb2 F#2 G2 B2 D2 E2 • _vel(77) G#2 C2 Bb2 F#2 G2 B2 D2 E2 • _vel(80) A2 G#2 C2 Bb2 F#2 G2 B2 D2 E2 • _vel(85) Eb2 A2 G#2 C2 Bb2 F#2 G2 B2 D2 E2 • _vel(87) C#2 Eb2 A2 G#2 C2 Bb2 F#2 G2 B2 D2 E2 • _vel(90) F2 C#2 Eb2 A2 G#2 C2 Bb2 F#2 G2 B2 D2 E2

Now the machine will start its per­for­mance after receiv­ing a NoteOn of C3. It will then stop after three beats and wait for a NoteOn of C4. A note­wor­thy detail is that one sec­ond after an inter­rup­tion, AllNotesOff is sent to all MIDI chan­nels and the ped­als are set to off. This pre­vents notes wait­ing for their NoteOff from being heard. This "All Notes Off" fea­ture can be turned off in the pref­er­ences file.

MIDI input filters

Let us play with the con­tin­u­ous impro­vi­sa­tion "Mozart’s musi­cal dice game" (called "-gr.Mozart" in the "ctests" fold­er). If this project is set for real-time MIDI, the impro­vi­sa­tion will not stop until we click on the STOP or PANIC but­ton. Inserting a "wait for note…" at the begin­ning would of course stop the per­for­mance at the begin­ning of every vari­a­tion. Beware that you will have to write "do2" instead of "C3" due to the note convention!

But let's try some­thing else, using the exter­nal key­board (the Pocket Key 25 or Yamaha piano) to play notes on top of the per­for­mance. How strange! We don't hear any notes played on the exter­nal key­board unless it's con­nect­ed direct­ly to the out­put device.

The rea­son for this becomes clear after click­ing on the FILTER but­ton for MIDI input 2:

All types of MIDI events are list­ed along with how they are processed by BP3. Here we are only inter­est­ed in NoteOn/NoteOff events. The default set­ting is '1', which means that they can trig­ger script com­mands, but are not for­ward­ed to the MIDI out­put. This is why 'C3/do2' was able to start the per­for­mance, although we could not hear it.

To play notes over the per­for­mance, we need to set the sta­tus of NoteOn and NoteOff to '2'. Note: If we only set the NoteOn sta­tus, BP3 will auto­mat­i­cal­ly set the NoteOff sta­tus to avoid con­fu­sion. Once you have changed the set­tings, click SAVE MIDI ports, then PRODUCE ITEM(S).

Since the Pocket Key 25 key­board sends only NoteOn/Noteoff mes­sages, we could as well set oth­er event fil­ters (KeyPressure, etc.) to '0'.

These fil­ter set­tings are stored, togeth­er with the MIDI port names or num­bers, in a tem­po­rary file whose name depends on both the ses­sion num­ber (cre­at­ed by your brows­er) and the project name. A copy of these set­tings is stored in the (per­ma­nent) fold­er "midi_resources". This stor­age makes it pos­si­ble to launch sev­er­al instances of BP3 on the same brows­er or on dif­fer­ent browsers, as we will now see.

Several BP3s performing and communicating

From the pre­vi­ous descrip­tion of inter­ac­tions via MIDI events — lim­it­ed for the time being to wait­ing for a par­tic­u­lar note — you may have guessed that a great fea­ture of the Bol Processor BP3 envi­ron­ment is the pos­si­bil­i­ty of run­ning sev­er­al BP3s, on dif­fer­ent machines, or even on a sin­gle machine and the same brows­er… in coop­er­a­tion with real humans play­ing MIDI instruments!

Each instance of BP3 can be thought of as a 'musi­cian' with their own com­po­si­tion­al skills embed­ded in a gram­mar or data (a set of pre-composed musi­cal frag­ments). We are work­ing on inter­ac­tions that will allow each musi­cian to mod­i­fy the behav­iour of anoth­er musician's gram­mar, for exam­ple by chang­ing rule weights — which may result in some rules being sup­pressed while oth­ers are acti­vat­ed — or chang­ing metronome set­tings if they need to per­form faster/slower, etc. All these fea­tures were part of ear­li­er ver­sions (BP2) sev­er­al decades ago!

Let us start with an extreme­ly sim­ple exam­ple using the "wait for note…" script.

Create two projects that con­tain only data, for exam­ple "-da.Beatrix" and "-da.Alan":

-se.Beatrix
{2, C#4 Eb4 A4 G#4 C4 Bb4 F#4 G4 B4 D4 E4}

-se.Alan
_script(wait for E4 channel 1) {2, - F3 C#3 Eb3 A3 G#3 C3 Bb3 F#3 G3 B3 D3 E3}

Note that these melodies do not con­tain the same num­ber of notes, but they will have the same dura­tion (2 beats) because of their poly­met­ric struc­tures.

We want Alan's per­for­mance to start pre­cise­ly after the last note of Beatrix's per­for­mance. As we don't want E4 to over­lap with F3, we have put a silence '-' before F3. In the fol­low­ing, we'll have a solu­tion to over­come this limitation.

To man­age the inter­ac­tion in MacOS, we need an addi­tion­al IAC port which is (auto­mat­i­cal­ly) named "Bus2". To do this, open Audi MIDI Setup and click on the IAC dri­ver. Then add a port (see pic­ture). You can cre­ate as many ports as you wish.

Set both Beatrix's MIDI out­put and Alan's MIDI input to "Bus2".

Now we want to hear both per­for­mances. Alan's MIDI out­put is sent to "Bus1" and will there­fore be audi­ble on the Pianoteq synthesiser.

Windows and Linux users can con­nect the two per­form­ers more eas­i­ly: send both Beatrix's and Alan's mes­sages to the exter­nal MIDI device, and con­nect Alan's input to the same MIDI device. But… the input fil­ter should receive events and not for­ward them to the out­put, which is the same device, oth­er­wise the loop will pro­duce a dis­as­trous bounc­ing effect!

Back to MacOS, there are two ways to send Beatrix's per­for­mance to the Pianoteq synthesiser:

  • Pianoteq set­tings make it pos­si­ble to lis­ten to both "Bus1" and "Bus2" vir­tu­al ports.
  • You can set up the MIDI event fil­ter on Alan's project to route input NoteOn/NoteOff events to the cur­rent MIDI out­put. See above for filters.

To play the per­for­mance, click PLAY on Alan's project so that it is ready to per­form. Then click PLAY on Beatrix's project. This is the result:

Two phras­es played in sequence by two instances of the BP3 (Beatrix & Alan).

No doubt this sounds rather unmu­si­cal! In fact, we pub­lish taste­less tech­ni­cal exam­ples to encour­age musi­cians to com­pose inter­est­ing pieces! 😀

Using out-time inaudible notes as signals

The idea of begin­ning Alan's per­for­mance with a silence that is filled by Beatrix's final note E4 is unel­e­gant. Below is a bet­ter solution:

-se.Beatrix
{2, C#4 Eb4 A4 G#4 C4 Bb4 F#4 G4 B4 D4 E4} _vel(0) <<C0>>

-se.Alan
_script(wait for C0 channel 1) {2, - F3 C#3 Eb3 A3 G#3 C3 Bb3 F#3 G3 B3 D3 E3}

The secret is the expres­sion "_vel(0) <<C0>>" which is an out-time expres­sion of note C0 with veloc­i­ty zero. The veloc­i­ty ensures that the note won't be heard, and the out-time prop­er­ty gives it a null dura­tion. Any note can be used here pro­vid­ed that it is men­tio­nend in the "_script(wait…)" instruc­tion.

If "_vel(0) <<C0>>" is fol­lowed by more notes, it is nec­es­sary to reset the veloc­i­ty to its default val­ue. The solu­tion is to write it between curly brack­ets, so that _vel(0) only applies to the con­tent of the expres­sion: "{_vel(0) <<C0>>}"

Checking the time accuracy

Let us check that the real-time syn­chro­ni­sa­tion is not affect­ed by delays. We'll now ask Alan and Beatrix to play the same piece of music (one octave apart) in the same time.

This time, Alan will start:

_transpose(12) _vel(60) E2 • D2 E2 • _vel(65) B2 D2 E2 • G2 B2 D2 E2 • _vel(70) F#2 G2 B2 D2 E2 • Bb2 F#2 G2 B2 D2 E2 • _vel(75) C2 Bb2 F#2 G2 B2 D2 E2 • _vel(77) G#2 C2 Bb2 F#2 G2 B2 D2 E2 • _vel(80) A2 G#2 C2 Bb2 F#2 G2 B2 D2 E2 • _vel(85) Eb2 A2 G#2 C2 Bb2 F#2 G2 B2 D2 E2 • _vel(87) C#2 Eb2 A2 G#2 C2 Bb2 F#2 G2 B2 D2 E2 • _vel(90) F2 C#2 Eb2 A2 G#2 C2 Bb2 F#2 G2 B2 D2 E2

In MacOS, Alan will send MIDI events to "Bus2". Beatrix will lis­ten to "Bus2" and send MIDI events to "Bus1" (Pianoteq). Beatrix will set her input fil­ter to the pass option, rout­ing the incom­ing events to the out­put. The Pianoteq syn­the­sis­er will be set to lis­ten to "Bus1" only.

This is the score of Beatrix:

_script(wait for E3 channel 1) _transpose(24) _vel(60) E2 • D2 E2 • _vel(65) B2 D2 E2 • G2 B2 D2 E2 • _vel(70) F#2 G2 B2 D2 E2 • Bb2 F#2 G2 B2 D2 E2 • _vel(75) C2 Bb2 F#2 G2 B2 D2 E2 • _vel(77) G#2 C2 Bb2 F#2 G2 B2 D2 E2 • _vel(80) A2 G#2 C2 Bb2 F#2 G2 B2 D2 E2 • _vel(85) Eb2 A2 G#2 C2 Bb2 F#2 G2 B2 D2 E2 • _vel(87) C#2 Eb2 A2 G#2 C2 Bb2 F#2 G2 B2 D2 E2 • _vel(90) F2 C#2 Eb2 A2 G#2 C2 Bb2 F#2 G2 B2 D2 E2

To start the per­for­mance, first click on the PLAY but­ton of Beatrix's project, then on the PLAY but­ton of Alan's project.

Have you noticed that Beatrix is wait­ing for E3, which does not appear in Alan's score? Oh yes, it does! There is a _transpose(12) com­mand that changes E2 (the first note) to E3. So, it works. This is the performance:

Two super­im­posed per­for­mances (one octave apart), played by two instances of the BP3 (Beatrix & Alan).

Not too bad? Despite the lack of musi­cal inter­est, we must admit that the super­im­po­si­tion is tech­ni­cal­ly accept­able, even if it is not per­fect: there is a delay of about 60 mil­lisec­onds on the first note, the time it takes Beatrix's machine to detect that it has received a NoteOn for C3. The sub­se­quent notes are pro­grammed to com­pen­sate for this delay, but there are still dis­crep­an­cies (which can be quan­ti­fied on the Pianoteq MIDI input). They seem to be caused by delays out­side BP3.

You can adjust the delay in Beatrix's project set­tings "-se.Beatrix". There is a para­me­ter called "Sync delay", which is the num­ber of mil­lisec­onds Beatrix's out­put events should be post­poned after the syn­chro­ni­sa­tion. We cur­rent­ly find that 380 ms is a good value.

In fact, the super­im­po­si­tion would sound even bet­ter if both per­for­mances were trig­gered by the same event, such as the con­duc­tor press­ing a key on the exter­nal key­board. This exer­cise was only intend­ed to show that syn­chro­ni­sa­tion between "vir­tu­al musi­cians" works well.

Working with multiple MIDI inputs

In the pre­vi­ous exam­ple, we could decide that Alan's per­for­mance will start when he receives a par­tic­u­lar note from the Pocket Key 25 key­board. In this case, we need to click on both START but­tons, putting both 'musi­cians' in wait mode, and the per­for­mance will not start until the cor­rect key is pressed on the keyboard.

This case is man­age­able with sin­gle inputs on each instance of BP3. More com­pli­cat­ed cas­es, how­ev­er, require exter­nal 'actors', such as a Pocket Key 25 key­board send­ing to all the 'musi­cians' syn­chro­ni­sa­tion mes­sages, or mes­sages mod­i­fy­ing para­me­ters in gram­mars, chang­ing the metronome val­ue, etc.

To achieve this, the Bol Processor is a able to man­age mul­ti­ple MIDI inputs.

The new game is as fol­lows: both Beatrix and Alan will take turns play­ing vari­a­tions of Mozart's musi­cal dice game (see '-gr.Mozart'), one octave apart. They will use the Improvise mode to con­tin­ue throw­ing the dice and cre­at­ing unheard vari­a­tions. But they will wait for a sig­nal from the oth­er to start play­ing a new variation.

In short, both musi­cians will use the same gram­mar, with only a small change for mutu­al syn­chro­ni­sa­tion. Their set­tings must be care­ful­ly adjusted:

  • Select Italian/Spanish/French as a note convention
  • Check Non-stop improvise
  • Adjust Pclock = 3 and Qclock = 11 to get the same metronome speed of 220 bpm
  • Set Sync delay to 380 ms
  • We do't want both musi­cians to repeat the same vari­a­tions. So, set the Seed for randomization to dif­fer­ent val­ues, for instance '1' and '2'. Or set it to zero to instruct the machine to seed the ran­dom sequence with an arbi­trary num­ber of its choice.

In the cur­rent ver­sion of BP3, the eas­i­est way to send a sig­nal is to send a note with a veloc­i­ty of zero, which will there­fore go unheard. So we need to change the gram­mar to add these par­tic­u­lar notes.

In fact, the same notes should nev­er be part of the score, so that the sig­nal is real­ly sent at the end. This is easy with Mozart's game, for exam­ple we can use C# (do#) for the syn­chro­ni­sa­tion. Below are the tops of the gram­mars used by Beatrix and Alan.

Beatrix '-gr.Beatrix':

-se.Beatrix
ORD
gram#1[1] S --> _script(wait for do#3 chan­nel 1) _vel(80) A B _vel(0) do#2
gram#1[2] A --> A1 A2 A3 A4 A5 A6 A7 A8 A1 A2 A3 A4 A5 A6 A7 A'8
gram#1[3] B --> B1 B2 B3 B4 B5 B6 B7 B8 B1 B2 B3 B4 B5 B6 B7 B8 -------------------
LIN [Select rules ran­dom­ly and apply from left to right]
etc.

Alan's '-gr.Alan':

-se.Alan
ORD
gram#1[1] S --> _script(wait for do#2 chan­nel 1) _vel(80) _transpose(-12) A B _vel(0) do#4
gram#1[2] A --> A1 A2 A3 A4 A5 A6 A7 A8 A1 A2 A3 A4 A5 A6 A7 A'8
gram#1[3] B --> B1 B2 B3 B4 B5 B6 B7 B8 B1 B2 B3 B4 B5 B6 B7 B8 -------------------
LIN [Select rules ran­dom­ly and apply from left to right]
etc.

Again, we put do#4 at the end of Alan's per­for­mance because it is played as do#3 (one octave low­er) due to the _transpose(-12) instruc­tion.

Now we need to set up the MIDI inputs and out­puts. Beatrix will send events to "Bus 1" which is the Pianoteq syn­the­siz­er. She will receive events from "Bus 2", use them for syn­chro­ni­sa­tion, and for­ward them to the output.

Alan will send events to "Bus 2" and lis­ten to "Bus 1" for the synchronisation.

This is all per­fect on paper, but who is going to start? We have cre­at­ed a chick­en and egg sit­u­a­tion, so we need a super­pow­er to start the process! Actually, a real human press­ing the do#2 key on a Pocket Key 25 key­board will do.

The inter­face has a Add an input but­ton. We click it on Alan's project and paste the name Pocket Key 25. We also use the com­ment fields to remem­ber the use of each port:

To start the con­cert, we'll click START on both projects. The order is irrel­e­vant. Then we'll press a key on the Pocket Key 25. Which key?

If we press the do#2 key, we will cer­tain­ly trig­ger Alan's impro­vi­sa­tion and the cycle will start. But if we press the do#3 key, noth­ing will hap­pen because the fil­ter of the Pocket Key 25's input, by default, does not trans­mit NoteOns to the out­put. So Beatrix won't hear it… By set­ting NoteOn to sta­tus '2' (treat and pass) on this fil­ter, it will be pos­si­ble to decide who will start the per­for­mance: do#2 for Alan and do#3 for Beatrix.

Here we go (start­ing with Alan):

Alan and Beatrix (two instances of BP3) play­ing vari­a­tions of Mozart's musi­cal dice game

👉  This sim­ple show should con­vince musi­cians to cre­ate "vir­tu­al bands" of BP3s play­ing dif­fer­ent gram­mars and send­ing spe­cif­ic syn­chro­ni­sa­tion sig­nals accord­ing to which vari­a­tion has just been pro­duced. Along with human per­form­ers who join in the fun!

The "vir­tu­al musi­cians" can be on the same com­put­er or remote­ly con­nect­ed via net­work (BlueTooth) or MIDI cables and USB inter­faces. If they are on the same com­put­er, they can be run on dif­fer­ent browsers and/or the same brows­er. In the lat­ter case, BP3 will not allow the same project (gram­mar or data) to be run in the same ses­sion. In gen­er­al, just like human musi­cians in an orches­tra have indi­vid­ual scores, it makes sense that vir­tu­al musi­cians don't share the same project…

The num­ber of MIDI inputs and out­puts in a project is cur­rent­ly lim­it­ed to 32. It is very unlike­ly that a (human) musi­cian will need more!

Synchronise to a sequence (or list) of notes

The fol­low­ing expression

gram#1[1] S --> _script(wait for C3 chan­nel 1) - _script(wait for E3 chan­nel 1) etc.

syn­chro­nis­es the pro­duc­tion to the sequence of notes C3 E3 (what­ev­er the dura­tion and veloc­i­ty). This cre­ates inter­est­ing sit­u­a­tions where a "vir­tu­al musi­cian" is expect­ed to start play­ing after receiv­ing a sig­nal (C3) from one part­ner, then a sig­nal (E3) from anoth­er partner.

Note that there is a silence '-' between the two script instruc­tions. If there is no silence, then BP3 will resume play­ing if either C3 or E3 has been received.

Remember that because of the MIDI chan­nel spec­i­fi­ca­tion (range 1 to 16), the detec­tion of sig­nals can be very selec­tive. They are also inaudi­ble when trans­mit­ted by NoteOns with veloc­i­ty zero.

Crashing the band!

In the exam­ple of Alan & Beatrix play­ing Mozart, the con­nec­tion seems to cre­ate a loop: Beatrix sends events to Pianoteq and Alan (bus 1), who in turn sends events to Beatrix (bus 2). Isn't that dangerous?

The rea­son it doesn't crash is that Alan's input "fromBeatrix" (Bus 1) is fil­tered: NoteOns are received and processed (for syn­chro­ni­sa­tion), but not passed to the out­put (Bus 2), i.e. to Beatrix. You can try to change the fil­ter of input "Bus1" on Alan's project, set­ting NoteOns to sta­tus '2' (treat + pass): you will get a superb crash after a flood of notes!
➡  This shouldn't hap­pen, because BP3's MIDI dri­vers have been equipped with an anti-bouncing mechanism.

Working with multiple MIDI outputs

The Bol Processor cur­rent­ly accepts up to 32 MIDI inputs and outputs.

Example of a project using two inputs and two outputs:

A set­up with two MIDI out­puts and two MIDI inputs

The pro­ce­dure for adding out­puts is the same as the one for adding inputs: click on the Add an out­put but­ton, then enter the name of the MIDI device if you know it exact­ly, oth­er­wise leave it blank and let the machine con­nect it by default to the next avail­able out­put, while sug­gest­ing oth­er options:

🎹 Your real-time MIDI set­tings:
MIDI out­put = 0: “Bus 1” - Pianoteq
MIDI out­put = 3: “USB MIDI Interface” - Yamaha piano
MIDI input = 1: “Bus 2” - from Alex
MIDI input = 2: “Pocket Key 25” - a small key­board

🎹 Setting up MacOS MIDI sys­tem
MIDI out­put = 0: “Bus 1” 👉 the name of your choice
MIDI out­put = 3: “USB MIDI Interface” 👉 the name of your choice
MIDI input = 1: “Bus 2” 👉 the name of your choice
MIDI input 1 makes BP3 inter­ac­tive
MIDI input = 2: “Pocket Key 25” 👉 the name of your choice
MIDI input 2 makes BP3 inter­ac­tive

🎶 More MIDI out­put options were avail­able:
MIDI out­put = 1: “Bus 2”
MIDI out­put = 2: “Pocket Key 25”

🎶 More MIDI input options were avail­able:
MIDI input = 0: “Bus 1”
MIDI input = 3: “USB MIDI Interface”

The fact that a MIDI input or out­put is "avail­able" does not guar­an­tee that it will do what we want it to do. For exam­ple, send­ing MIDI mes­sages to the Pocket Key 25 key­board will actu­al­ly do nothing.

Filtering MIDI outputs

In the exam­ple above, MIDI out­put 3 (the Yamaha piano con­nect­ed to the USB MIDI Interface) has the fol­low­ing filter:

A fil­ter for MIDI out­put 3

The chan­nel fil­ter spec­i­fies that the Yamaha piano will receive all MIDI chan­nels except those emit­ted on MIDI chan­nel 2. Filtering MIDI chan­nels makes it pos­si­ble to send events exclu­sive­ly to dif­fer­ent instruments.

MIDI events can also be fil­tered by type. The idea is the same as for MIDI input fil­ters, see above.

👉  If you do not hear any sound in real-time MIDI, you may con­sid­er check­ing the out­put MIDI fil­ters before you kick the piano or screw up its cables!

Using standard MIDI control

MIDI has stan­dard con­trol mes­sages, name­ly Start, Continue and Stop, which can be used to coor­di­nate mul­ti­ple "vir­tu­al musi­cians" (instances of BP3). The advan­tage is the clar­i­ty of the data and the gram­mars pro­grammed for inter­ac­tions. The dis­ad­van­tage is that these mes­sages are not assigned to spe­cif­ic MIDI chan­nels. This can be a prob­lem with a large num­ber of "musi­cians". They also intro­duce a delay of about 250 mil­lisec­onds due to the time it takes for the MIDI device to process them.

Let us look at a triv­ial exam­ple (of no musi­cal inter­est), again with Beatrix and Alan play­ing togeth­er. This time, they take turns play­ing their items (sim­ple sequences of notes).

Alan will start first. Below is the data:

E3 D3 C3 _script(MIDI send Start) _script(wait for Continue) A2 B2 C3

In short, he will play three notes (E3 D3 C3), then send a START to Beatrix and wait for a CONTINUE from Beatrix, then on receipt play the final three notes A2 B2 C3.

This is Beatrix's data:

_script(wait for Start) E4 D4 C4 _script(MIDI send Continue)

Start and Continue should be "heard" by Beatrix. Automatically, Stop will have the same status.

Beatrix's project sends its out­put to "Bus 1", the Pianoteq syn­the­siz­er. Its input is con­nect­ed to the vir­tu­al port "Bus 2".

Alan's project sends its out­put to the vir­tu­al port "Bus 2", and its input is con­nect­ed to "Bus 1".

We'll start the per­for­mance with Beatrix. Her machine will stay wait­ing for START. Then we'll start Alan's part, which will play three notes, then send a START mes­sage to Beatrix, who will play her part, and return to Alan, via a CONTINUE mes­sage, for the final part…

This all sounds log­i­cal, but it doesn't work! We do hear Alan's E3 D3 C3, but then noth­ing… The first rea­son is that Beatrix should be able to hear Alan's START com­mand, which is no longer a NoteOn as in the pre­vi­ous exam­ples. This means that the fil­ter of her input "Bus 2", from which she receives Alan's MIDI mes­sages, must be set cor­rect­ly. The Start event should be received, see pic­ture on the side. Also remem­ber that NoteOn and NoteOff should be received and trans­mit­ted to the out­put (the Pianoteq synth).

Well, now we hear Alan's E3 D3 C3 fol­lowed with Beatrix's E4 D4 C4, but then… nothing! 😢

Careful analy­sis is need­ed to solve the prob­lem. However, this is sim­ple log­ic. Remember that Alan is play­ing on "Bus 2", which is not con­nect­ed to any MIDI device. If we hear Alan's pro­duc­tion, it is because it is received by Beatrix on "Bus 2" and then for­ward­ed to "Bus 1" (the Pianoteq synth). The prob­lem is that the final part A2 B2 C3 is sent to Beatrix, but she has already stopped lis­ten­ing because her own data is finished!

You can imag­ine a band in which one musi­cian plays an impro­vi­sa­tion and then gives a sig­nal to anoth­er musi­cian to start their own impro­vi­sa­tion, but the care­less musi­cian has already vacat­ed the place believ­ing that the pro­gramme was fin­ished. The solu­tion is to tell the musi­cians not to go away until they receive a STOP sig­nal. Maybe a sig­nal from a con­duc­tor (here using the Pocket Key 25 key­board), maybe a sig­nal from the musi­cian who is in charge of end­ing the per­for­mance. So we'll tell Alan to send a STOP sig­nal at the end of his per­for­mance, and Beatrix to wait for Alan's STOP sig­nal. Below are the revised scores.

// Alan
E3 D3 C3 _script(MIDI send Start) _script(wait for Continue) A2 B2 C3 _script(MIDI send Stop)

// Beatrix
_script(wait for Start) E4 D4 C4 _script(MIDI send Continue) _script(wait for Stop)

The MIDI mes­sages Start, Continue, Stop have been used here to facil­i­tate the read­ing of scores (or gram­mars), but these can be replaced by NoteOns with dura­tions and veloc­i­ties zero on dif­fer­ent MIDI chan­nels when work­ing with a larg­er num­ber of actors.

By the way, using MIDI mes­sages Start, Continue and Stop can be prob­lem­at­ic with phys­i­cal or vir­tu­al MIDI devices. The Yamaha piano, for exam­ple, does not trans­mit these mes­sages. So, when con­nect­ed to an input, it will only send 3-byte mes­sages such as NoteOn/NoteOffs. In the Windows envi­ron­ment, the Microsoft GS Wavetable Synth also does not trans­mit any mes­sage at all. The best way to exchange mes­sages is via vir­tu­al MIDI ports cre­at­ed by "loopMIDI" (see below). In Linux, vir­tu­al ports such as 'VirMIDI 0-0' (see below) do not seem to trans­mit these Start, Continue and Stop messages.

For geeks: In the Bol proces­sor, scripts are append­ed to the next fol­low­ing sound object. For exam­ple, _script(wait for Start) is append­ed to note E4 in Beatrix's score. But what about scripts at the end of a score? The secret is that BP3 cre­ates an invis­i­ble MIDI event (ActiveSensing) at the end of each ele­ment to which it can append the final scripts.

List of scripts for dealing with real-time MIDI

The list below will be kept up to date as there are many scripts on the agen­da. These instruc­tions are not case-sensitive.

Input scripts

When a note is spec­i­fied, be sure to use the same note con­ven­tion as in the project, e.g. C3 or do2 or sa3, etc.

Wait for note chan­nel cWait for a NoteOn of the spec­i­fied note on chan­nel c (1…16)
Wait for StartWait for a Start MIDI mes­sage (250)
Wait for ContinueWait for a Continue MIDI mes­sage (251)
Wait for StopWait for a Stop MIDI mes­sage (252)
Wait for­ev­erWait until STOP or PANIC but­ton is clicked
Velocity param Kx = note chan­nel cSet para­me­ter Kx (0 < x < 128) to the veloc­i­ty (range 0…127) of the spe­cif­ic note on chan­nel c (1…16)
Control param Kx = #y chan­nel cSet para­me­ter Kx (0 < x < 128) to the val­ue (range 0…127) of MIDI con­troller #y (0 < y < 128) on chan­nel c (1…16)

Output scripts

Hold for x millisecondsDelay all sub­se­quent events by the spec­i­fied dura­tion x (inte­ger).
Send StartSend Start MIDI mes­sage (250)
Send ContinueSend Continue MIDI mes­sage (251)
Send StopSend Stop MIDI mes­sage (252)

Scripts on top of a grammar

(To be continued)

Capture incoming events

The _capture() com­mand allows incom­ing MIDI events to be record­ed to a 'cap­ture' text file. See the Capture MIDI input page for explanations.

Alternatives to IAC

Here are the equiv­a­lents of Apple's IAC (Inter-Application Communication) for each system:

Windows environment

On Windows, you can use soft­ware like loopMIDI or virtualMIDISynth to cre­ate vir­tu­al MIDI ports. These tools work sim­i­lar­ly to the IAC Driver on macOS:

  • loopMIDI: Created by Tobias Erichsen, loopMIDI is a pop­u­lar choice for cre­at­ing vir­tu­al MIDI ports on Windows. It allows you to cre­ate and man­age sev­er­al vir­tu­al ports which can be used by appli­ca­tions to com­mu­ni­cate with each other. 
  • virtualMIDISynth: This is anoth­er tool that can be used to cre­ate a MIDI syn­the­siz­er device which can be accessed via a vir­tu­al MIDI cable. 

These tools inte­grate with soft­ware appli­ca­tions that sup­port MIDI, pro­vid­ing a seam­less way to con­nect var­i­ous MIDI appli­ca­tions with­out need­ing exter­nal MIDI hardware.

Linux environment

On Linux, ALSA (Advanced Linux Sound Architecture) pro­vides capa­bil­i­ties to cre­ate vir­tu­al MIDI devices through its sequenc­ing API.

  • snd-virmidi: This ALSA MIDI dri­ver pro­vides vir­tu­al MIDI ports for send­ing and receiv­ing MIDI between appli­ca­tions run­ning on the same sys­tem. It's part of the stan­dard ALSA mod­ule set and can be con­fig­ured to pro­vide mul­ti­ple ports.

To set up vir­tu­al MIDI ports on Linux using ALSA, you typ­i­cal­ly need to load the snd-virmidi mod­ule. You can do this by running:

sudo modprobe snd-virmidi midi_devs=2

This com­mand loads the snd-virmidi mod­ule and sets it up to pro­vide two vir­tu­al MIDI devices (you can increase the num­ber of devices by chang­ing the midi_devs para­me­ter). The vir­tu­al ports, name­ly 'VirMIDI 0-0' and 'VirMIDI 0-1' , can then be accessed by MIDI appli­ca­tions on the Linux sys­tem. Please note that they do not appear to trans­mit the Start, Stop and Continue messages.

👉 This is done auto­mat­i­cal­ly by the "install_bp3.sh" shell script installing BP3 on Linux/Ubuntu (down­load here).

Bernard Bel
June-August 2024

Au cœur des rythmes indiens

Entretien avec James Kippen
English ver­sion

Par Antoine Bourgeau 

James Kippen est un des spé­cial­istes incon­tourn­ables de la musique hin­dous­tanie. Sa ren­con­tre en 1981 avec Afaq Hussain, alors doyen d’une des grandes lignées de joueur de tablā, est le point de départ d’importantes recherch­es sur cet instru­ment et sur les rythmes indi­ens. Il a occupé de 1990 à 2019 la chaire d’ethnomusicologie de la Faculty of Music de l’Université de Toronto (Canada). Formé à l’école de John Blacking et de John Baily, il acquiert par­al­lèle­ment au cours de ses recherch­es la maîtrise de cer­taines langues indo-persanes. Cette habil­ité lui per­met l’analyse de pre­mière main de nom­breuses sources (traités de musique, man­u­scrits de musi­ciens, généalo­gies, icono­gra­phies…) et d’appréhender les dif­férents con­textes socio-culturels indi­ens et leurs muta­tions depuis le XVIIIe siè­cle (cours indo-persanes, empire colo­nial bri­tan­nique, mon­tée du nation­al­isme, post-colonialisme).  Son tra­vail (voir la liste de ses pub­li­ca­tions en fin d’entretien) s’impose comme une con­tri­bu­tion majeure à la com­préhen­sion des pra­tiques rel­a­tives au rythme et au mètre en Inde. J’ai com­mencé à cor­re­spon­dre avec James Kippen lors de mes pro­pres recherch­es sur le tablā à la fin des années 1990. Toujours prompt à partager ses con­nais­sances et son expéri­ence avec ent­hou­si­asme, il me don­na de nom­breux con­seils et encour­age­ments et ce fût un grand hon­neur de le compter par­mi les mem­bres de mon jury de thèse lors de ma sou­te­nance en 2004. C’est avec la même envie de trans­met­tre qu’il a répon­du favor­able­ment à ma propo­si­tion d’entretien. Réalisé à dis­tance entre juil­let et décem­bre 2020, cet échange, à l’origine en anglais, relate près de quar­ante années de recherch­es ethnomusicologiques.

Traduction : Olivia Levingston et Antoine Bourgeau – Octobre 2021.

➡ Source = doi:10.13140/RG.2.2.26071.80804
➡ English ver­sion = doi:10.13140/RG.2.2.12650.03522
or https://bolprocessor.org/kippen-interview/

La voie de l’Inde et du tablā

Comment en es-tu venu à t’intéresser aux musiques de l’Inde et au tablā en particulier ?

J’ai gran­di à Londres, et déjà enfant j'étais fasciné par les dif­férentes langues et cul­tures qui étaient intro­duites pro­gres­sive­ment en Grande-Bretagne par les immi­grants. J’étais par­ti­c­ulière­ment séduit par les petites épiceries regorgeant de pro­duits exo­tiques et par les restau­rants indi­ens qui dégageaient des arômes épicés alléchants. Mon père me par­lait sou­vent de ses aven­tures pen­dant les sept années qu'il avait passées en Inde en tant que jeune sol­dat, et j'ai donc dévelop­pé une image très attrayante, bien qu’orientaliste, du sous-continent indi­en. Pendant ma licence de musique à l'Université de York (1975-78), mon ami et cama­rade Francis Silkstone m'a fait con­naître le sitār. J'ai égale­ment eu la chance de suiv­re un cours inten­sif de musique hin­dous­tanie avec le con­férenci­er Neil Sorrell, qui avait étudié la sāraṅgī avec le renom­mé Ram Narayan. La lit­téra­ture disponible à cette époque était rel­a­tive­ment rare, mais deux textes en par­ti­c­uli­er étaient tout de même très influ­ents : « Tabla in Perspective » de Rebecca Stewart (UCLA, 1974), qui a nour­ri en moi un intérêt musi­cologique pour les var­iétés et les com­plex­ités du rythme et le jeu des per­cus­sions et « The Cultural Structure and Social Organization of Musicians in India : the Perspective from Delhi » de Daniel Neuman (Université de l'Illinois, Urbana-Champaign, 1974), un aperçu socio-anthropologique du monde des musi­ciens tra­di­tion­nels et hérédi­taires indi­ens et de leurs points de vue.

 J’ai donc com­mencé à appren­dre le tablā à par­tir des dis­ques 33 tours et des livrets de Robert Gottlieb appelés « 42 Lessons for Tabla », et après quelques mois, j'avais appris suff­isam­ment de tech­niques de base pour accom­pa­g­n­er F. Silkstone lors d’un réc­i­tal. J'ai ensuite été l’élève de Manikrao Popatkar, un excel­lent joueur de tablā pro­fes­sion­nel qui venait d’immigrer en Grande-Bretagne. J'étais « accro » ! De plus, la pen­sée que je pour­rais entr­er dans ce monde socio-musical du tablā en Inde en qual­ité de participant-observateur m'a motivée à chercher des pro­grammes d'études supérieures où je pour­rais dévelop­per mes con­nais­sances et com­pé­tences tout en com­bi­nant les approches musi­cologiques et anthro­pologiques de R. Stewart et D. Neuman. Sur les con­seils de N. Sorrell, j'ai donc écrit à John Blacking au sujet de la pos­si­bil­ité d'étudier à l'Université Queen's de Belfast, et John a été très encour­ageant, en m'offrant une entrée directe au pro­gramme de doc­tor­at. Il a égale­ment souligné que son col­lègue John Baily avait récem­ment écrit un texte : « Krishna Govinda's Rudiments of Tabla Playing ». J'avais trou­vé le pro­gramme d'études supérieures idéal et des guides parfaits.

Approches méthodologiques

« How Musical Is Man » de J. Blacking est un texte fon­da­men­tal paru en 1973, à contre-courant de la pen­sée de l’époque, refu­sant les fron­tières entre musi­colo­gie et eth­no­mu­si­colo­gie ain­si que les oppo­si­tions stériles entre les tra­di­tions musi­cales. J. Blacking avance égale­ment l’idée essen­tielle que la musique, même si ce mot n’existe pas partout, est présente à tra­vers toutes les cul­tures humaines, en ce qu’elle résulte du « son humaine­ment organ­isé ». Sais-tu s’il con­nais­sait les pro­pos d’E. Varèse ? Voulant lui aus­si se démar­quer de la sig­ni­fi­ca­tion occi­den­tale du con­cept de « musique », bien que pour d’autres raisons, il avait avancé en 1941 l’expression de « son organisé ».

Je ne me sou­viens pas que J. Blacking ait men­tion­né Varèse ou ses réflex­ions sur la nature de la musique. John était par con­tre un excel­lent musi­cien et pianiste qui avait sans doute ren­con­tré et étudié beau­coup de musique d'art occi­den­tal, et il est donc pos­si­ble qu'il ait con­nu la déf­i­ni­tion de Varèse. Cependant, alors que la philoso­phie de Varèse est née de la con­vic­tion que les machines et les tech­nolo­gies seraient capa­bles d'organiser le son, J. Blacking a voulu porter l’attention sur la musique comme fait social : une activ­ité où la mul­ti­tude des façons dont les êtres humains pro­duisent leurs sons, à la fois comme inter­prètes et surtout comme audi­teurs, per­me­t­trait de révéler beau­coup de choses sur leur struc­ture sociale.

En quoi tes études uni­ver­si­taires ont-elles ori­en­té tes recherches ?

J'ai eu la chance d'avoir non pas un mais deux men­tors : J. Blacking et J. Baily, tous deux très dif­férents. J. Blacking regorgeait d’idées, grandes et inspi­rantes, qui ont défié et révo­lu­tion­né la façon dont on pense la musique et la société, tan­dis que J. Baily a mis l'accent sur une approche plus méthodique et empirique fondée sur la per­for­mance musi­cale et sur la ges­tion scrupuleuse de l'acquisition et la doc­u­men­ta­tion des données.

Il ne faut pas oubli­er que j'étais jeune et inex­péri­men­té lorsque j'ai entre­pris ce tra­vail de ter­rain, et donc l'exemple de J. Baily, axé sur la musique et la col­lecte de don­nées, m’a servi de guide pra­tique dans ma vie quo­ti­di­enne pen­dant mes années en Inde. Et lorsque j’avais en ma pos­ses­sion un énorme cor­pus de don­nées, j'ai pu pren­dre du recul et, inspiré par J. Blacking, j’ai pu iden­ti­fi­er cer­tains des grands mod­èles que ces don­nées met­taient en lumière. J'ai donc été frap­pé par le réc­it cohérent du déclin cul­turel lié à la nos­tal­gie d'un passé glo­rieux et artis­tique­ment abon­dant, et la tra­di­tion musi­cale du tablā de Lucknow était l'un des derniers liens vivants avec ce monde per­du. Cela est devenu l'un des thèmes clés de ma thèse de doc­tor­at et de cer­tains des autres travaux qui ont suivi. Quant à ma car­rière d'enseignant, j'ai essayé au fil des ans de com­bin­er les meilleures qual­ités de mes deux maîtres, tout en pro­mou­vant tou­jours l'idée que, dans les recherch­es por­tant sur la musique et la vie musi­cale, la théorie devrait naître à par­tir de don­nées solides et ne jamais ignor­er le dia­logue avec la réal­ité ethno­graphique afin de préserv­er ain­si sa valeur heuristique.

Dans « Working with the Masters » (2008), tu décris avec détails et fran­chise (ce qui est assez rare dans la pro­fes­sion !…) ton expéri­ence de ter­rain dans les années 1980 avec Afaq Hussain. Cette expéri­ence, et le réc­it que tu en fais, appa­rais­sent comme un mod­èle pour toute recherche en eth­nolo­gie et en eth­no­mu­si­colo­gie avec la par­tic­u­lar­ité de l’apprentissage musi­cal. Tu rends compte ain­si des phas­es d’approche, de ren­con­tre, de test et, enfin (et heureuse­ment dans ton cas) d’acceptation au sein de l’environnement étudié et de la con­fi­ance accordée per­me­t­tant de déploy­er pleine­ment ses inten­tions de recherche et d’apprentissage musi­cal. Tu abor­des aus­si les réflex­ions éthiques et déon­tologiques indis­pens­ables au chercheur : rela­tion aux autres, con­flits de loy­auté résul­tant des pos­si­bles dis­so­nances entre le rap­port à l’informateur et les objec­tifs ethno­graphique, respon­s­abil­ités vis à vis du savoir récolté et place du chercheur-musicien dans la réal­ité musi­cale de la tra­di­tion étudiée. Au-delà des par­tic­u­lar­ités du con­texte musi­cal, y a-t-il des spé­ci­ficités indi­ennes que les chercheurs occi­den­taux doivent avoir en tête pour entre­pren­dre (et espér­er réus­sir) une étude eth­nologique en Inde ?

La société sud-asiatique a énor­mé­ment changé au cours des 40 années qui se sont écoulées, c’est une évi­dence, et ce depuis que j'ai com­mencé à men­er des recherch­es ethno­graphiques. Mais cer­tains principes, ceux qui devraient guider le proces­sus d'enquête,  demeurent inébran­lables. C’est le cas du pro­fond respect pour la dimen­sion de l'ancienneté, qu’elle soit sociale ou cul­turelle. Naturellement, l'accès à une com­mu­nauté est la clef de voute, et il n'y a pas de meilleur « gate­keep­er » ou « spon­sor » (pour utilis­er les ter­mes anthro­pologiques) qu'une fig­ure d'autorité au sein de la sous-culture que l'on étudie, puisque la per­mis­sion que l'on reçoit se réper­cute sur la hiérar­chie sociale et famil­iale. Le dan­ger, dans une société forte­ment patri­ar­cale comme celle de l'Inde, est que l'on se retrou­ve avec une vision hiérar­chique descen­dante de la vie musi­cale. Si j'avais l'occasion de repren­dre mes recherch­es dans ce domaine, j'accorderais une plus grande atten­tion à ceux qui se trou­vent à dif­férents niveaux de cette hiérar­chie, en par­ti­c­uli­er aux femmes et à la musi­cal­ité quo­ti­di­enne de la vie dans la sphère domes­tique. En se con­cen­trant unique­ment sur les aspects les plus raf­finés de la pro­duc­tion cul­turelle, on peut pass­er à côté de ce qui a de la valeur dans la for­ma­tion des idées, de l'esthétique et des mécan­ismes de sou­tien néces­saires à la survie et à l'épanouissement d'une tra­di­tion artistique.

 Sur une note plus prag­ma­tique (et qui con­cerne plus sou­vent il me sem­ble les aspects relat­ifs au tra­vail sur le ter­rain), j'ai trou­vé que les entre­tiens formels enreg­istrés étaient rarement très fructueux parce qu'ils étaient ressen­tis comme intim­i­dants et étaient accom­pa­g­nés d'attentes élevées. En out­re, une sen­si­bil­ité accrue aux ram­i­fi­ca­tions poli­tiques – micro et macro – nous engageant à par­ler selon nos con­vic­tions, représen­tait sou­vent un obsta­cle à la col­lecte d'informations. En vérité, offi­cieuse­ment et dans des cir­con­stances déten­dues, moins je demandais et plus j'écoutais, plus l'information que je rece­vais était utile et intéres­sante. La mise en garde est que pour fonc­tion­ner de cette manière, il faut dévelop­per un niveau de patience que la plu­part des Occidentaux auraient du mal à accepter.

Fig. 1 : Séance d’enregistrement d’Afaq Hussain chez James Kippen, Lucknow, 1982,  pho­to de James Kippen

Tu adoptes dans les années 1980 l’« approche dialec­tique » enseignée par J. Blacking en y asso­ciant l’informatique et un pro­gramme d’IA. Le but était d’analyser les fonde­ments du jeu impro­visé des joueurs de tablā. Peux-tu revenir sur la genèse et l’évolution de cette approche ?

J. Blacking était par­ti­c­ulière­ment intéressé par le tra­vail de Noam Chomsky sur les gram­maires trans­for­ma­tion­nelles. Il théori­sait sur le fait que l'on pou­vait créer des ensem­bles de règles pour la musique – une gram­maire – avec plusieurs « couch­es » ; la pre­mière décrirait com­ment ces struc­tures sonores de sur­face étaient organ­isées. Les autres plus pro­fondes, com­prendraient des règles abor­dant des principes de plus en plus généraux sur l'organisation musi­cale et, au niveau le plus pro­fond, la gram­maire for­malis­erait les règles régis­sant les principes de l'organisation sociale. Si le but ultime d'un eth­no­mu­si­co­logue est de reli­er la struc­ture sociale à la struc­ture sonore, ou vice ver­sa, alors c'était cette idée que J. Blacking défendait pour attein­dre cet objectif.

L’été 1981, j'ai fui la chaleur intense des plaines du nord de l'Inde et me suis réfugié près de Mussoorie dans les con­tre­forts de l'Himalaya. J'avais con­venu de retrou­ver mon ami F. Silkstone, qui à l'époque étu­di­ait le sitār avec Imrat Khan et le dhru­pad avec Fahimuddin Dagar à Calcutta. Francis est arrivé avec Fahimuddin et l'un des étu­di­ants améri­cains de Fahim, Jim Arnold. Jim et Bernard Bel (un infor­mati­cien et math­é­mati­cien qui vivait à l'époque à New Delhi) tra­vail­laient ensem­ble pour un pro­jet expéri­men­tal sur l'intonation dans le rāga. Bernard est alors arrivé à Mussoorie, égale­ment pour échap­per à la chaleur, et pen­dant env­i­ron un mois nous avons tous vécu ensem­ble dans un envi­ron­nement riche et fer­tile de musique et d'idées. C'est là que Bernard et moi avons dis­cuté pour la pre­mière fois de la notion des gram­maires socio-musicales de J. Blacking, ain­si que de ma fas­ci­na­tion pour un type de com­po­si­tion des joueurs de tablā, avec une struc­ture offrant un thème et des vari­a­tions, con­nues sous le nom de qāi­da. J’étais très curieux d’apprendre que Bernard pou­vait con­cevoir un pro­gramme infor­ma­tique capa­ble de mod­élis­er le proces­sus de créa­tion de vari­a­tions à par­tir d'un thème donné.

L'année suiv­ante, Bernard et moi nous sommes ren­con­trés à plusieurs repris­es : il en a appris beau­coup plus sur le fonc­tion­nement du tablā et j'ai beau­coup appris sur la lin­guis­tique math­é­ma­tique. Ensemble, nous avons créé des ensem­bles de règles – des gram­maires trans­for­ma­tion­nelles – qui ont généré des vari­a­tions à par­tir d'un thème de qāi­da et traité des vari­a­tions exis­tantes pour déter­min­er si nos règles pou­vaient en tenir compte. Mais il était évi­dent que les con­nais­sances mod­élisées étaient les miennes et non celles de musi­ciens experts. Alors nous avons dévelop­pé une stratégie pour impli­quer ces experts en tant que « col­lab­o­ra­teurs et ana­lystes » (une expres­sion sou­vent util­isée par J. Blacking) dans un échange dialec­tique. Après tout, un « sys­tème expert » était des­tiné à mod­élis­er les con­nais­sances d'experts, et il n'y avait pas de meilleur expert qu'Afaq Hussain.

➡ Pour plus d’informations sur ces expéri­ences, voir : https://bolprocessor.org/bp1-in-real-musical-context/

Avais-tu con­nais­sance d’autres types de démarch­es inter­ac­tives comme celle du re-recording dévelop­pée un peu plus tôt par S. Arom ?

J'étais au courant des méth­odes inter­ac­tives de S. Arom pour obtenir les pro­pres per­spec­tives des musi­ciens sur ce qui se pas­sait dans leur musique, tout comme j'étais au courant des travaux en anthro­polo­gie cog­ni­tive visant à déter­min­er les caté­gories cog­ni­tives sig­ni­fica­tives pour les per­son­nes que nous étudi­ions. La thèse de S. Arom selon laque­lle les don­nées cul­turelles devaient être validées par nos inter­locu­teurs a cer­taine­ment été très influ­ente. Je ne con­nais­sais pas d'autres approches. Les exi­gences de notre sit­u­a­tion expéri­men­tale par­ti­c­ulière nous ont oblig­és à inven­ter notre pro­pre méthodolo­gie unique pour ce proces­sus d’interaction homme-machine.

On con­naît la crainte des maîtres indi­ens d’une dif­fu­sion de leurs savoirs au-delà de leur gharānā, et en par­ti­c­uli­er cer­taines tech­niques et com­po­si­tions. Quelles étaient l’attitude et l’implication d’Afaq Hussain dans cette démarche qui met­tait à jour les struc­tures des qāida ?

Afaq Hussain n'était pas du tout préoc­cupé par les révéla­tions con­cer­nant le qāi­da puisque l'art de les jouer dépendait de sa capac­ité à impro­vis­er. En d’autres ter­mes, il s’agissait d’une activ­ité axée sur les proces­sus et donc en con­stante évo­lu­tion. A l’inverse, les com­po­si­tions fix­es, en par­ti­c­uli­er celles trans­mis­es de généra­tion en généra­tion au sein de la famille, ne changeaient pas. Celles-ci étaient con­sid­érées comme des atouts pré­cieux et étaient soigneuse­ment gardées.

 Lorsque je repense aux expéri­ences sci­en­tifiques, je m'étonne que Bernard ait pu créer une gram­maire généra­tive aus­si puis­sante pour un ordi­na­teur (d'abord un Apple II avec 64k RAM, puis le portable 128k Apple IIc) avec une puis­sance de traite­ment et un espace aus­si lim­ité. Afaq Hussain s'est égale­ment éton­né qu'une machine « puisse penser », pour repren­dre son expres­sion. Nous avons com­mencé par une gram­maire de base pour un qāi­da don­né, puis généré quelques vari­a­tions, et je les ai ensuite lues à voix haute en util­isant la langue syl­labique, les bols pour tablā. De nom­breux résul­tats étaient prévis­i­bles, cer­tains étaient inhab­ituels mais néan­moins accept­a­bles, et d'autres ont été jugés erronés – tech­nique­ment et esthé­tique­ment. Nous avons ensuite demandé à Afaq Hussain de pro­pos­er ses pro­pres vari­a­tions ; celles-ci ont été intro­duites dans l'ordinateur (j’ai effec­tué la saisie en util­isant un sys­tème de cor­réla­tion de clés pour gag­n­er en rapid­ité) et « analysées » pour déter­min­er si les règles de notre gram­maire pou­vaient en tenir compte. De sim­ples ajuste­ments aux règles étaient pos­si­bles in situ, mais lorsqu'une repro­gram­ma­tion plus com­plexe était néces­saire, nous pas­sions à un deux­ième exem­ple et reve­nions à l’exemple d'origine dans une ses­sion ultérieure.

Fig. 2 : James Kippen, Afaq Hussain et son fils Ilmas Hussain, Lucknow, 1982, pho­to de James Kippen

Est-ce que ces recherch­es ont con­cerné d’autres types de com­po­si­tion comme les gat ou les tukra ?

Non. L'avantage d’observer une struc­ture de thème et de vari­a­tions comme celle des qāi­da est fondé sur le fait que chaque com­po­si­tion est un sys­tème fer­mé où les vari­a­tions (vistār) sont lim­itées aux élé­ments présen­tés dans le thème. Le but est donc de com­pren­dre les règles non écrites pour créer des vari­a­tions. Les com­po­si­tions fix­es comme les gat, ṭukṛā, paran, etc., com­pren­nent une var­iété d'éléments beau­coup plus large et plus imprévis­i­ble, et seraient ain­si très dif­fi­ciles à mod­élis­er. Cependant, nous avons pu expéri­menter sur le type de com­po­si­tion appelé tihāī : la phrase répétée trois fois qui agit comme une cadence ryth­mique finale. Cette dernière peut être mod­élisée math­é­ma­tique­ment afin d’obtenir une for­mule arith­mé­tique dans laque­lle on peut pro­pos­er des phras­es ryth­miques, puis être appliquée soit à un qāi­da (un frag­ment de son thème ou l'une de ses vari­a­tions), soit à des com­po­si­tions fix­es comme par exem­ple le ṭukṛā.

Est-ce que cer­taines phras­es ryth­miques générées par l’ordinateur et validées par Afaq Hussain ont inté­gré le réper­toire du gharānā de Lucknow ?

C'est une ques­tion dif­fi­cile. Lorsque nous étions au milieu d'une péri­ode inten­sive d'expérimentation avec le « Bol Processor », une sorte de dia­logue se met­tait en bran­le où Afaq Hussain alter­nait des phras­es ryth­miques générées par ordi­na­teur avec des ensem­bles de vari­a­tions qui lui étaient pro­pres. Tant de com­po­si­tions ont été générées et alternées de cette manière qu'il était sou­vent dif­fi­cile de savoir si le réper­toire qu'il jouait en con­cert prove­nait de l'ordinateur ou pas. Pourtant, alors que cer­tains enseignants et inter­prètes dévelop­pent un réper­toire de vari­a­tions fix­es provenant d’un thème, Afaq Hussain lui l'a rarement fait, s'appuyant plutôt sur son imag­i­na­tion « dans l'instant ». C'est aus­si l'approche qu'il a encour­agée en nous. Par con­séquent, je doute que le matériel généré par ordi­na­teur soit devenu une par­tie per­ma­nente du répertoire.

Est-ce que ce type d’approche spé­ci­fique util­isant l’IA en eth­no­mu­si­colo­gie a été pour­suivi par d’autres ?

Le terme « Intelligence Artificielle » a fait l'objet d'un change­ment rad­i­cal dans les années 1980-1990 grâce au développe­ment de l'approche « con­nex­ion­niste » (les neu­rones arti­fi­ciels) et de tech­niques d'apprentissage à par­tir d'exemples capa­bles de traiter une grande masse de don­nées. Avec le Bol Processor (BP) nous étions au stade de la mod­éli­sa­tion symbolique-numérique de déci­sions humaines représen­tées par des gram­maires formelles, ce qui exigeait une con­nais­sance appro­fondie, bien qu'intuitive, des mécan­ismes de décision.

Pour cette rai­son, les approches symboliques-numériques n'ont pas été repris­es par d'autres équipes à ma con­nais­sance. Par con­tre, nous avions aus­si abor­dé l'apprentissage automa­tique (de gram­maires formelles) à l'aide du logi­ciel QAVAID écrit sous Prolog II. Nous avons ain­si mon­tré que la machine devait col­lecter des infor­ma­tions en dia­loguant avec le musi­cien pour effectuer une seg­men­ta­tion cor­recte des phras­es musi­cales et amorcer un tra­vail de général­i­sa­tion par inférence induc­tive. Mais ce tra­vail n'a pas été pour­suivi car les machines étaient trop lentes et nous ne dis­po­sions pas de cor­pus assez grands pour con­stru­ire un mod­èle cou­vrant une grande var­iété de mod­èles d'improvisation.

Il se peut que des chercheurs indi­ens fassent appel à de l'apprentissage à par­tir d'exemples – qu'on appelle aujourd'hui « Intelligence Artificielle » – pour traiter de grandes mass­es de don­nées pro­duites par des per­cus­sion­nistes. Cette approche « big data » a le défaut de man­quer de pré­ci­sion dans un domaine où la pré­ci­sion est un mar­queur d'expertise musi­cale, et de ne pas pro­duire des algo­rithmes com­préhen­si­bles qui con­stitueraient une « gram­maire générale » de l'improvisation sur un instru­ment de per­cus­sion. Notre ambi­tion ini­tiale était de con­tribuer à la con­struc­tion de cette gram­maire, mais nous avons seule­ment prou­vé, avec la tech­nolo­gie de l'époque, que ce serait réalisable.

Fig. 3 : Bhupal Ray Chowdhury (dis­ci­ple de Wajid Hussain et son fils Afaq Hussain) et J. Kippen en séance d’expérimentation avec le Bol Processor, Calcutta, 1984, pho­to de James Kippen

Dans les ver­sions ultérieures, ce logi­ciel a pu pro­cur­er égale­ment de la matière et des out­ils pour le tra­vail de com­po­si­tion en musique et en danse au-delà du con­texte indi­en. On fêtera en 2021 les 40 ans de ce logi­ciel avec une nou­velle ver­sion. Quels sont les artistes qui ont util­isé le logiciel ? 

Des com­po­si­tions ryth­miques pro­gram­mées sur BP2 et inter­prétées sur un syn­thé­tiseur Roland D50 ont été util­isées pour l'œuvre choré­graphique CRONOS dirigée par Andréine Bel et pro­duite en 1994 au NCPA de Bombay. Voir par exem­ple https://bolprocessor.org/shapes-in-rhythm/.

A la fin des années 1990, le com­pos­i­teur néer­landais H. Visser a util­isé BP2 pour con­tribuer au développe­ment d'opérateurs per­me­t­tant la com­po­si­tion de musique sérielle. Voir par exem­ple https://bolprocessor.org/harm-vissers-examples/.

Nous avons eu des retours et deman­des d'universitaires européens et améri­cains qui utilisent BP2 comme out­il péd­a­gogique pour l'enseignement de la com­po­si­tion musi­cale. Mais nous n'avons jamais fait de cam­pagne « pub­lic­i­taire » à grande échelle pour agrandir la com­mu­nauté d'utilisateurs, étant intéressés en pri­or­ité par le développe­ment du sys­tème et la recherche musi­cologique qui lui est associée.

La prin­ci­pale lim­ite de BP2 était son fonc­tion­nement exclusif dans l'environnement Mac. C'est pourquoi la ver­sion BP3 en cours de développe­ment est mul­ti­plate­forme. Elle sera vraisem­blable­ment mise en ser­vice en ver­sion « Cloud » ren­du pos­si­ble par son inter­ac­tion étroite avec le logi­ciel Csound. Ce logi­ciel per­met de pro­gram­mer des algo­rithmes per­for­mants de pro­duc­tion sonore et de tra­vailler avec des mod­èles d'intonation micro­tonale que nous avons dévelop­pés, aus­si bien pour la musique har­monique que pour le raga indi­en – voir https://bolprocessor.org/category/related/musicology/.

Etudes de la notation, du mètre, du rythme et de leurs évolutions

Au fil de ton tra­vail, la ques­tion de la nota­tion musi­cale occupe une place impor­tante autant sur le plan de la méthodolo­gie que sur celui de la réflex­ion à pro­pos de son usage. Tu as mis en place ton pro­pre sys­tème afin de représen­ter le plus rigoureuse­ment pos­si­ble tes analy­ses des com­po­si­tions de tablā et de pakhā­vaj. Peux-tu nous par­ler de cet aspect de ton travail ? 

Toutes les nota­tions écrites sont des approx­i­ma­tions incom­plètes et leur con­tri­bu­tion au proces­sus de trans­mis­sion est lim­ité. Les représen­ta­tions orales, comme les suites de syl­labes énon­cées (bols) représen­tant des frappes de per­cus­sion, trans­met­tent sou­vent des infor­ma­tions plus pré­cis­es sur la musi­cal­ité inhérente aux mod­èles, tels que l’accentuation, l'inflexion, le phrasé et la vari­abil­ité micro-rythmique. De même, une fois intéri­or­isées, ces syl­labes sont indélé­biles. Nous savons que les sys­tèmes oraux favorisent une bonne mémoire musi­cale, ce qui est par­ti­c­ulière­ment impor­tant dans le con­texte de la per­for­mance musi­cale en Inde où les inter­prètes ne com­men­cent qu'avec une feuille de route très générale, mais pren­nent ensuite toutes sortes de détours inat­ten­dus. Dans cette per­spec­tive, on pour­rait se deman­der pourquoi écrire quoi que ce soit ?

À par­tir des années 1860, il y a eu un essor des nota­tions musi­cales en Inde, inspiré il me sem­ble par la prise de con­science que la musique occi­den­tale pos­sé­dait un sys­tème de nota­tion effi­cace, et sus­cité aus­si par l'augmentation con­stante de l'apprentissage insti­tu­tion­nal­isé et d’un besoin appar­ent de textes péd­a­gogiques et de réper­toires. Pourtant, il n'y a jamais eu de con­sen­sus sur la façon de not­er, et chaque nou­veau sys­tème dif­férait grande­ment des autres. La nota­tion conçue en 1903 par Gurudev Patwardhan était sans doute la plus détail­lée et la plus pré­cise jamais créée pour les per­cus­sions comme le tablā et le pakhā­vaj, mais elle était sûre­ment trop com­pliquée pour que les étu­di­ants la lisent comme une par­ti­tion. Son objec­tif pre­mier était donc davan­tage d'être un ouvrage de référence qui préser­vait le réper­toire et four­nis­sait un pro­gramme pour un appren­tis­sage structuré.

Nous vivons dans un monde de l’écrit et les musi­ciens recon­nais­sent que leurs élèves ne con­sacrent plus leurs journées entières à la pra­tique. Comme d'autres pro­fesseurs, Afaq Hussain nous a tous encour­agés à écrire le réper­toire qu'il enseignait pour qu'il ne soit pas oublié. Pour moi, il était par­ti­c­ulière­ment impor­tant de saisir deux aspects dans mes pro­pres cahiers : la pré­ci­sion ryth­mique et les doigtés pré­cis. En ce qui con­cerne ce dernier, par exem­ple, face à la phrase keṛe­na­ga tirak­iṭa takata­ka tirak­iṭa, je m’assurais de not­er cor­recte­ment le doigté pré­cis dans la douzaine de tech­niques pos­si­bles pour takata­ka, sans par­ler des var­iétés de keṛe­na­ga, et j’indiquais égale­ment que les deux ver­sions de tirak­iṭa avaient été jouées légère­ment différemment.

Afaq Hussain a gardé ses pro­pres cahiers rangés en toute sécu­rité dans une armoire ver­rouil­lée. Il les con­sul­tait par­fois. Je pense qu'il avait con­science du fait que le réper­toire dis­parais­sait effec­tive­ment avec la tra­di­tion orale. Après tout, il y a des cen­taines, voire des mil­liers de morceaux de musique. Son grand-père, Abid Hussain (1867-1936) fut le pre­mier pro­fesseur de tablā au Bhatkhande Music College de Lucknow. Lui aus­si a noté des com­po­si­tions de tablā, et j'ai en ma pos­ses­sion des cen­taines de pages qu'il a écrites sans aucun doute pour être pub­liées sous forme de texte péd­a­gogique. Cependant, il n'a pas indiqué de rythmes ou de doigtés pré­cis, et l'interprétation de sa musique est donc prob­lé­ma­tique, même pour le fils d'Afaq Hussain, Ilmas Hussain, avec qui j'ai passé tout son réper­toire au peigne fin. Une nota­tion pré­cise a donc de la valeur, si elle est accom­pa­g­née d'une tra­di­tion orale qui peut ajouter toutes les infor­ma­tions néces­saires pour don­ner vie à la musique.

Avec tes recherch­es récentes sur de nom­breux textes indo-persans des XVIIIe et XIXe siè­cles, tu mets en évi­dence l’évolution de la représen­ta­tion de la métrique en Inde. Ces recherch­es illus­trent l’importance de l’approche his­torique et met­tent en évi­dence pleine­ment les mécan­ismes d’évolution des faits cul­turels. Quels sont les con­cepts que tu utilis­es pour décrire ces phénomènes ?

Une facette impor­tante de notre for­ma­tion anthro­pologique était d'apprendre à fonc­tion­ner dans la langue de ceux avec qui nous nous sommes engagés dans nos recherch­es, non seule­ment pour gér­er la vie au quo­ti­di­en, mais aus­si pour avoir accès à des con­cepts qui sont sig­ni­fi­cat­ifs dans la cul­ture étudiée. Deux ter­mes sont impor­tants à cet égard, l'un dont l'importance est à mon avis exagérée, l'autre sous-estimée. Premièrement, gharānā, qui depuis sa pre­mière appari­tion dans les années 1860 sig­nifi­ait « famille » mais qui, au fil du temps, en est venu à englober toute per­son­ne qui croit partager cer­tains élé­ments de tech­nique, de style ou de réper­toire avec une per­son­ne dom­i­nante du passé. Deuxièmement, sil­si­la, un terme com­mun dans le soufisme qui sig­ni­fie « chaîne, con­nex­ion ou suc­ces­sion », et qui a une per­ti­nence spé­ci­fique dans le cas de l’enseignement dans une lignée de musi­ciens. C'est cette sil­si­la plus pré­cise qui détient, selon moi, la clé de la trans­mis­sion de la cul­ture musi­cale, et pour­tant le para­doxe est que la chaîne porte en elle une direc­tive implicite pour explor­er l’individualité créa­trice. C'est pourquoi, par exem­ple, lorsque l'on exam­ine la lignée des joueurs de tablā de Delhi à par­tir du milieu du XIXe siè­cle, on con­state des dif­férences majeures de tech­nique, de style et de réper­toire d'une généra­tion à l'autre. Il en va de même pour mon pro­fesseur Afaq Hussain, dont le jeu dif­férait grande­ment de celui de son père et enseignant Wajid Hussain. Chaque indi­vidu hérite d'une cer­taine essence musi­cale dans la sil­si­la, bien sûr, mais il doit s'engager et opér­er dans un monde en con­stante évo­lu­tion où la survie artis­tique néces­site une adap­ta­tion. Il est donc d'une impor­tance vitale lors de l'étude de toute époque musi­cale de recueil­lir autant d'informations que pos­si­ble sur le milieu socio­cul­turel observé.

Comme je viens de le démon­tr­er, il est impératif de s'engager avec des con­cepts de la cul­ture, de les expli­quer et de les utilis­er sans recourir à la tra­duc­tion. Un autre excel­lent exem­ple est celui du terme tāla, qui est le plus sou­vent traduit par mètre ou cycle métrique. Et pour­tant, il y a une dif­férence fon­da­men­tale entre les deux. Le mètre est implicite : c'est un motif qui est dérivé des rythmes de sur­face d'une pièce, et se com­pose d'une impul­sion sous-jacente qui est organ­isée en une séquence hiérar­chique récur­rente de bat­te­ments forts et faibles. Mais, par con­traste, tāla est explicite : c'est un motif récur­rent de bat­te­ments non hiérar­chiques se man­i­fes­tant par des gestes de la main con­sis­tant en des claps, des mou­ve­ments silen­cieux de la main et des comptes sur les doigts, ou comme une séquence rel­a­tive­ment fixe de frappes de per­cus­sion. Utiliser le terme « mètre » dans le con­texte indi­en est donc trompeur, et j'encourage donc l'utilisation de terme tāla avec une expli­ca­tion mais sans traduction.

Tu tra­vailles actuelle­ment sur un ouvrage con­cer­nant les sources du XVIIIe et XIXe siè­cles, quel est ton objectif ?

Mon objec­tif est de retrac­er les orig­ines et l'évolution du sys­tème du tāla actuelle­ment util­isé dans la musique hin­dous­tanie en rassem­blant autant d'informations que pos­si­ble à par­tir de sources con­tem­po­raines de la fin du XVIIe siè­cle jusqu’au début du XXe siè­cle et de l'ère de l’enregistrement. Le prob­lème est que les infor­ma­tions disponibles sont frag­men­taires et sou­vent rédigées dans un lan­gage obscur : la tâche s'apparente à un puz­zle où la plu­part des pièces man­quent. De plus, les sources que l'on trou­ve ne sont pas néces­saire­ment directe­ment con­nec­tées, et donc j’ai plutôt l’impression de tra­vailler avec deux ou plusieurs puz­zles à la fois. En bref, après une analyse minu­tieuse, des déduc­tions et des hypothès­es, je pense qu'il y a eu une con­ver­gence des sys­tèmes ryth­miques au XVIIIe siè­cle qui a don­né nais­sance au sys­tème du tāla d'aujourd'hui.

 Les pra­tiques musi­cales et les con­textes soci­aux des divers­es com­mu­nautés (les Kalāwant qui chan­taient le dhru­pad, les Qawwāl qui chan­taient le khayāl, le tarā­na et le qaul, ain­si que la com­mu­nauté des Ḍhāḍhī qui accom­pa­g­naient tous ces gen­res musi­caux), doivent impéra­tive­ment être pris en compte pour com­pren­dre com­ment et pourquoi la musique et le rythme en par­ti­c­uli­er, ont évolués comme ils l'ont fait. Pourtant, il y a tant d'autres aspects impor­tants dans cette his­toire : le rôle des femmes instru­men­tistes dans les espaces privés de la vie mog­hole au XVIIIe siè­cle, et leur dis­pari­tion pro­gres­sive au XIXe siè­cle, le colo­nial­isme, le statut et l'influence des textes anciens, les tech­niques d'impression et la dif­fu­sion de nou­veaux textes péd­a­gogiques à la fin du XIXe siè­cle, pour n'en citer que quelques-uns.

Quelles sont les sources intéres­santes à con­sid­ér­er pour com­pren­dre l’évolution des pra­tiques et des représen­ta­tions ryth­miques de la musique hindoustanie ?

Le nord de l'Inde a tou­jours été ouvert aux échanges cul­turels, et cela était par­ti­c­ulière­ment le cas sous les Moghols. Il est impératif de com­pren­dre qui se rendait dans ces cours, d'où ils venaient et ce qu'ils jouaient. Il est tout aus­si impor­tant de com­pren­dre les doc­u­ments écrits disponibles ain­si que les dis­cours intel­lectuels de l'époque, car la con­nais­sance de la musique était cru­ciale pour l'étiquette mog­hole. Ainsi, quand on sait que le traité de musique très influ­ent Kitāb al-adwār, du théoricien du XIIIe siè­cle Safi al-Din al-Urmawi al-Baghdadi, était large­ment disponible en Inde en arabe et en tra­duc­tion per­sane, et que des exem­plaires se trou­vaient dans la col­lec­tion des nobles de Delhi à par­tir du XVIIe siè­cle, on com­prend mieux pourquoi le rythme indi­en était expliqué en util­isant les principes de la prosodie arabe à la fin du XVIIIe siè­cle. Mon argu­ment est que la prosodie arabe, appliquée à la musique, était un out­il plus puis­sant que les méth­odes tra­di­tion­nelles de prosodie san­skrite, et qu’elle était donc plus effi­cace pour décrire les change­ments qui se pro­dui­saient dans la pen­sée et la pra­tique ryth­mique à cette époque.

Ces recherch­es ethno-historiques bous­cu­lent par­fois les croy­ances de cer­tains musi­ciens et chercheurs, notam­ment sur les ques­tions d’ancienneté et d’« authen­tic­ité » des tra­di­tions. Penses-tu que les musi­ciens d’aujourd’hui sont davan­tage enclins à accepter les évi­dences de la nature com­plexe des tra­di­tions musi­cales, for­mées de mul­ti­ples apports et en per­pétuelles transformations ?

Certains le sont, mais cer­tains ne le sont pas. Il y a tou­jours eu un petit nom­bre de chercheurs en Inde qui menaient des recherch­es pré­cieuses et factuelles sur la musique. Pourtant, je suis déçu de con­stater qu'il y en a beau­coup d'autres qui reposent sur le rabâchage et la dif­fu­sion d'opinions non fondées et non savantes. Ce qui me sur­prend peut-être le plus, c'est le manque de for­ma­tion sci­en­tifique rigoureuse dans les uni­ver­sités de musique en Inde et la per­sis­tance d'idées et d'informations réfutées ou dis­créditées en dépit de tant d'excellentes recherch­es pub­liées indi­quant le contraire.

Fig. 4 : J. Kippen, 2017, Université de Toronto. Photo de James Kippen

Depuis les années 1990, on con­state le ren­force­ment d’un nation­al­isme hin­dou au sein de la société indi­enne. Notes-tu un impact par­ti­c­uli­er sur le monde de la musique hin­dous­tanie et sur celui de la recherche ?

Il s’agit là d’un sujet com­plexe et sen­si­ble. Le nation­al­isme hin­dou n'est pas nou­veau, loin de là, et comme je l'ai démon­tré dans mon livre sur Gurudev Patwardhan, il a con­sti­tué une par­tie impor­tante de la rai­son d'être de la vie et de l'œuvre de Vishnu Digambar Paluskar au début du XXe siè­cle. Comme de nom­breux chercheurs l'ont souligné, ce nation­al­isme avait ses racines dans le colo­nial­isme et s'est dévelop­pé en tant que mou­ve­ment anti­colo­nial axé sur la poli­tique iden­ti­taire hin­doue. Ce réc­it, basé sur des notions inven­tées d'un passé hin­dou glo­rieux, a min­imisé les con­tri­bu­tions de la cul­ture mog­hole et des grandes lignées de musi­ciens musul­mans (sans par­ler des femmes). Depuis ce temps, l'identité musul­mane indi­enne dans le domaine de la musique a con­nu un cer­tain déclin. Les chercheurs ont pris note de cette chute et ont ten­té de retrac­er cer­tains des contre-récits qui ont jusqu'à présent été ignorés, comme l'excellent livre de Max Katz Lineage of Loss (Wesleyan University Press, 2017) sur une grande famille de musiciens-savants musul­mans, nom­mée Shahjahanpur-Lucknow gharānā. Je pense que dans de nom­breuses études actuelles qui por­tent sur la musique en Inde se trou­ve une forte moti­va­tion de ne pas omet­tre ces réc­its cul­turels impor­tants, de les réanimer et de les replac­er dans le grand réc­it de l'histoire de l'Asie du Sud.

A la suite de R. Stewart, tu as mis en évi­dence l’intrication com­plexe des approches ryth­miques et métriques dans le jeu des joueurs de tablā en mon­trant qu’il résulte de divers apports cul­turels qui se sont suc­cédés dans le temps. Avec l’intensification des échanges cul­turels mon­di­aux depuis la fin du XXe siè­cle, as-tu observé une ou des ten­dances évo­lu­tives dans le jeu des joueurs de tablā ?

Depuis l'inclusion du tablā dans la musique pop des années 1960, l’exaltante fusion jazz du groupe Shakti de John McLaughlin dans les années 1970 et l'omniprésence aujourd’hui du tablā dans la musique sous toutes ses formes, il sem­ble tout naturel que les joueurs de tablā du monde entier aient envie d’explorer et d’expérimenter ses sons mag­iques. Zakir Hussain a mon­tré la voie en démon­trant la flex­i­bil­ité et l'adaptabilité de cet instru­ment, ain­si que la véloc­ité vis­cérale et pal­pi­tante de ses motifs rythmiques.

Quant au tablā, dans le con­texte de la musique de con­cert hin­dous­tanie, j'ai remar­qué que nom­breux sont ceux qui ten­tent d'injecter ce même sen­ti­ment d'exaltation, ren­for­cé de plus en plus, semble-t-il, par une ampli­fi­ca­tion si forte qu'elle déforme le son et heurte les tym­pa­ns du pub­lic jusqu'à la soumis­sion.  J'irais jusqu'à dire que c'est mal­heureuse­ment devenu la norme. À cet égard, je me con­sid­ère comme une sorte de puriste qui aspire à un retour à une pra­tique où le joueur de tablā main­tient un rôle sub­til, dis­cret mais de sou­tien, et com­plète la ligne du soliste, en restant mod­este et sans domin­er la scène lorsqu'il est invité à faire une petite appari­tion ou un court solo. De la même manière, je désire un retour aux soli de tablā qui regor­gent de con­tenu plutôt que d’« effets sonores ». Par « con­tenu », j'entends des com­po­si­tions tra­di­tion­nelles de car­ac­tère, dotées de tech­niques spé­cial­isées, dont les com­pos­i­teurs sont nom­més et ain­si hon­orés. Et pour­tant, il est douloureuse­ment évi­dent qu'un tel « con­tenu » n'atteint pas beau­coup de jeunes joueurs de nos jours.

Ethnomusicologie

Comme évo­qué, tes recherch­es met­tent en avant l’importance des sources his­toriques aus­si bien que la prise en compte des phénomènes plus large comme l’orientalisme ou le nation­al­isme pour com­pren­dre le présent des pra­tiques musi­cales indi­ennes. En même temps tu es très atten­tif aux intens­es phénomènes tran­scul­turels actuels et à la néces­sité de les appréhen­der. Dans la pro­fes­sion, le con­cept d’« eth­no­mu­si­colo­gie » ne fait pas tou­jours con­sen­sus. Quelle est ta posi­tion par rap­port à cette appel­la­tion et à l’objet de cette dis­ci­pline en ce début du XXIe siècle ?

Je n'ai jamais été par­ti­c­ulière­ment à l'aise avec l'étiquette d’« eth­no­mu­si­colo­gie ». Comme dis­ait J. Blacking, toute musique est de la « musique eth­nique », et par con­séquent, il ne devrait pas y avoir de dis­tinc­tion entre les études sur le tablā, le game­lan, le hip-hop et celles sur Bach, Beethoven ou Brahms. Nous nous enga­geons tous dans un « dis­cours sur la musique », une « musi­colo­gie ». L'avantage de ter­mes comme « anthro­polo­gie » ou « soci­olo­gie » de la musique est qu'ils impliquent une gamme plus large d'approches théoriques et méthodologiques qui nous rap­pel­lent que la musique est un fait social. Pourtant, nous devons recon­naître que le champ des études eth­no­mu­si­cologiques a évolué et que, de nos jours, une atten­tion bien plus grande est accordée à des phénomènes comme le bruit ou les sons de la vie quo­ti­di­enne. Par con­séquent (sans vouloir paraître trop cynique) bien que dans cer­tains milieux les « sound stud­ies » soient traitées avec un cer­tain mépris, ce terme très général est peut-être la déf­i­ni­tion la plus hon­nête et la plus pré­cise de ce que nous (nous tous) faisons. Je recon­nais toute­fois qu'il serait dom­mage de rejeter com­plète­ment le terme « musique », et donc j’aime con­cevoir l'ethnomusicologie, la musi­colo­gie et la théorie musi­cale se réu­nis­sant sous la rubrique « musique et sound stud­ies ».

Enseignement

Après une courte péri­ode à Belfast, tu as enseigné à Toronto, peux tu nous par­ler de ton expéri­ence d’enseignement ?

Toronto est une ville mer­veilleuse et, selon la plu­part des témoignages, c'est la ville la plus mul­ti­cul­turelle de la planète. Elle offre un envi­ron­nement musi­cal très riche et stimulant.

Miecyzslaw Kolinski a enseigné à l'Université de Toronto de 1966 à 1978. Ses intérêts eth­no­mu­si­cologiques ont été façon­nés par sa for­ma­tion auprès de Hornbostel et Sachs, et par la vision d’un monde, partagée par tant de géants de notre dis­ci­pline. Ses pub­li­ca­tions por­tent sur les bases sci­en­tifiques de l'harmonie et de la mélodie et il a dévelop­pé des méth­odes d'analyse inter­cul­turelle. Son approche a été caté­gorique­ment rejetée dans ma pro­pre for­ma­tion avec John Blacking qui a tou­jours défendu avec véhé­mence le rel­a­tivisme cul­turel, tout comme cela était en con­tra­dic­tion avec la for­ma­tion de Tim Rice à l'Université de Washington. Tim a été embauché en 1974 et est par­ti pour l'UCLA en 1987. Comme moi à mes débuts, Tim a eu du mal à con­va­in­cre ses col­lègues de l'importance de l'approche eth­no­mu­si­cologique et de la néces­sité de traiter notre dis­ci­pline avec le respect qu'elle mérite et les ressources qu'elle néces­site. Nous avons tous les deux beau­coup lut­té. Tim a créé un pro­gramme qui est devenu con­nu sous ma direc­tion sous le nom « The World Music Ensembles », et pour ma part j'ai acquis un game­lan bali­nais en 1993, aidé par mon épouse, l'ethnomusicologue Annette Sanger, anci­enne col­lègue de J. Blacking. De plus, Tim et moi avons réus­si à inté­gr­er davan­tage les cours d'ethnomusicologie au cœur du pro­gramme pour nous assur­er que tous les étu­di­ants en musique, quels que soient leurs intérêts, soient exposés à notre approche et com­pren­nent la valeur et l'importance d'une vision sociale­ment fondée de toute musique. J’ai créé un cours d'introduction d'un an inti­t­ulé Music as Culture que j'ai co-enseigné pen­dant quelques années avec un col­lègue de musi­colo­gie : nous avons alterné nos cours, illus­trant et croisant notre cor­pus et nos obser­va­tions sur nos canons occi­den­taux et le vaste monde de la musique au-delà. Mon cours Introduction to Music & Society est devenu emblé­ma­tique. Mon approche étant essen­tielle­ment mod­u­laire, les thèmes choi­sis ont changé et se sont adap­tés au fil du temps pour refléter des préoc­cu­pa­tions plus con­tem­po­raines, notam­ment la musique et l'identité, l'expérience religieuse, la migra­tion, le genre, la guéri­son et les sound stud­ies.

Dans mes fonc­tions d’enseignant, j'ai conçu et enseigné une var­iété de cours : Hindustani music, Music & Islam, Theory & Method in Ethnomusicology, The Beatles, Anthropology of Music, Fieldwork, Music, Colonialism & Postcolonialism, Rhythm & Metre in Cross-Cultural Perspective, Transcription, Notation & Analysis, etc. J'ai tra­vail­lé avec la com­mu­nauté sud-asiatique de Toronto pour organ­is­er des con­certs du chanteur Pandit Jasraj. Ils ont attiré des spon­sors générant des bours­es d'études fiables pour des étu­di­ants dont les recherch­es por­taient sur la musique hin­dous­tanie. J'ai aidé à met­tre en place un pro­gramme d'artiste en rési­dence, invi­tant des musi­ciens du monde entier à pass­er un trimestre avec nous à enseign­er et à jouer. J'ai con­tribué à la refonte de nos pro­grammes d'études supérieures axés sur la musi­colo­gie et j'ai intro­duit dans le pro­gramme d’étude une maîtrise et un doc­tor­at en eth­no­mu­si­colo­gie. Mais les deux réal­i­sa­tions dont je suis sans doute le plus fier sont pre­mière­ment les nom­breux et mer­veilleux doc­tor­ants que j'ai encadrés, dont beau­coup ont eux-mêmes pour­suivi une car­rière dans le milieu uni­ver­si­taire, et deux­ième­ment le suc­cès de mon ini­tia­tive d’élargissement de notre représen­ta­tion : nous sommes passés d'un seul poste de pro­fesseur à qua­tre tit­u­laires à plein-temps en ethnomusicologie.

Quelle est ta place au sein du gharānā de Lucknow ?

J'ai beau­coup appré­cié appren­dre et jouer du tablā dans ma vie et je me con­sid­ère extrême­ment chanceux d'avoir eu un lien aus­si étroit et pro­duc­tif avec l'un des joueurs de tablā les plus remar­quables de l'histoire : Afaq Hussain. J'ai la chance d'avoir une bonne mémoire et j'ai donc encore dans ma tête un vaste réper­toire de com­po­si­tions mer­veilleuses remon­tant aux pre­miers mem­bres de la lignée Lucknow qui ont prospéré à la fin du XVIIIe et au début du XIXe siè­cle. Je suis par­ti­c­ulière­ment intéressé par la tech­nique et j'ai passé beau­coup de temps à étudi­er les mécan­ismes du jeu. Cependant, je suis avant tout un éru­dit et, en pra­tique, je ne me fais aucune illu­sion d’être guère plus qu’un ama­teur. En effet, mon intérêt pour le jeu m'a fourni des aperçus extra­or­di­naires de l'instrument et de son histoire.

Quant à ma place ou mon rôle au sein du gharānā de Lucknow, je dirais deux choses. Tout d'abord, je con­tin­ue à faire par­tie de l'échange d'idées et de réper­toire avec mes pairs aux côtés desquels j'ai étudié le tablā et qui font par­tie main­tenant, comme moi, des grandes fig­ures de la sil­si­la, la lignée directe de l’enseignement d'Afaq Hussain. Ils me con­sid­èrent comme un pro­fes­sion­nel avisé,  une autorité dans mon domaine. Parfois, on me demande si je me sou­viens d'une com­po­si­tion rare sur laque­lle il y a eu débat, et par­fois j'introduis dans notre dia­logue des infor­ma­tions et des ques­tions issues de mes recherch­es qui sus­ci­tent un vif intérêt. Par exem­ple, le fils d'Afaq Hussain, Ilmas Hussain, et moi-même avons tra­vail­lé ensem­ble pour ressus­citer les cahiers de son arrière-grand-père Abid Hussain et les plac­er dans leur con­texte, non seule­ment celui de leur tra­di­tion mais aus­si celui de la fin des années 1920 et du début des années 1930, années durant lesquelles Abid Hussain incar­nait le tout pre­mier pro­fesseur de tablā au Bhatkhande College de Lucknow. Enfin, je pense que mes travaux ont su attir­er une plus grande atten­tion sur la lignée de Lucknow. Quand je suis arrivé à la porte d'Afaq Hussain en jan­vi­er 1981, il était affaib­li – psy­chologique­ment et finan­cière­ment – et son avenir était incer­tain. D'autres étu­di­ants étrangers ont suivi mon exem­ple et ont rejoint un nom­bre tou­jours crois­sant de dis­ci­ples indi­ens venus pour appren­dre. Mon livre, The Tabla of Lucknow, ain­si que d'autres facettes de mes recherch­es ont donc bien con­tribué à attir­er l'attention nationale et inter­na­tionale sur Afaq Hussain, son fils Ilmas et toute leur tradition.

Liste des publications

Ouvrages         

2006                   Gurudev’s Drumming Legacy : Music, Theory and Nationalism in the Mrdang aur Tabla Vadanpaddhati of Gurudev Patwardhan. Aldershot : Ashgate (SOAS Musicology Series).

2005                   The Tabla of Lucknow : A Cultural Analysis of a Musical Tradition. New Delhi : Manohar (Nouvelle édi­tion avec nou­velle préface).

1988                   The Tabla of Lucknow : A Cultural Analysis of a Musical Tradition. Cambridge : Cambridge University Press (Cambridge Studies in Ethnomusicology).

Direction d’ouvrage          

2013                   avec Frank Kouwenhoven, Music, Dance and the Art of Seduction. Delft : Eburon Academic Publishers.

Direction de revue

1994-1996        Bansuri (A year­ly jour­nal devot­ed to the music and dance of India, pub­lished by Raga Mala Performing Arts of Canada). Volume 13, 1996 (60 pp), vol­ume 12, 1995 (60 pp), vol­ume 11, 1994 (64 pp).

Articles, chapitres d’ouvrages

À paraître           « Weighing ‘The Assets of Pleasure’: Interpreting the Theory and Practice of Rhythm and Drumming in the Sarmāya-i ‘Ishrat, a Pivotal 19th Century Text. », in Katherine Schofield, dir. : Hindustani Music Between Empires : Alternative Histories, 1748-1887. Éditeur à préciser.

À paraître           « An Extremely Nice, Fine and Unique Drum : A Reading of Late Mughal and Early Colonial Texts and Images on Hindustani Rhythm and Drumming. », in Katherine Schofield, Julia Byl et David Lunn, dir. : Paracolonial Soundworlds : Music and Colonial Transitions in South and Southeast Asia. Éditeur à préciser.

2021                   « Ethnomusicology at the Faculty of Music, University of Toronto. » MUSICultures (Journal of the Canadian Society for Traditional Music). Vol. 48.

2020                   « Rhythmic Thought and Practice in the Indian Subcontinent. » in Russell Hartenberger & Ryan McClelland, dir. : The Cambridge Companion to Rhythm. Cambridge University Press : 241-60.

2019                   « Mapping a Rhythmic Revolution Through Eighteenth and Nineteenth Century Sources on Rhythm and Drumming in North India. » In Wolf, Richard K., Stephen Blum, & Christopher Hasty, dir. : Thought and Play in Musical Rhythm: Asian, African, and Euro-American Perspectives. Oxford University Press : 253-72.

2013                   « Introduction. » In Frank Kouwenhoven & James Kippen, dir. : Music, Dance and the Art of Seduction. Delft : Eburon Academic Publishers : i-xix.

2012                   « On the con­tri­bu­tions of Pt. Sudhir V. Mainkar to our under­stand­ing of the tabla.” Souvenir Volume in Honour of Sudhir Vishnu Mainkar. Sharda Sangeet Vidyalaya : Mumbai.

2010                   « The History of Tabla. » In Joep Bor, Françoise ‘Nalini’ Delvoye, Jane Harvey and Emmie te Nijenhuis, dir. : Hindustani Music, Thirteenth to Twentieth Centuries. New Delhi : Manohar : 459-78.

2008                   « Working with the Masters. » In Gregory Barz and Timothy Cooley, dir. : Shadows in the Field : New Perspectives for Fieldwork in Ethnomusicology (2nd Edition révisée). Oxford University Press : 125–40.

2008                   « Hindustani Tala : An Introduction. » Concise Garland Encyclopedia of World Music. New York : Garland [ver­sion con­den­sée de la pub­li­ca­tion de 2000].

 2007                  « The Tal Paddhati of 1888 : An Early Source for Tabla. » Journal of the Indian MusicologicalSociety, 38 : 151–239.

2005                   « Lucknow » Encyclopedia of Popular Music of the World, Part 2, Vol. 5, Locations: Asia & Oceania. London : Continuum : 109–110.

2003                   « Le rythme: Vitalité de l'Inde. » In Gloire des princes, louange des dieux: Patrimoine musi­cal de l'Hindoustan du XIVe au XXe siè­cle. Paris : Cité de la musique et Réunion des Musées Nationaux 2003 :152–73.

2002                   « Wajid Revisited : A Reassessment of Robert Gottlieb’s Tabla Study, and a new Transcription of the Solo of Wajid Hussain Khan of Lucknow. » Asian Music, 33, 2 : 111–74.

2001                   « Asian Music [in Ontario]. » Garland Encyclopedia of World Music, Volume 3, The United States and Canada. New York : Garland Publishing : 1215–17.

2001                   « Folk Grooves and Tabla Tals. » ECHO: a music-centered jour­nal.  III: 1 (Spring 2001). En Ligne http://www.echo.ucla.edu/article-folk-grooves-and-tabla-tal-s-by-james-kippen/

2000                   « Hindustani Tala. » Garland Encyclopedia of World Music, Volume 5, South Asia: The Indian Subcontinent. New York : Garland Publishing : 110–37.

1998                   « What’s Wrong With Hindustani Music ? » Sruti (Madras), no.160 (réédi­tion de l’article parut dans Kala, 1996).

1998                   « Musings on Dhrupad, and an Interview with Falguni Mitra. » Kala, Volume 2, no.1 : 4.

1997                   « The Musical Evolution of Lucknow. » In Violette Graff, dir., Lucknow : Memories of a City. New Delhi : Oxford University Press : 181–95.

1996                   « A la recherche du temps musi­cal. » Temporalistes, 34 : 11-22 En ligne : http://temporalistes.socioroom.org/spip.php?article228

1996                   avec Andréine Bel « Lucknow Kathak Dance. » Bansuri (Journal of the Raga Mala Performing Arts of Canada), 13 : 42–50.

1996                   « What’s Wrong With Hindustani Music? » Kala, Volume 1, no.2, 1996 : 4–7.

1995                   Réponse à « Theory of Participatory Discrepancies » de Charles Keil Ethnomusicology, 39, 1 : 77–78.

1994                   « Computers, Composition, and the Challenge of ‘New Music’ in Modern India. » Leonardo Music Journal, 4 : 79–84.
https://hal.archives-ouvertes.fr/hal-00143124

1992                   « Tabla Drumming and the Human-Computer Interaction. » The World of Music, 34, 3 : 72–98.

1992                   « Music and the Computer : Some Anthropological Considerations. » Interface, 21, 3-4 : 257–62.

1992                   « Where Does The End Begin ? Problems in Musico-Cognitive Modelling. » Minds & Machines, 2, 4 : 329–44.

1992                   « Identifying Improvisation Schemata with QAVAID. » In Walter B. Hewlett & Eleanor Selfridge-Field, dir. : Computing in Musicology : An International Directory of Applications, Volume 8. Center for Computer Assisted Research in the Humanities :115–19.

1992                   « Bol Processor Grammars. » In M. Balaban, K. Ebcioglu, & O. Laske, dir. : Understanding AI with Music, AAAI Press : 367–400.
https://hal.archives-ouvertes.fr/hal-00256386

1992                   avec Bernard Bel « Modelling Music with Grammars : Formal Language Representation in the Bol Processor. » In A. Marsden & A. Pople, dir. : Computer Representations and Models in Music. London, Academic Press : 207–38.
https://halshs.archives-ouvertes.fr/halshs-00004506

1991                   avec Bernard Bel  « From Word-Processing to Automatic Knowledge Acquisition : A Pragmatic Application for Computers in Experimental Ethnomusicology. » in Ian Lancashire, dir. : Research in Humanities Computing I : Papers from the 1989 ACH-ALLC Conference, Oxford University Press : 238–53.

1991                   « Changes in the Social Status of Tabla Players. » Bansuri, 8 : 16–27, 1991. (réédi­tion de la pub­li­ca­tion de JIMS, 1989)

1990                   « Music and the Computer: Some Anthropological Considerations. » In B. Vecchione & B. Bel, dir. : Le Fait Musical — Sciences, Technologies, Pratiques, pré­fig­u­ra­tion des actes du col­loque Musique et Assistance Informatique, CRSM-MIM, Marseille, France, 3-6 Octobre : 41–50.

1989                   « Changes in the Social Status of Tabla Players. » Journal of the Indian Musicological Society, 20, 1 & 2 : 37–46.

1989                   « Can a Computer Help Resolve the Problem of Ethnographic Description? » Anthropological Quarterly, 62, 3 : 131–44.
https://hal.archives-ouvertes.fr/hal-00275429

1989                   Avec Bernard Bel « The Identification and Modelling of a Percussion ‘Language’, and the Emergence of Musical Concepts in a Machine-Learning Experimental Set-Up. » Computers and the Humanities, 23, 3 : 199–214.
https://halshs.archives-ouvertes.fr/halshs-00004505

1989                   « Computers, Fieldwork, and the Analysis of Cultural Systems. » Bulletin of Information on Computing and Anthropology, 7, 1989 : 1–7. En ligne : http://lucy.ukc.ac.uk/bicaweb/b7/kippen.html

1988                   « Computers, Fieldwork, and the Problem of Ethnomusicological Analysis. » International Council for Traditional Music (UK Chapter) Bulletin, 20 : 20–35.

1988                   Avec Bernard Bel « Un mod­èle d’inférence gram­mat­i­cale appliquée à l’apprentissage à par­tir d’exemples musi­caux. » Neurosciences et Sciences de l’Ingénieur, 4e Journées CIRM, Luminy, 3–6 Mai 1988. 

1988                   « On the Uses of Computers in Anthropological Research. » Current Anthropology, 29, 2 : 317–20.

1987                   « An Ethnomusicological Approach to the Analysis of Musical Cognition. » Music Perception 5, 2 : 173–95.

1987                   Avec Annette Sanger « Applied Ethnomusicology : the Use of Balinese Gamelan in Recreational and Educational Music Therapy. » British Journal of Music Education 4, 1 : 5–16.

1986                   Avec Annette Sanger « Applied Ethnomusicology : the Use of Balinese Gamelan in Music Therapy. » International Council for Traditional Music (UK Chapter) Bulletin, 15 : 25–28.

1986                   « Computational Techniques in Musical Analysis. » Bulletin of Information on Computing and Anthropology (University of Kent at Canterbury), 4 : 1–5.

1985                   « The Dialectical Approach : a Methodology for the Analysis of Tabla Music. » International Council for Traditional Music (UK Chapter) Bulletin, 12 : 4–12.

1984                   « Linguistic Study of Rhythm: Computer Models of Tabla Language. » International Society for Traditional Arts Research Newsletter, 2 : 28–33.

1984                   « Listen Out for the Tabla. » International Society for Traditional Arts Research Newsletter, 1 : 13–14.

Comptes ren­dus    

2012                   Elliott, Robin and Gordon E. Smith, dir. : Music Traditions, Cultures and Contexts, Wilfrid Laurier University Press,  in « Letters in Canada 2010 », University of Toronto Quarterly, 81: 3 :779–80.

2006                   McNeil, Adrian Inventing the Sarod : A Cultural History. Calcutta : Seagull Press, 2004. Yearbook for Traditional Music, 38 : 133–35.

1999                   Myers, Helen, Music of Hindu Trinidad : Songs from the India Diaspora. Chicago Studies in Ethnomusicology. Chicago : University of Chicago Press, 1998. Notes : 427–29.

1999                   Marshall, Wolf, The Beatles Bass. Hal Leonard Corporation, 1998. Beatlology, 5.

1997                   Widdess, Richard, The Ragas of Early Indian Music: Music, Modes, Melodies, and Musical Notations from the Gupta Period to c.1250. Oxford Monographs on Music. Oxford : Clarendon Press, 1995. Journal of the American Oriental Society, 117, 3 : 587.

1994                   Rowell, Lewis, Music and Musical Thought in Early India. Chicago Studies in Ethnomusicology, edit­ed by Philip V. Bohlman and Bruno Nettl. Chicago and London : The University of Chicago Press, 1992. Journal of the American Oriental Society, 114, 2 : 313.

1992                   Compte ren­du CD : « Bengal : chants des ‘fous’ », par Georges Luneau & Bhaskar Bhattacharyya, and « Inde du sud : musiques rit­uelles et théâtre du Kerala », par Pribislav Pitoëff. Asian Music 23, 2 :181–84.

1992                   Witmer, Robert, dir. : “Ethnomusicology in Canada : Proceedings of the First Conference on Ethnomusicology in Canada.” (CanMus Documents, 5) Toronto, Institute for Canadian Music, 1990. Yearbook for Traditional Music, 24 : 170–71.

1992                   Neuman, Daniel M. The Life of Music in North India: The Organization of an Artistic Tradition. Chicago, University of Chicago Press, 1990. Journal of the American Oriental Society, 112, 1 : 171.

1988                   Qureshi, Regula Burckhardt. Sufi Music of India and Pakistan : Sound, Context and Meaning in the Qawwali. Cambridge Studies in Ethnomusicology. Cambridge : CUP, 1986. International Council for Traditional Music (UK Chapter) Bulletin, 20 : 40–45.

1986                   Wade, Bonnie C. Khyal : Creativity with­in North India’s Classical Music Tradition. Cambridge Studies in Ethnomusicology. Cambridge : CUP. Journal of the Royal Asiatic Society : 144–46.

Enregistrements

1999                   Honouring Pandit Jasraj at Convocation Hall, University of Toronto. 2 CD set. Foundation for the Indian Performing Arts, FIPA002.

1995                   Pandit Jasraj Live at the University of Toronto. 2 CD set. Foundation for the Indian Performing Arts, FIPA001.

Livrets d’album musical

2009                   Liner notes for Mohan Shyam Sharma (pakhavaj): Solos in Chautal and Dhammar. India Archive Music CD, New York.

2007                   Liner notes for Anand Badamikar (tabla): Tabla Solo in Tintal. India Archive Music (IAM•CD 1084), New York.

2002                   Pandit Shankar Ghosh : Tabla Solos in Nasruk Tal and Tintal. CD, India Archive Recordings (IAM•CD1054), New York.

2001                   Shujaat Khan, Sitar : Raga Bilaskhani Todi & Raga Bhairavi. CD, India Archive Recordings (IAM•CD1046), New York.

1998                   Pandit Bhai Gaitonde : Tabla Solo in Tintal. CD, India Archive Recordings (IAM•CD1034), New York.

1995                   Ustad Amjad Ali Khan : Rag Bhimpalasi & Rag “Tribute to America”. CD, India Archive Recordings (IAM•CD1019), New York.

1994                   Ustad Nizamuddin Khan : Tabla Solo in Tintal. CD, India Archive Recordings (IAM•CD1014), New York.

1992                   Rag Bageshri & Rag Zila Kafi, played by Tejendra Narayan Majumdar (sar­od) and Pandit Kumar Bose (tabla). CD, India Archive Recordings (IAM•CD 1008), New York.

Hommage

1990                   « In Memoriam : Afaq Husain (1930-1990). » Ethnomusicology 34, 3 : 429–30.

1990                   « In Memoriam : John Blacking (1928-1990). » Ethnomusicology 34, 2 : 263–6.


➡ A new ver­sion of Bol Processor com­pli­ant with var­i­ous sys­tems (MacOS, Windows, Linux…) is under devel­op­ment. We invite soft­ware design­ers to join the team and con­tribute to the devel­op­ment of the core appli­ca­tion and its client appli­ca­tions. Please join the BP open dis­cus­sion forum and/or the BP devel­op­ers list to stay in touch with work progress and dis­cus­sions of relat­ed the­o­ret­i­cal issues.

Musicology

Microtonality
On elec­tron­ic instru­ments such as the Bol Processor, micro­tonal­i­ty is the mat­ter of "micro­ton­al tun­ing", here mean­ing the con­struc­tion of musi­cal scales out­side the con­ven­tion­al one(s) …
Just intonation: a general framework
A frame­work for con­struct­ing scales (tun­ing sys­tems) refer­ring to just into­na­tion in both clas­si­cal Indian and Western approach­es …
The two-vina experiment
A com­pre­hen­sive inter­pre­ta­tion of the exper­i­ment of the two vinas described in Chapter XXVIII.24 of the Natya Shastra …
Melodic types of Hindustan
A scan of Bose, N.D. Melodic Types of Hindustan. Jaico, Bombay 1960 …
A Mathematical Model of the Shruti-Swara-Grama-Murcchana-Jati System
A scan of Arnold, E.J. A Mathematical mod­el of the Shruti-Swara-Grama-Murcchana-Jati System …
A Mathematical Discussion of the Ancient Theory of Scales according to Natyashastra
Bernard Bel Note interne, Groupe Représentation et Traitement des Connaissances (CNRS), Marseille 1988. Download this paper
Raga intonation
This arti­cle demon­strates the the­o­ret­i­cal and prac­ti­cal con­struc­tion of micro­ton­al scales for the into­na­tion of North Indian ragas …
Creation of just-intonation scales
The pro­ce­dure for export­ing just-intonation scales from murcchana-s of Ma-grama …
A multicultural model of consonance
A frame­work for tun­ing just-intonation scales via two series of fifths
Image cre­at­ed by Bol Processor based on a mod­el by …
Comparing temperaments
Images of tem­pered scales cre­at­ed by the Bol Processor The fol­low­ing are Bol Processor + Csound inter­pre­ta­tions of J.-S. Bach's …
Polymetric structures
Polymetric expres­sions are the basic rep­re­sen­ta­tion mod­el for the tim­ing of musi­cal data in the Bol Processor …
Rationalizing musical time: syntactic and symbolic-numeric approaches
Symbolic-numerical approach­es lead to effi­cient and ele­gant solu­tions of con­straint sat­is­fac­tion prob­lems with respect to sym­bol­ic and phys­i­cal dura­tions, …
At the heart of Indian rhythms and their evolution
An inter­view with James Kippen by Antoine Bourgeau …
Au cœur des rythmes indiens
Entretien avec James Kippen, par Antoine Bourgeau …
Bach well-tempered tonal analysis
Tonal analy­sis of the com­plete set of pre­ludes and fugues by J.S. Bach in "The Well-tempered Clavier" …
The Well-tempered Clavier
The com­plete set of pre­ludes and fugues by J.S. Bach known as The Well-tempered Clavier, books II and II, inter­pret­ed with pre­sum­ably "opti­mal" tun­ing schemes …
Time-setting of sound-objects
This paper deals with the sched­ul­ing of “sound-objects”, here­by mean­ing pre­de­fined sequences of ele­men­tary tasks in a sound proces­sor, with each task mapped to a time-point …
Pattern grammars
Bol Processor gram­mars are char­ac­ter­i­sa­tions of sequen­tial events in terms of sub­string rep­e­ti­tions, homo­mor­phisms, etc. Parsing tech­niques, sto­chas­tic pro­duc­tion and recent devel­op­ments of BP gram­mars are briefly described …
Modelling music with grammars
A lin­guis­tic mod­el of tabla impro­vi­sa­tion and eval­u­a­tion derived from pat­tern lan­guages and for­mal gram­mars has been imple­ment­ed in the Bol Processor, a soft­ware sys­tem used in inter­ac­tive field­work with expert musi­cians …

Misc. grammar controls

The fol­low­ing short exam­ples illus­trate the usage of spe­cif­ic con­trols of the infer­ence mech­a­nism in gram­mars of Bol Processor (BP2 and BP3).

_destru

This instruc­tion is use­ful in pat­tern gram­mars con­tain­ing rep­e­ti­tion and pseudo-repetition mark­ers. For instance, the fol­low­ing gram­mar cre­ates a sequence of two occur­rences of vari­able "X" which may fur­ther be derived as "abc" or "de".

S --> (= X)(: X)
X --> abc
X --> de

In the first rule, (= ) is called a mas­ter paren­the­sis and (: ) a slave paren­the­sis — con­tain­ing a copy of the for­mer. This master-slave depen­den­cy is main­tained through­out sub­se­quent derivations.

The only eli­gi­ble final deriva­tions would be "abcabc" or "dede". However, the final string would be dis­played for instance "(= abc)(: abc)". To obtain a usable string in which 'a', 'b', 'c' may be fur­ther instan­ti­at­ed as sound-objects, it is nec­es­sary to remove struc­tur­al mark­ers. The Bol Processor does it auto­mat­i­cal­ly once the final string has been cre­at­ed, i.e. there are no more can­di­date rules for fur­ther deriva­tions. However, the user may want to dis­play strings with­out their mark­ers. Instruction _destru is used to this effect.

Let us con­sid­er for instance "-gr.tryDESTRU":

-se.tryDESTRU
-al.abc
// This gram­mar pro­duces var­i­ous pat­terns on alpha­bet …

RND
gram#1[1] <2-1> S --> (= (= X) S (:X)) (: (= X) S (:X))
gram#1[2] <2-1> X --> Y
gram#1[3] <2-1> X --> Y S Z
gram#1[4] <2-1> X --> Z

ORD
gram#2[1] LEFT S --> lamb­da [This is an eras­ing rule]

LIN
_destru
gram#3[1] X X --> abca
gram#3[2] Z Y --> abc
gram#3[3] Y Z --> cba
gram#3[4] Y Y --> cbbc
gram#3[5] Z Z --> lamb­da [This is an eras­ing rule]

The first rule in sub­gram­mar #1 cre­ates a self-embedding pat­tern in which the start sym­bol S is cre­at­ed again recur­sive­ly. This recur­siv­i­ty might pro­duce unlim­it­ed strings. To avoid this, each rule in sub­gram­mar #1 is assigned ini­tial weight "2" decreased by "1" once the rule has been fired. Therefore, no rule may be used more than 2 times. Subgrammar #2 con­tains a sin­gle rule delet­ing the left-over "S".

Subgrammar #3 destroys the struc­ture by eras­ing all paren­the­ses and master/slave mark­ers, then it rewrites vari­ables "X", "Y", "Z" as strings of ter­mi­nal sym­bols. Tracing the pro­duc­tion shows for instance that workstring

(=(= Z)(=(= Y)(: Y))(:(= Y)(: Y))(: Z))(:(= Z)(=(= Y)(: Y))(:(= Y)(: Y))(: Z))

is replaced with "Z Y Y Y Y Z Z Y Y Y Y ZZ Y Y Y Y Z Z Y Y Y Y Z".

Rewriting is then done strict­ly from left to right due to the LIN instruction.

The fol­low­ing is a series of 10 items pro­duced by this grammar:

abc­cb­bc­cbaabc­cb­bc­c­ba
cbacbacbacbacbacbacbacbacbacbacbac­ba
abc­cb­bc­cbaabc­cb­bc­c­ba
cbaabc­cbaabc
cbacbacbacbacbacbacbacbacbacbacbac­ba
abcab­cab­cab­cab­cab­cab­cabc
abcab­cab­cab­cab­cab­cab­cabc
cbb­cab­cab­cabc­cb­b­cab­cab­cabc­cb­b­cab­cab­cabc­cb­b­cab­cab­cabc
cbacbacbac­ba
cbbc­cb­bc­cbacb­bc­cb­bc­cbacb­bc­cb­bc­cbacb­bc­cb­bc­c­ba

Complex pat­terns are vis­i­ble on the fol­low­ing sound ren­der­ing of the first item using "-so.abc" sound-object prototypes.

Item "abc­cb­bc­cbaabc­cb­bc­c­ba" cre­at­ed by -gr.tryDESTRU

Csound

Sarasvati vina
Full descrip­tion of a musi­cal phrase com­posed in 1995 by Srikumar Karaikudi Subramanian with the Bol Processor and Csound …
Csound checkup
Checking the asso­ci­a­tion of Bol Processor (BP2 and BP3) with Csound …
Csound objects
The cre­ation of Csound scores based on sound-objects con­tain­ing Csound instruc­tions …
Csound tuning in BP3
This page deals with the Bol Processor BP3 using an updat­ed ver­sion of the Csound orches­tra file "default.orc". Changes to …
Continuous parameters in Csound scores
Explaining the design of Csound scores con­tain­ing instruc­tions to con­trol para­me­ters that may vary con­tin­u­ous­ly …
Microtonality
On elec­tron­ic instru­ments such as the Bol Processor, micro­tonal­i­ty is the mat­ter of "micro­ton­al tun­ing", here mean­ing the con­struc­tion of musi­cal scales out­side the con­ven­tion­al one(s) …

Algorithms

Bol Processor gram­mars are char­ac­ter­i­sa­tions of sequen­tial events in terms of sub­string rep­e­ti­tions, homo­mor­phisms, etc. Parsing tech­niques, sto­chas­tic pro­duc­tion and recent devel­op­ments of BP gram­mars are briefly described …
This paper deals with the sched­ul­ing of “sound-objects”, here­by mean­ing pre­de­fined sequences of ele­men­tary tasks in a sound proces­sor, with each task mapped to a time-point …
Symbolic-numerical approach­es lead to effi­cient and ele­gant solu­tions of con­straint sat­is­fac­tion prob­lems with respect to sym­bol­ic and phys­i­cal dura­tions, …
Tied notes
An algo­rithm for com­put­ing the time inter­vals of tied notes in Bol Processor BP3 …
Complex ratios in polymetric expressions
This page is intend­ed for devel­op­ers of the Bol Processor BP3 (read instal­la­tion). It is not a for­mal descrip­tion of …
BP2 makes it pos­si­ble to use Csound orches­tra instruc­tions such as kr tablei kndx, ifn to make con­tin­u­ous para­me­ters vary …
Timebase to  polymetric
This algo­rithm is used by the PHP inter­face of Bol Processor ‘BP3’ under devel­op­ment. Read: https://bolprocessor.org/misc/BP3/CheckList.html#timebase It is imple­ment­ed in …
Csound argument mapping
Performing a qua­drat­ic map­ping using 3 points: how can we make sure that the func­tion will be monot­o­nous? …
Two algo­rithms for the instan­ci­a­tion of struc­tures of musi­cal objects …
Select can­di­date rules in a gen­er­a­tive gram­mar ran­dom­ly and apply them to the work­string until there is no more can­di­date rule …

Bol Processor BP3

BP3 is the multi-platform ver­sion of the Bol Processor that has been in devel­op­ment since 2020. It con­sists of two modules:

  • A con­sole writ­ten in C lan­guage for cross-platform com­pi­la­tion, con­tain­ing the core algo­rithms of the Bol Processor
  • An inter­face that allows non-technical users to edit or cre­ate spe­cif­ic mate­r­i­al (gram­mars, sound-objects, Csound instru­ments) and inter­act with the con­sole to pro­duce Bol Processor scores, MIDI files, Csound scores and real-time MIDI output/input.

Currently, the inter­face has been built in the HTML5/JavaScript/PHP envi­ron­ment which makes it pos­si­ble to work with the Bol Processor on any web brows­er. The set­up works in dif­fer­ent envi­ron­ments (MacOS X, Windows, Linux, etc.) but it requires the instal­la­tion of a local Apache/PHP serv­er.

Follow the instruc­tions on the Bol Processor ‘BP3’ and its PHP inter­face page to install the lat­est version.

stand­alone ver­sion com­piled from the PHP/JavaScript pack­age is about to be released.

Csound tuning in BP3
This page deals with the Bol Processor BP3 using an updat­ed ver­sion of the Csound orches­tra file "default.orc". Changes to …
Bol Processor ‘BP3’ and its PHP interface
This PHP inter­face gives access to a pre­view of Bol Processor BP3 in any envi­ron­ment accept­ing the com­pi­la­tion of the bina­ry pro­gram …

Presentations

A list of key pub­li­ca­tions relat­ed to the Bol Processor …
A lin­guis­tic mod­el of tabla impro­vi­sa­tion and eval­u­a­tion derived from pat­tern lan­guages and for­mal gram­mars has been imple­ment­ed in the Bol Processor, a soft­ware sys­tem used in inter­ac­tive field­work with expert musi­cians …
The fol­low­ing doc­u­ments will be updat­ed and/or migrat­ed to recent doc­u­men­ta­tion …
This PowerPoint slideshow is a detailed pre­sen­ta­tion, along with sound exam­ples, of Bol Processor in its BP2 ver­sion …
Is text an ade­quate tool for mod­el­ling musi­cal analy­sis, com­po­si­tion and per­for­mance? …

Related work

Installing and running BP1
Installing an emu­la­tor of the Apple II and run­ning ‘BP1’, the ini­tial ver­sion of Bol Processor …
BP1 in its real musical context
We are show­ing the oper­a­tion of BP1 in its real musi­cal con­text: the mod­el­ling of a 'theme-and-variations' piece of drum­ming (tabla) …
Random selection of an item in a fixed-cardinal set
Select can­di­date rules in a gen­er­a­tive gram­mar ran­dom­ly and apply them to the work­string until there is no more can­di­date rule …
Cambridge poster
Is text an ade­quate tool for mod­el­ling musi­cal analy­sis, com­po­si­tion and per­for­mance? …
Bol Processor, an overview
This PowerPoint slideshow is a detailed pre­sen­ta­tion, along with sound exam­ples, of Bol Processor in its BP2 ver­sion …
Old presentations
The fol­low­ing doc­u­ments will be updat­ed and/or migrat­ed to recent doc­u­men­ta­tion …
Bol Processor ‘BP3’ and its PHP interface
This PHP inter­face gives access to a pre­view of Bol Processor BP3 in any envi­ron­ment accept­ing the com­pi­la­tion of the bina­ry pro­gram …
Csound tuning in BP3
This page deals with the Bol Processor BP3 using an updat­ed ver­sion of the Csound orches­tra file "default.orc". Changes to …
Microtonality
On elec­tron­ic instru­ments such as the Bol Processor, micro­tonal­i­ty is the mat­ter of "micro­ton­al tun­ing", here mean­ing the con­struc­tion of musi­cal scales out­side the con­ven­tion­al one(s) …
Just intonation: a general framework
A frame­work for con­struct­ing scales (tun­ing sys­tems) refer­ring to just into­na­tion in both clas­si­cal Indian and Western approach­es …
The two-vina experiment
A com­pre­hen­sive inter­pre­ta­tion of the exper­i­ment of the two vinas described in Chapter XXVIII.24 of the Natya Shastra …
Melodic types of Hindustan
A scan of Bose, N.D. Melodic Types of Hindustan. Jaico, Bombay 1960 …
A Mathematical Model of the Shruti-Swara-Grama-Murcchana-Jati System
A scan of Arnold, E.J. A Mathematical mod­el of the Shruti-Swara-Grama-Murcchana-Jati System …
A Mathematical Discussion of the Ancient Theory of Scales according to Natyashastra
Bernard Bel Note interne, Groupe Représentation et Traitement des Connaissances (CNRS), Marseille 1988. Download this paper