From the outset, I have viewed the Bol Processor project as a research endeavor rather than a straightforward software design project. Its focus is on "computational musicology," which involves using computational models to explore musicology across and beyond cultural boundaries.
This project represents a long-term commitment to developing music creation software that addresses musicological challenges, rather than simply creating tools for recombining pre-composed music or sound fragments. Our current goal is to integrate this approach with high-quality music and sound editors used by composers and sound designers.
The Bol Processor model could easily be extended to other activities such as scheduling, sizing and precise timing of video clips, robot commands and so on. These extensions are highly desirable.
The research nature of this project necessitates an open-access ethic. As such, the Bol Processor, including its installation and source files, will remain freely accessible. Software developers are encouraged to reuse the source code to create variants or updated versions of BP3.
However, there is a practical reason why I have chosen not to decline personal donations: I am increasingly incurring costs for various tools required for software development. These include hosting fees, the remuneration of "virtual" assistants (AI tools), and, when necessary, human experts.
For this reason, if you are so inclined, you can make a donation using the PayPal link below. Any funds not used for project related activities will be transferred to charities.
In May 2024, the Bol Processor BP3 acquired the ability to manage the input and output of MIDI events. This allows it to "communicate" in real time with external MIDI devices (keyboards, synthesizers) and even with other instances of BP3 running on the same machine.
For geeks and programmers: This feature had already been implemented in the earlier (MacOS only) version called 'BP2'. However, the implementation in a C language 'console' to work in MacOS, Linux and Windows environments was more technical. In addition, the concept of "real time" in the current MIDI setup is different from the previous one using Opcode Music System.
The following examples will work the same in MacOS, Windows and Linux. They have been tested on a recent PowerBook running MacOS (Sonoma) with 16 Gb RAM, and an HP Intel Core computer with 8 Gb RAM running Windows 10 (64-bit) and LinuxLite 7.0 (in Ubuntu). Memory size can become critical if many MIDI devices or virtual ports are connected.
Using microtonal scales is now possible in real-time MIDI. Read the Check MIDI microtonality page for details.
Setting up the MIDI environment
Let us assume that you have successfully downloaded, installed and compiled the Bol processor BP3, as described on the page Bol Processor ‘BP3’ and its PHP interface.
In Bol Processor jargon, a 'project' is either a grammar (with a '-gr' prefix) or a set of data (with a '-da' prefix). So, create or load a simple project, e.g. "-da.acceleration" which can be found in the "ctests" folder (download it here).
An output
By default, a project is set up to create MIDI files, as shown on the selector (see picture). Make sure your project is working! Then select Real-time MIDI and click SAVE format.
The selector will now display a different image, as shown below:
By default, the MIDI output used for sending events is numbered '0' — and the MIDI input used for receiving events will be numbered '1'. This is a common situation. In MacOS and Windows, these numbers are taken as 'ports'. In Linux they are considered as 'clients', each 'client' having its own 'ports', so certainly numbers '0' and '1' won't work… Never mind this issue, BP3 will take care of it when scanning real or virtual devices and trying to connect. Read more below.
We cannot rely on "port numbers" alone because they change when we turn on and off MIDI devices connected to the computer. In Linux, the client number is more specific to a MIDI device. In fact, the only reliable identification is its name, which is empty by default: the next field at the right of the input/output number.
Let us check the MIDI output. Windows does this automatically. The good news is that Windows 10 (and presumably later versions) comes with a built-in MIDI device called Microsoft GS Wavetable Synth. The Bol Processor will automatically detect it and connect to it if no other device is connected to the system.
Linux also connects, by default, the output to a virtual device whose client number is '0', but it won't produce any sound in the basic installation of Ubuntu. So, to try real-time MIDI on Linux, you need to connect an external MIDI device via its USB/MIDI interface, or to install a software synthesizer. Read more below.
Clicking Add an input will create fields for you to select an input device. We'll use this later.
To connect external MIDI input/output devices to Windows, you may need to install an environment similar to IAC on MacOS. Read details below. However, most tests shown on this page can be performed on Windows without any additional installation.
The following paragraphs are for MacOS users. Windows and Linux users can happily jump to the next section.
Turn on a MIDI device (synthesizer, piano, etc.) connected to the computer. On my personal Mac, I usually use the Pianoteq synthesiser, which produces a physical model synthesis of various keyboard instruments. It communicates with BP3 via a device called the Inter-Application Communication (IAC) architecture — read this if you need details.
The IAC driver is installed by default on recent MacOS systems. (It is a part of the CoreMIDI framework provided by Apple.) It allows you to create virtual MIDI ports that enable MIDI applications to communicate internally within the same machine. Equivalent devices exist in the Linux and Windows environments, see below.
The IAC also communicates with external MIDI devices via the USB ports, BlueTooth and possibly more network protocols. We'll try it later.
To set up the IAC, run the Audio MIDI Setup application (in the Utilities folder). Ask it to show "MIDI Studio". On my personal computer, it looks like this: the IAC driver, the Pianoteq synthesiser, a Pocket Key 15 keyboard connected to a USB port, and a Yamaha piano connected by standard MIDI cables and a USB MIDI interface. The Yamaha piano appears grey because it is switched off.
On active MIDI devices you will see triangles indicating input/output ports. These are used to connect devices directly by drawing a 'cable' to connect them. We don't need to use these 'connectors' as BP3 communicates via the IAC MIDI ports.
Check output options
(MacOS, Linux and Windows)
The easiest way to proceed now is to run any project in the Real-time MIDI mode, and see if sounds are produced… Whatever the result, at the end of the (potentially silent) performance, you will see a Show all … messages button along with a blinking red signal "=> 1 warning". Click on the button to read detailed explanations of the failure (or success):
🎹 Setting up MIDI system MIDI output = 0: “Bus 1” 👉 the number of your choice
MIDI settings 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 given the Audio MIDI Setup shown above. The Bol Processor scanned all output (and input) MIDI ports. Given port '0' as an output by default, it assigned it to "Bus 1" which the 'port' set up in IAC.
If your synthesiser happens to be connected to "Bus 1", you will hear sounds and the problem is solved. Let us suppose that you are running Pianoteq and hear nothing. Open the settings of Pianoteq and select "Devices". All you have to do is check "IAC Driver Bus 1". You might also check other inputs, including Pocket Key 25 if you want to connect your small keyboard directly to Pianoteq, but these are extra procedures.
Opening Pianoteq settings informed us that it is communicating with IAC, and it suggested to use a IAC 'Bus' for this communication. The 'Bus 1' port is technically called a virtual port.
All you need to do to ensure that the connection remains correct when more devices are switched on/off and MIDI port numbers change. The only reliable way is to write the name "Bus 1" as the MIDI output. You can also write "Pocket Key 25" (or whatever is detected as your input MIDI device) to the MIDI input, as we will use it later. Note that MIDI port numbers are now irrelevant, as names take precedence. BP3 will correct them automatically.
Click the SAVE MIDI ports button to store this setting. Clicking on the SAVE format does the same thing, so don't worry about confusing buttons!
To the right of the MIDI port name is an empty field where you can enter a comment. For example, write "Pianoteq synth" to the right of "Bus 1".
Let us now switch on a Yamaha piano which is connected via a USB MIDI interface. The interface I use has a green light that indicates it has power. If the piano is actually communicating with it, we should see a flashing red light. In MacOS, sometimes it is necessary to restart the computer after switching on the piano… But in Windows and Linux the red light flashes immediately.
As soon as the red light flashes, open the Pianoteq settings. Great! We can now see that the Yamaha piano is recognised and connected to the IAC.
The easiest way to connect the Yamaha piano to BP3 is to click PLAY. Whatever happens, we'll get a warning and see the following diagnosis:
🎹 Setting up MacOS MIDI system MIDI output = 0: “Bus 1” 👉 the name of your choice Trying to assign ports to 1 input(s) without names but possibly with numbers MIDI input = 1: “Bus 2” 👉 the number of your choice MIDI input 1 makes BP3 interactive
MIDI settings 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 identified as "Pocket Key 25" is correctly connecting to port '2'. But the Yamaha piano is identified as "USB MIDI Interface". This is the name we need to copy to the MIDI output, then SAVE MIDI ports and PLAY. Another option is to leave the name empty and enter the MIDI output number '3'.
We hear the output on the Yamaha piano, although port numbers were incorrect on the interface. The inconsistency is resolved by the MIDI driver selecting ports by name in order of priority. Port numbers (and names) are updated as soon as you save or reload the project (data or grammar). Then you get:
Why does the name "Yamaha piano" appear in Pianoteq settings, but not in the MIDI ports scanned by BP3? This is a mystery that expert users of a MIDI studio could probably solve… For the time being, just write "Yamaha piano" in the comment field at the right of "USB MIDI interface".
The _part() command
An important feature implemented in October 2024 is the ability to send parts of a Bol Processor score to separate outputs. Parts are identified by the "_part(x)" command in which 'x' is an integer in range 1..12. We will be able to handle more than 12 parts if it turns out to be necessary.
The "_part(x)" command directs MIDI messages to a specific MIDI output, which in most cases will be an instrument. The image on the side shows the mapping of port #3 (USB MIDI interface) to part #2, as set up in its filter.
By default, MIDI outputs "hear" all 12 parts, but here we've restricted this one to part #2.
For MIDI port #0 (Bus 1) we've restricted the output to part #5.
Let us play the following score:
C3 D3
This sequence of notes is heard on both instruments. As there is no "_part()" command in the score, all outputs send the MIDI messages.
Now let us try:
G2 _part(5) C3 _part(2) D3
Note G2 is heard on both instruments. But, as expected, the note C3 is heard on Bus 1 and D3 is heard on the USB MIDI interface.
The "_part()" command has exactly the same syntactic behaviour as "_chan()" and "_ins()". For example, it "follows" the score along the fields of polymetric structures:
In this example, G2 is heard on both instruments. Then C3 is sent to Bus 1, as well as D3 and E3, since they are the first field of the polymetric structure. In the same time, B2 is sent to the USB MIDI interface, then A2 to Bus1. At the output of the polymetric structure, F3 is sent to Bus 1 which was the mapping before the structure. At last, G3 is sent to the USB MIDI interface.
The sound-object graph shows that D3 and B2 are played together, although on different instruments, and E3 and A2 are played together on the instrument connected to Bus 1.
Parts are mostly relevant when importing digitised scores. They are used to declare instruments in MusicXML files. When importing a score, the Bol Processor will optionally place "_part()" or "_chan()" commands in the imported score, so that it can be played on the same set of digital instruments.
Using "_part()" is a better option than "_chan()" to name an instrument, because MIDI channels can be modified to handle microtonal adjustments. On the Data page, there is a MANAGE _chan(), _ins(), _part() button that opens a dialog for converting parts to/from channels, parts to/from instruments, etc.
An input
Setting up an input follows exactly the same protocol as setting up the output. For example, we can set up the input on "Pocket Key 25” as shown above. “USB MIDI Interface” (the Yamaha piano) is another possible choice. Let us continue with Pocket Key 25.
Windows users can simply plug their external MIDI keyboard (e.g. "Pocket Key 25”) to a USB port of their computer, as it will be automatically recognised and set up by the system.
Connecting an input to BP3 is of little interest if BP3 does nothing with input events. The instructions it can handle are listed in the section List of scripts for dealing with real-time MIDI below. "Wait for note…" means that BP3 will stop playing until it receives a NoteOn of the note in question — even with velocity zero.
The script command tells that the performance should start when note C3 is received on MIDI channel 1. To avoid any confusion about octave numbers, I have written the name on the lowest key of my Pocket Key 25 (see photo). This confusion is made worse by the fact that the Italian/Spanish/French convention uses lower octave numbers!
So, the labelled key is the one we need to press to start this show. Let's try it…
When the PLAY button is clicked on the Data page, a flashing STOP button is displayed. The machine would wait forever unless the correct MIDI event has been received. The STOP button — or the PANIC button at the top right — can be used to abort the process cleanly. If all goes well, pressing the C3 key should produce this sound:
(This little "acceleration" piece was composed by Harm Visser to illustrate the period notation. Read his tutorial.)
Multiple interruptions are of course possible. Try this:
Now the machine will start its performance after receiving a NoteOn of C3. It will then stop after three beats and wait for a NoteOn of C4. A noteworthy detail is that one second after an interruption, AllNotesOff is sent to all MIDI channels and the pedals are set to off. This prevents notes waiting for their NoteOff from being heard. This "All Notes Off" feature can be turned off in the preferences file.
MIDI input filters
Let us play with the continuous improvisation "Mozart’s musical dice game" (called "-gr.Mozart" in the "ctests" folder). If this project is set for real-time MIDI, the improvisation will not stop until we click on the STOP or PANIC button. Inserting a "wait for note…" at the beginning would of course stop the performance at the beginning of every variation. Beware that you will have to write "do2" instead of "C3" due to the note convention!
But let's try something else, using the external keyboard (the Pocket Key 25 or Yamaha piano) to play notes on top of the performance. How strange! We don't hear any notes played on the external keyboard unless it's connected directly to the output device.
The reason for this becomes clear after clicking on the FILTER button for MIDI input 2:
All types of MIDI events are listed along with how they are processed by BP3. Here we are only interested in NoteOn/NoteOff events. The default setting is '1', which means that they can trigger script commands, but are not forwarded to the MIDI output. This is why 'C3/do2' was able to start the performance, although we could not hear it.
To play notes over the performance, we need to set the status of NoteOn and NoteOff to '2'. Note: If we only set the NoteOn status, BP3 will automatically set the NoteOff status to avoid confusion. Once you have changed the settings, click SAVE MIDI ports, then PRODUCE ITEM(S).
Since the Pocket Key 25 keyboard sends only NoteOn/Noteoff messages, we could as well set other event filters (KeyPressure, etc.) to '0'.
These filter settings are stored, together with the MIDI port names or numbers, in a temporary file whose name depends on both the session number (created by your browser) and the project name. A copy of these settings is stored in the (permanent) folder "midi_resources". This storage makes it possible to launch several instances of BP3 on the same browser or on different browsers, as we will now see.
Several BP3s performing and communicating
From the previous description of interactions via MIDI events — limited for the time being to waiting for a particular note — you may have guessed that a great feature of the Bol Processor BP3 environment is the possibility of running several BP3s, on different machines, or even on a single machine and the same browser… in cooperation with real humans playing MIDI instruments!
Each instance of BP3 can be thought of as a 'musician' with their own compositional skills embedded in a grammar or data (a set of pre-composed musical fragments). We are working on interactions that will allow each musician to modify the behaviour of another musician's grammar, for example by changing rule weights — which may result in some rules being suppressed while others are activated — or changing metronome settings if they need to perform faster/slower, etc. All these features were part of earlier versions (BP2) several decades ago!
Let us start with an extremely simple example using the "wait for note…" script.
Create two projects that contain only data, for example "-da.Beatrix" and "-da.Alan":
Note that these melodies do not contain the same number of notes, but they will have the same duration (2 beats) because of their polymetric structures.
We want Alan's performance to start precisely after the last note of Beatrix's performance. As we don't want E4 to overlap with F3, we have put a silence '-' before F3. In the following, we'll have a solution to overcome this limitation.
To manage the interaction in MacOS, we need an additional IAC port which is (automatically) named "Bus2". To do this, open Audi MIDI Setup and click on the IAC driver. Then add a port (see picture). You can create as many ports as you wish.
Set both Beatrix's MIDI output and Alan's MIDI input to "Bus2".
Now we want to hear both performances. Alan's MIDI output is sent to "Bus1" and will therefore be audible on the Pianoteq synthesiser.
Windows and Linux users can connect the two performers more easily: send both Beatrix's and Alan's messages to the external MIDI device, and connect Alan's input to the same MIDI device. But… the input filter should receive events and not forward them to the output, which is the same device, otherwise the loop will produce a disastrous bouncing effect!
Back to MacOS, there are two ways to send Beatrix's performance to the Pianoteq synthesiser:
Pianoteq settings make it possible to listen to both "Bus1" and "Bus2" virtual ports.
You can set up the MIDI event filter on Alan's project to route input NoteOn/NoteOff events to the current MIDI output. See above for filters.
To play the performance, click PLAY on Alan's project so that it is ready to perform. Then click PLAY on Beatrix's project. This is the result:
No doubt this sounds rather unmusical! In fact, we publish tasteless technical examples to encourage musicians to compose interesting pieces! 😀
Using out-time inaudible notes as signals
The idea of beginning Alan's performance with a silence that is filled by Beatrix's final note E4 is unelegant. Below is a better solution:
The secret is the expression "_vel(0) <<C0>>" which is an out-time expression of note C0 with velocity zero. The velocity ensures that the note won't be heard, and the out-time property gives it a null duration. Any note can be used here provided that it is mentionend in the "_script(wait…)" instruction.
If "_vel(0) <<C0>>" is followed by more notes, it is necessary to reset the velocity to its default value. The solution is to write it between curly brackets, so that _vel(0) only applies to the content of the expression: "{_vel(0) <<C0>>}"
Checking the time accuracy
Let us check that the real-time synchronisation is not affected by delays. We'll now ask Alan and Beatrix to play the same piece of music (one octave apart) in the same time.
In MacOS, Alan will send MIDI events to "Bus2". Beatrix will listen to "Bus2" and send MIDI events to "Bus1" (Pianoteq). Beatrix will set her input filter to the pass option, routing the incoming events to the output. The Pianoteq synthesiser will be set to listen to "Bus1" only.
To start the performance, first click on the PLAY button of Beatrix's project, then on the PLAY button of Alan's project.
Have you noticed that Beatrix is waiting for E3, which does not appear in Alan's score? Oh yes, it does! There is a _transpose(12) command that changes E2 (the first note) to E3. So, it works. This is the performance:
Not too bad? Despite the lack of musical interest, we must admit that the superimposition is technically acceptable, even if it is not perfect: there is a delay of about 60 milliseconds on the first note, the time it takes Beatrix's machine to detect that it has received a NoteOn for C3. The subsequent notes are programmed to compensate for this delay, but there are still discrepancies (which can be quantified on the Pianoteq MIDI input). They seem to be caused by delays outside BP3.
You can adjust the delay in Beatrix's project settings "-se.Beatrix". There is a parameter called "Sync delay", which is the number of milliseconds Beatrix's output events should be postponed after the synchronisation. We currently find that 380 ms is a good value.
In fact, the superimposition would sound even better if both performances were triggered by the same event, such as the conductor pressing a key on the external keyboard. This exercise was only intended to show that synchronisation between "virtual musicians" works well.
Working with multiple MIDI inputs
In the previous example, we could decide that Alan's performance will start when he receives a particular note from the Pocket Key 25 keyboard. In this case, we need to click on both START buttons, putting both 'musicians' in wait mode, and the performance will not start until the correct key is pressed on the keyboard.
This case is manageable with single inputs on each instance of BP3. More complicated cases, however, require external 'actors', such as a Pocket Key 25 keyboard sending to all the 'musicians' synchronisation messages, or messages modifying parameters in grammars, changing the metronome value, etc.
To achieve this, the Bol Processor is a able to manage multiple MIDI inputs.
The new game is as follows: both Beatrix and Alan will take turns playing variations of Mozart's musical dice game (see '-gr.Mozart'), one octave apart. They will use the Improvise mode to continue throwing the dice and creating unheard variations. But they will wait for a signal from the other to start playing a new variation.
In short, both musicians will use the same grammar, with only a small change for mutual synchronisation. Their settings must be carefully 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 musicians to repeat the same variations. So, set the Seed for randomization to different values, for instance '1' and '2'. Or set it to zero to instruct the machine to seed the random sequence with an arbitrary number of its choice.
In the current version of BP3, the easiest way to send a signal is to send a note with a velocity of zero, which will therefore go unheard. So we need to change the grammar to add these particular notes.
In fact, the same notes should never be part of the score, so that the signal is really sent at the end. This is easy with Mozart's game, for example we can use C# (do#) for the synchronisation. Below are the tops of the grammars used by Beatrix and Alan.
Beatrix '-gr.Beatrix':
-se.Beatrix ORD gram#1[1] S --> _script(wait for do#3 channel 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 randomly and apply from left to right] etc.
Alan's '-gr.Alan':
-se.Alan ORD gram#1[1] S --> _script(wait for do#2 channel 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 randomly and apply from left to right] etc.
Again, we put do#4 at the end of Alan's performance because it is played as do#3 (one octave lower) due to the _transpose(-12) instruction.
Now we need to set up the MIDI inputs and outputs. Beatrix will send events to "Bus 1" which is the Pianoteq synthesizer. She will receive events from "Bus 2", use them for synchronisation, and forward them to the output.
Alan will send events to "Bus 2" and listen to "Bus 1" for the synchronisation.
This is all perfect on paper, but who is going to start? We have created a chicken and egg situation, so we need a superpower to start the process! Actually, a real human pressing the do#2 key on a Pocket Key 25 keyboard will do.
The interface has a Add an input button. We click it on Alan's project and paste the name Pocket Key 25. We also use the comment fields to remember the use of each port:
To start the concert, we'll click START on both projects. The order is irrelevant. Then we'll press a key on the Pocket Key 25. Which key?
If we press the do#2 key, we will certainly trigger Alan's improvisation and the cycle will start. But if we press the do#3 key, nothing will happen because the filter of the Pocket Key 25's input, by default, does not transmit NoteOns to the output. So Beatrix won't hear it… By setting NoteOn to status '2' (treat and pass) on this filter, it will be possible to decide who will start the performance: do#2 for Alan and do#3 for Beatrix.
Here we go (starting with Alan):
👉 This simple show should convince musicians to create "virtual bands" of BP3s playing different grammars and sending specific synchronisation signals according to which variation has just been produced. Along with human performers who join in the fun!
The "virtual musicians" can be on the same computer or remotely connected via network (BlueTooth) or MIDI cables and USB interfaces. If they are on the same computer, they can be run on different browsers and/or the same browser. In the latter case, BP3 will not allow the same project (grammar or data) to be run in the same session. In general, just like human musicians in an orchestra have individual scores, it makes sense that virtual musicians don't share the same project…
The number of MIDI inputs and outputs in a project is currently limited to 32. It is very unlikely that a (human) musician will need more!
Synchronise to a sequence (or list) of notes
The following expression
gram#1[1] S --> _script(wait for C3 channel 1) - _script(wait for E3 channel 1) etc.
synchronises the production to the sequence of notes C3 E3 (whatever the duration and velocity). This creates interesting situations where a "virtual musician" is expected to start playing after receiving a signal (C3) from one partner, then a signal (E3) from another partner.
Note that there is a silence '-' between the two script instructions. If there is no silence, then BP3 will resume playing if either C3 or E3 has been received.
Remember that because of the MIDI channel specification (range 1 to 16), the detection of signals can be very selective. They are also inaudible when transmitted by NoteOns with velocity zero.
Crashing the band!
In the example of Alan & Beatrix playing Mozart, the connection seems to create 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 reason it doesn't crash is that Alan's input "fromBeatrix" (Bus 1) is filtered: NoteOns are received and processed (for synchronisation), but not passed to the output (Bus 2), i.e. to Beatrix. You can try to change the filter of input "Bus1" on Alan's project, setting NoteOns to status '2' (treat + pass): you will get a superb crash after a flood of notes! ➡ This shouldn't happen, because BP3's MIDI drivers have been equipped with an anti-bouncing mechanism.
Working with multiple MIDI outputs
The Bol Processor currently accepts up to 32 MIDI inputs and outputs.
Example of a project using two inputs and two outputs:
The procedure for adding outputs is the same as the one for adding inputs: click on the Add an output button, then enter the name of the MIDI device if you know it exactly, otherwise leave it blank and let the machine connect it by default to the next available output, while suggesting other options:
🎹 Your real-time MIDI settings: MIDI output = 0: “Bus 1” - Pianoteq MIDI output = 3: “USB MIDI Interface” - Yamaha piano MIDI input = 1: “Bus 2” - from Alex MIDI input = 2: “Pocket Key 25” - a small keyboard
🎹 Setting up MacOS MIDI system MIDI output = 0: “Bus 1” 👉 the name of your choice MIDI output = 3: “USB MIDI Interface” 👉 the name of your choice MIDI input = 1: “Bus 2” 👉 the name of your choice MIDI input 1 makes BP3 interactive MIDI input = 2: “Pocket Key 25” 👉 the name of your choice MIDI input 2 makes BP3 interactive
🎶 More MIDI output options were available: MIDI output = 1: “Bus 2” MIDI output = 2: “Pocket Key 25”
🎶 More MIDI input options were available: MIDI input = 0: “Bus 1” MIDI input = 3: “USB MIDI Interface”
The fact that a MIDI input or output is "available" does not guarantee that it will do what we want it to do. For example, sending MIDI messages to the Pocket Key 25 keyboard will actually do nothing.
Filtering MIDI outputs
In the example above, MIDI output 3 (the Yamaha piano connected to the USB MIDI Interface) has the following filter:
The channel filter specifies that the Yamaha piano will receive all MIDI channels except those emitted on MIDI channel 2. Filtering MIDI channels makes it possible to send events exclusively to different instruments.
MIDI events can also be filtered by type. The idea is the same as for MIDI input filters, see above.
👉 If you do not hear any sound in real-time MIDI, you may consider checking the output MIDI filters before you kick the piano or screw up its cables!
Using standard MIDI control
MIDI has standard control messages, namely Start, Continue and Stop, which can be used to coordinate multiple "virtual musicians" (instances of BP3). The advantage is the clarity of the data and the grammars programmed for interactions. The disadvantage is that these messages are not assigned to specific MIDI channels. This can be a problem with a large number of "musicians". They also introduce a delay of about 250 milliseconds due to the time it takes for the MIDI device to process them.
Let us look at a trivial example (of no musical interest), again with Beatrix and Alan playing together. This time, they take turns playing their items (simple sequences of notes).
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)
Beatrix's project sends its output to "Bus 1", the Pianoteq synthesizer. Its input is connected to the virtual port "Bus 2".
Alan's project sends its output to the virtual port "Bus 2", and its input is connected to "Bus 1".
We'll start the performance with Beatrix. Her machine will stay waiting for START. Then we'll start Alan's part, which will play three notes, then send a START message to Beatrix, who will play her part, and return to Alan, via a CONTINUE message, for the final part…
This all sounds logical, but it doesn't work! We do hear Alan's E3 D3 C3, but then nothing… The first reason is that Beatrix should be able to hear Alan's START command, which is no longer a NoteOn as in the previous examples. This means that the filter of her input "Bus 2", from which she receives Alan's MIDI messages, must be set correctly. The Start event should be received, see picture on the side. Also remember that NoteOn and NoteOff should be received and transmitted to the output (the Pianoteq synth).
Well, now we hear Alan's E3 D3 C3 followed with Beatrix's E4 D4 C4, but then… nothing! 😢
Careful analysis is needed to solve the problem. However, this is simple logic. Remember that Alan is playing on "Bus 2", which is not connected to any MIDI device. If we hear Alan's production, it is because it is received by Beatrix on "Bus 2" and then forwarded to "Bus 1" (the Pianoteq synth). The problem is that the final part A2 B2 C3 is sent to Beatrix, but she has already stopped listening because her own data is finished!
You can imagine a band in which one musician plays an improvisation and then gives a signal to another musician to start their own improvisation, but the careless musician has already vacated the place believing that the programme was finished. The solution is to tell the musicians not to go away until they receive a STOP signal. Maybe a signal from a conductor (here using the Pocket Key 25 keyboard), maybe a signal from the musician who is in charge of ending the performance. So we'll tell Alan to send a STOP signal at the end of his performance, and Beatrix to wait for Alan's STOP signal. 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 messages Start, Continue, Stop have been used here to facilitate the reading of scores (or grammars), but these can be replaced by NoteOns with durations and velocities zero on different MIDI channels when working with a larger number of actors.
By the way, using MIDI messages Start, Continue and Stop can be problematic with physical or virtual MIDI devices. The Yamaha piano, for example, does not transmit these messages. So, when connected to an input, it will only send 3-byte messages such as NoteOn/NoteOffs. In the Windows environment, the Microsoft GS Wavetable Synth also does not transmit any message at all. The best way to exchange messages is via virtual MIDI ports created by "loopMIDI" (see below). In Linux, virtual ports such as 'VirMIDI 0-0' (see below) do not seem to transmit these Start, Continue and Stop messages.
For geeks: In the Bol processor, scripts are appended to the next following sound object. For example, _script(wait for Start) is appended to note E4 in Beatrix's score. But what about scripts at the end of a score? The secret is that BP3 creates an invisible MIDI event (ActiveSensing) at the end of each element 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 agenda. These instructions are not case-sensitive.
Input scripts
When a note is specified, be sure to use the same note convention as in the project, e.g. C3 or do2 or sa3, etc.
Wait for note channel c
Wait for a NoteOn of the specified note on channel c (1…16)
Wait for Start
Wait for a Start MIDI message (250)
Wait for Continue
Wait for a Continue MIDI message (251)
Wait for Stop
Wait for a Stop MIDI message (252)
Wait forever
Wait until STOP or PANIC button is clicked
Velocity param Kx = note channel c
Set parameter Kx (0 < x < 128) to the velocity (range 0…127) of the specific note on channel c (1…16)
Control param Kx = #y channel c
Set parameter Kx (0 < x < 128) to the value (range 0…127) of MIDI controller #y (0 < y < 128) on channel c (1…16)
Output scripts
Hold for x milliseconds
Delay all subsequent events by the specified duration x (integer).
Send Start
Send Start MIDI message (250)
Send Continue
Send Continue MIDI message (251)
Send Stop
Send Stop MIDI message (252)
Scripts on top of a grammar
(To be continued)
Capture incoming events
The _capture() command allows incoming MIDI events to be recorded to a 'capture' text file. See the Capture MIDI input page for explanations.
Alternatives to IAC
Here are the equivalents of Apple's IAC (Inter-Application Communication) for each system:
Windows environment
On Windows, you can use software like loopMIDI or virtualMIDISynth to create virtual MIDI ports. These tools work similarly to the IAC Driver on macOS:
loopMIDI: Created by Tobias Erichsen, loopMIDI is a popular choice for creating virtual MIDI ports on Windows. It allows you to create and manage several virtual ports which can be used by applications to communicate with each other.
These tools integrate with software applications that support MIDI, providing a seamless way to connect various MIDI applications without needing external MIDI hardware.
Linux environment
On Linux, ALSA (Advanced Linux Sound Architecture) provides capabilities to create virtual MIDI devices through its sequencing API.
snd-virmidi: This ALSA MIDI driver provides virtual MIDI ports for sending and receiving MIDI between applications running on the same system. It's part of the standard ALSA module set and can be configured to provide multiple ports.
To set up virtual MIDI ports on Linux using ALSA, you typically need to load the snd-virmidi module. You can do this by running:
sudo modprobe snd-virmidi midi_devs=2
This command loads the snd-virmidi module and sets it up to provide two virtual MIDI devices (you can increase the number of devices by changing the midi_devs parameter). The virtual ports, namely 'VirMIDI 0-0' and 'VirMIDI 0-1' , can then be accessed by MIDI applications on the Linux system. Please note that they do not appear to transmit the Start, Stop and Continue messages.
👉 This is done automatically by the "install_bp3.sh" shell script installing BP3 on Linux/Ubuntu (download here).
James Kippen est un des spécialistes incontournables de la musique hindoustanie. Sa rencontre 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 recherches sur cet instrument et sur les rythmes indiens. 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 parallèlement au cours de ses recherches la maîtrise de certaines langues indo-persanes. Cette habilité lui permet l’analyse de première main de nombreuses sources (traités de musique, manuscrits de musiciens, généalogies, iconographies…) et d’appréhender les différents contextes socio-culturels indiens et leurs mutations depuis le XVIIIe siècle (cours indo-persanes, empire colonial britannique, montée du nationalisme, post-colonialisme). Son travail (voir la liste de ses publications en fin d’entretien) s’impose comme une contribution majeure à la compréhension des pratiques relatives au rythme et au mètre en Inde. J’ai commencé à correspondre avec James Kippen lors de mes propres recherches sur le tablā à la fin des années 1990. Toujours prompt à partager ses connaissances et son expérience avec enthousiasme, il me donna de nombreux conseils et encouragements et ce fût un grand honneur de le compter parmi les membres de mon jury de thèse lors de ma soutenance en 2004. C’est avec la même envie de transmettre qu’il a répondu favorablement à ma proposition d’entretien. Réalisé à distance entre juillet et décembre 2020, cet échange, à l’origine en anglais, relate près de quarante années de recherches ethnomusicologiques.
Traduction : Olivia Levingston et Antoine Bourgeau – Octobre 2021.
Comment en es-tu venu à t’intéresser aux musiques de l’Inde et au tablā en particulier ?
J’ai grandi à Londres, et déjà enfant j'étais fasciné par les différentes langues et cultures qui étaient introduites progressivement en Grande-Bretagne par les immigrants. J’étais particulièrement séduit par les petites épiceries regorgeant de produits exotiques et par les restaurants indiens qui dégageaient des arômes épicés alléchants. Mon père me parlait souvent de ses aventures pendant les sept années qu'il avait passées en Inde en tant que jeune soldat, et j'ai donc développé une image très attrayante, bien qu’orientaliste, du sous-continent indien. Pendant ma licence de musique à l'Université de York (1975-78), mon ami et camarade Francis Silkstone m'a fait connaître le sitār. J'ai également eu la chance de suivre un cours intensif de musique hindoustanie avec le conférencier Neil Sorrell, qui avait étudié la sāraṅgī avec le renommé Ram Narayan. La littérature disponible à cette époque était relativement rare, mais deux textes en particulier étaient tout de même très influents : « Tabla in Perspective » de Rebecca Stewart (UCLA, 1974), qui a nourri en moi un intérêt musicologique pour les variétés et les complexités du rythme et le jeu des percussions 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 musiciens traditionnels et héréditaires indiens et de leurs points de vue.
J’ai donc commencé à apprendre le tablā à partir des disques 33 tours et des livrets de Robert Gottlieb appelés « 42 Lessons for Tabla », et après quelques mois, j'avais appris suffisamment de techniques de base pour accompagner F. Silkstone lors d’un récital. J'ai ensuite été l’élève de Manikrao Popatkar, un excellent joueur de tablā professionnel qui venait d’immigrer en Grande-Bretagne. J'étais « accro » ! De plus, la pensée que je pourrais entrer dans ce monde socio-musical du tablā en Inde en qualité de participant-observateur m'a motivée à chercher des programmes d'études supérieures où je pourrais développer mes connaissances et compétences tout en combinant les approches musicologiques et anthropologiques de R. Stewart et D. Neuman. Sur les conseils de N. Sorrell, j'ai donc écrit à John Blacking au sujet de la possibilité d'étudier à l'Université Queen's de Belfast, et John a été très encourageant, en m'offrant une entrée directe au programme de doctorat. Il a également souligné que son collègue John Baily avait récemment écrit un texte : « Krishna Govinda's Rudiments of Tabla Playing ». J'avais trouvé le programme d'études supérieures idéal et des guides parfaits.
Approches méthodologiques
« How Musical Is Man » de J. Blacking est un texte fondamental paru en 1973, à contre-courant de la pensée de l’époque, refusant les frontières entre musicologie et ethnomusicologie ainsi que les oppositions stériles entre les traditions musicales. J. Blacking avance également l’idée essentielle que la musique, même si ce mot n’existe pas partout, est présente à travers toutes les cultures humaines, en ce qu’elle résulte du « son humainement organisé ». Sais-tu s’il connaissait les propos d’E. Varèse ? Voulant lui aussi se démarquer de la signification occidentale du concept de « musique », bien que pour d’autres raisons, il avait avancé en 1941 l’expression de « son organisé ».
Je ne me souviens pas que J. Blacking ait mentionné Varèse ou ses réflexions sur la nature de la musique. John était par contre un excellent musicien et pianiste qui avait sans doute rencontré et étudié beaucoup de musique d'art occidental, et il est donc possible qu'il ait connu la définition de Varèse. Cependant, alors que la philosophie de Varèse est née de la conviction que les machines et les technologies seraient capables d'organiser le son, J. Blacking a voulu porter l’attention sur la musique comme fait social : une activité où la multitude des façons dont les êtres humains produisent leurs sons, à la fois comme interprètes et surtout comme auditeurs, permettrait de révéler beaucoup de choses sur leur structure sociale.
En quoi tes études universitaires ont-elles orienté tes recherches ?
J'ai eu la chance d'avoir non pas un mais deux mentors : J. Blacking et J. Baily, tous deux très différents. J. Blacking regorgeait d’idées, grandes et inspirantes, qui ont défié et révolutionné la façon dont on pense la musique et la société, tandis que J. Baily a mis l'accent sur une approche plus méthodique et empirique fondée sur la performance musicale et sur la gestion scrupuleuse de l'acquisition et la documentation des données.
Il ne faut pas oublier que j'étais jeune et inexpérimenté lorsque j'ai entrepris ce travail de terrain, et donc l'exemple de J. Baily, axé sur la musique et la collecte de données, m’a servi de guide pratique dans ma vie quotidienne pendant mes années en Inde. Et lorsque j’avais en ma possession un énorme corpus de données, j'ai pu prendre du recul et, inspiré par J. Blacking, j’ai pu identifier certains des grands modèles que ces données mettaient en lumière. J'ai donc été frappé par le récit cohérent du déclin culturel lié à la nostalgie d'un passé glorieux et artistiquement abondant, et la tradition musicale du tablā de Lucknow était l'un des derniers liens vivants avec ce monde perdu. Cela est devenu l'un des thèmes clés de ma thèse de doctorat et de certains des autres travaux qui ont suivi. Quant à ma carrière d'enseignant, j'ai essayé au fil des ans de combiner les meilleures qualités de mes deux maîtres, tout en promouvant toujours l'idée que, dans les recherches portant sur la musique et la vie musicale, la théorie devrait naître à partir de données solides et ne jamais ignorer le dialogue avec la réalité ethnographique afin de préserver ainsi sa valeur heuristique.
Dans « Working with the Masters » (2008), tu décris avec détails et franchise (ce qui est assez rare dans la profession !…) ton expérience de terrain dans les années 1980 avec Afaq Hussain. Cette expérience, et le récit que tu en fais, apparaissent comme un modèle pour toute recherche en ethnologie et en ethnomusicologie avec la particularité de l’apprentissage musical. Tu rends compte ainsi des phases d’approche, de rencontre, de test et, enfin (et heureusement dans ton cas) d’acceptation au sein de l’environnement étudié et de la confiance accordée permettant de déployer pleinement ses intentions de recherche et d’apprentissage musical. Tu abordes aussi les réflexions éthiques et déontologiques indispensables au chercheur : relation aux autres, conflits de loyauté résultant des possibles dissonances entre le rapport à l’informateur et les objectifs ethnographique, responsabilités vis à vis du savoir récolté et place du chercheur-musicien dans la réalité musicale de la tradition étudiée. Au-delà des particularités du contexte musical, y a-t-il des spécificités indiennes que les chercheurs occidentaux doivent avoir en tête pour entreprendre (et espérer réussir) une étude ethnologique en Inde ?
La société sud-asiatique a énormément changé au cours des 40 années qui se sont écoulées, c’est une évidence, et ce depuis que j'ai commencé à mener des recherches ethnographiques. Mais certains principes, ceux qui devraient guider le processus d'enquête, demeurent inébranlables. C’est le cas du profond respect pour la dimension de l'ancienneté, qu’elle soit sociale ou culturelle. Naturellement, l'accès à une communauté est la clef de voute, et il n'y a pas de meilleur « gatekeeper » ou « sponsor » (pour utiliser les termes anthropologiques) qu'une figure d'autorité au sein de la sous-culture que l'on étudie, puisque la permission que l'on reçoit se répercute sur la hiérarchie sociale et familiale. Le danger, dans une société fortement patriarcale comme celle de l'Inde, est que l'on se retrouve avec une vision hiérarchique descendante de la vie musicale. Si j'avais l'occasion de reprendre mes recherches dans ce domaine, j'accorderais une plus grande attention à ceux qui se trouvent à différents niveaux de cette hiérarchie, en particulier aux femmes et à la musicalité quotidienne de la vie dans la sphère domestique. En se concentrant uniquement sur les aspects les plus raffinés de la production culturelle, on peut passer à côté de ce qui a de la valeur dans la formation des idées, de l'esthétique et des mécanismes de soutien nécessaires à la survie et à l'épanouissement d'une tradition artistique.
Sur une note plus pragmatique (et qui concerne plus souvent il me semble les aspects relatifs au travail sur le terrain), j'ai trouvé que les entretiens formels enregistrés étaient rarement très fructueux parce qu'ils étaient ressentis comme intimidants et étaient accompagnés d'attentes élevées. En outre, une sensibilité accrue aux ramifications politiques – micro et macro – nous engageant à parler selon nos convictions, représentait souvent un obstacle à la collecte d'informations. En vérité, officieusement et dans des circonstances détendues, moins je demandais et plus j'écoutais, plus l'information que je recevais était utile et intéressante. La mise en garde est que pour fonctionner de cette manière, il faut développer un niveau de patience que la plupart des Occidentaux auraient du mal à accepter.
Tu adoptes dans les années 1980 l’« approche dialectique » enseignée par J. Blacking en y associant l’informatique et un programme d’IA. Le but était d’analyser les fondements du jeu improvisé des joueurs de tablā. Peux-tu revenir sur la genèse et l’évolution de cette approche ?
J. Blacking était particulièrement intéressé par le travail de Noam Chomsky sur les grammaires transformationnelles. Il théorisait sur le fait que l'on pouvait créer des ensembles de règles pour la musique – une grammaire – avec plusieurs « couches » ; la première décrirait comment ces structures sonores de surface étaient organisées. Les autres plus profondes, comprendraient des règles abordant des principes de plus en plus généraux sur l'organisation musicale et, au niveau le plus profond, la grammaire formaliserait les règles régissant les principes de l'organisation sociale. Si le but ultime d'un ethnomusicologue est de relier la structure sociale à la structure sonore, ou vice versa, alors c'était cette idée que J. Blacking défendait pour atteindre 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 contreforts de l'Himalaya. J'avais convenu de retrouver mon ami F. Silkstone, qui à l'époque étudiait le sitār avec Imrat Khan et le dhrupad avec Fahimuddin Dagar à Calcutta. Francis est arrivé avec Fahimuddin et l'un des étudiants américains de Fahim, Jim Arnold. Jim et Bernard Bel (un informaticien et mathématicien qui vivait à l'époque à New Delhi) travaillaient ensemble pour un projet expérimental sur l'intonation dans le rāga. Bernard est alors arrivé à Mussoorie, également pour échapper à la chaleur, et pendant environ un mois nous avons tous vécu ensemble dans un environnement riche et fertile de musique et d'idées. C'est là que Bernard et moi avons discuté pour la première fois de la notion des grammaires socio-musicales de J. Blacking, ainsi que de ma fascination pour un type de composition des joueurs de tablā, avec une structure offrant un thème et des variations, connues sous le nom de qāida. J’étais très curieux d’apprendre que Bernard pouvait concevoir un programme informatique capable de modéliser le processus de création de variations à partir d'un thème donné.
L'année suivante, Bernard et moi nous sommes rencontrés à plusieurs reprises : il en a appris beaucoup plus sur le fonctionnement du tablā et j'ai beaucoup appris sur la linguistique mathématique. Ensemble, nous avons créé des ensembles de règles – des grammaires transformationnelles – qui ont généré des variations à partir d'un thème de qāida et traité des variations existantes pour déterminer si nos règles pouvaient en tenir compte. Mais il était évident que les connaissances modélisées étaient les miennes et non celles de musiciens experts. Alors nous avons développé une stratégie pour impliquer ces experts en tant que « collaborateurs et analystes » (une expression souvent utilisée par J. Blacking) dans un échange dialectique. Après tout, un « système expert » était destiné à modéliser les connaissances d'experts, et il n'y avait pas de meilleur expert qu'Afaq Hussain.
Avais-tu connaissance d’autres types de démarches interactives comme celle du re-recording développée un peu plus tôt par S. Arom ?
J'étais au courant des méthodes interactives de S. Arom pour obtenir les propres perspectives des musiciens sur ce qui se passait dans leur musique, tout comme j'étais au courant des travaux en anthropologie cognitive visant à déterminer les catégories cognitives significatives pour les personnes que nous étudiions. La thèse de S. Arom selon laquelle les données culturelles devaient être validées par nos interlocuteurs a certainement été très influente. Je ne connaissais pas d'autres approches. Les exigences de notre situation expérimentale particulière nous ont obligés à inventer notre propre méthodologie unique pour ce processus d’interaction homme-machine.
On connaît la crainte des maîtres indiens d’une diffusion de leurs savoirs au-delà de leur gharānā, et en particulier certaines techniques et compositions. Quelles étaient l’attitude et l’implication d’Afaq Hussain dans cette démarche qui mettait à jour les structures des qāida ?
Afaq Hussain n'était pas du tout préoccupé par les révélations concernant le qāida puisque l'art de les jouer dépendait de sa capacité à improviser. En d’autres termes, il s’agissait d’une activité axée sur les processus et donc en constante évolution. A l’inverse, les compositions fixes, en particulier celles transmises de génération en génération au sein de la famille, ne changeaient pas. Celles-ci étaient considérées comme des atouts précieux et étaient soigneusement gardées.
Lorsque je repense aux expériences scientifiques, je m'étonne que Bernard ait pu créer une grammaire générative aussi puissante pour un ordinateur (d'abord un Apple II avec 64k RAM, puis le portable 128k Apple IIc) avec une puissance de traitement et un espace aussi limité. Afaq Hussain s'est également étonné qu'une machine « puisse penser », pour reprendre son expression. Nous avons commencé par une grammaire de base pour un qāida donné, puis généré quelques variations, et je les ai ensuite lues à voix haute en utilisant la langue syllabique, les bols pour tablā. De nombreux résultats étaient prévisibles, certains étaient inhabituels mais néanmoins acceptables, et d'autres ont été jugés erronés – techniquement et esthétiquement. Nous avons ensuite demandé à Afaq Hussain de proposer ses propres variations ; celles-ci ont été introduites dans l'ordinateur (j’ai effectué la saisie en utilisant un système de corrélation de clés pour gagner en rapidité) et « analysées » pour déterminer si les règles de notre grammaire pouvaient en tenir compte. De simples ajustements aux règles étaient possibles in situ, mais lorsqu'une reprogrammation plus complexe était nécessaire, nous passions à un deuxième exemple et revenions à l’exemple d'origine dans une session ultérieure.
Est-ce que ces recherches ont concerné d’autres types de composition comme les gat ou les tukra ?
Non. L'avantage d’observer une structure de thème et de variations comme celle des qāida est fondé sur le fait que chaque composition est un système fermé où les variations (vistār) sont limitées aux éléments présentés dans le thème. Le but est donc de comprendre les règles non écrites pour créer des variations. Les compositions fixes comme les gat, ṭukṛā, paran, etc., comprennent une variété d'éléments beaucoup plus large et plus imprévisible, et seraient ainsi très difficiles à modéliser. Cependant, nous avons pu expérimenter sur le type de composition appelé tihāī : la phrase répétée trois fois qui agit comme une cadence rythmique finale. Cette dernière peut être modélisée mathématiquement afin d’obtenir une formule arithmétique dans laquelle on peut proposer des phrases rythmiques, puis être appliquée soit à un qāida (un fragment de son thème ou l'une de ses variations), soit à des compositions fixes comme par exemple le ṭukṛā.
Est-ce que certaines phrases rythmiques générées par l’ordinateur et validées par Afaq Hussain ont intégré le répertoire du gharānā de Lucknow ?
C'est une question difficile. Lorsque nous étions au milieu d'une période intensive d'expérimentation avec le « Bol Processor », une sorte de dialogue se mettait en branle où Afaq Hussain alternait des phrases rythmiques générées par ordinateur avec des ensembles de variations qui lui étaient propres. Tant de compositions ont été générées et alternées de cette manière qu'il était souvent difficile de savoir si le répertoire qu'il jouait en concert provenait de l'ordinateur ou pas. Pourtant, alors que certains enseignants et interprètes développent un répertoire de variations fixes provenant d’un thème, Afaq Hussain lui l'a rarement fait, s'appuyant plutôt sur son imagination « dans l'instant ». C'est aussi l'approche qu'il a encouragée en nous. Par conséquent, je doute que le matériel généré par ordinateur soit devenu une partie permanente du répertoire.
Est-ce que ce type d’approche spécifique utilisant l’IA en ethnomusicologie a été poursuivi par d’autres ?
Le terme « Intelligence Artificielle » a fait l'objet d'un changement radical dans les années 1980-1990 grâce au développement de l'approche « connexionniste » (les neurones artificiels) et de techniques d'apprentissage à partir d'exemples capables de traiter une grande masse de données. Avec le Bol Processor (BP) nous étions au stade de la modélisation symbolique-numérique de décisions humaines représentées par des grammaires formelles, ce qui exigeait une connaissance approfondie, bien qu'intuitive, des mécanismes de décision.
Pour cette raison, les approches symboliques-numériques n'ont pas été reprises par d'autres équipes à ma connaissance. Par contre, nous avions aussi abordé l'apprentissage automatique (de grammaires formelles) à l'aide du logiciel QAVAID écrit sous Prolog II. Nous avons ainsi montré que la machine devait collecter des informations en dialoguant avec le musicien pour effectuer une segmentation correcte des phrases musicales et amorcer un travail de généralisation par inférence inductive. Mais ce travail n'a pas été poursuivi car les machines étaient trop lentes et nous ne disposions pas de corpus assez grands pour construire un modèle couvrant une grande variété de modèles d'improvisation.
Il se peut que des chercheurs indiens fassent appel à de l'apprentissage à partir d'exemples – qu'on appelle aujourd'hui « Intelligence Artificielle » – pour traiter de grandes masses de données produites par des percussionnistes. Cette approche « big data » a le défaut de manquer de précision dans un domaine où la précision est un marqueur d'expertise musicale, et de ne pas produire des algorithmes compréhensibles qui constitueraient une « grammaire générale » de l'improvisation sur un instrument de percussion. Notre ambition initiale était de contribuer à la construction de cette grammaire, mais nous avons seulement prouvé, avec la technologie de l'époque, que ce serait réalisable.
Dans les versions ultérieures, ce logiciel a pu procurer également de la matière et des outils pour le travail de composition en musique et en danse au-delà du contexte indien. On fêtera en 2021 les 40 ans de ce logiciel avec une nouvelle version. Quels sont les artistes qui ont utilisé le logiciel ?
Des compositions rythmiques programmées sur BP2 et interprétées sur un synthétiseur Roland D50 ont été utilisées pour l'œuvre chorégraphique CRONOS dirigée par Andréine Bel et produite en 1994 au NCPA de Bombay. Voir par exemple https://bolprocessor.org/shapes-in-rhythm/.
A la fin des années 1990, le compositeur néerlandais H. Visser a utilisé BP2 pour contribuer au développement d'opérateurs permettant la composition de musique sérielle. Voir par exemple https://bolprocessor.org/harm-vissers-examples/.
Nous avons eu des retours et demandes d'universitaires européens et américains qui utilisent BP2 comme outil pédagogique pour l'enseignement de la composition musicale. Mais nous n'avons jamais fait de campagne « publicitaire » à grande échelle pour agrandir la communauté d'utilisateurs, étant intéressés en priorité par le développement du système et la recherche musicologique qui lui est associée.
La principale limite de BP2 était son fonctionnement exclusif dans l'environnement Mac. C'est pourquoi la version BP3 en cours de développement est multiplateforme. Elle sera vraisemblablement mise en service en version « Cloud » rendu possible par son interaction étroite avec le logiciel Csound. Ce logiciel permet de programmer des algorithmes performants de production sonore et de travailler avec des modèles d'intonation microtonale que nous avons développés, aussi bien pour la musique harmonique que pour le raga indien – voir https://bolprocessor.org/category/related/musicology/.
Etudes de la notation, du mètre, du rythme et de leurs évolutions
Au fil de ton travail, la question de la notation musicale occupe une place importante autant sur le plan de la méthodologie que sur celui de la réflexion à propos de son usage. Tu as mis en place ton propre système afin de représenter le plus rigoureusement possible tes analyses des compositions de tablā et de pakhāvaj. Peux-tu nous parler de cet aspect de ton travail ?
Toutes les notations écrites sont des approximations incomplètes et leur contribution au processus de transmission est limité. Les représentations orales, comme les suites de syllabes énoncées (bols) représentant des frappes de percussion, transmettent souvent des informations plus précises sur la musicalité inhérente aux modèles, tels que l’accentuation, l'inflexion, le phrasé et la variabilité micro-rythmique. De même, une fois intériorisées, ces syllabes sont indélébiles. Nous savons que les systèmes oraux favorisent une bonne mémoire musicale, ce qui est particulièrement important dans le contexte de la performance musicale en Inde où les interprètes ne commencent qu'avec une feuille de route très générale, mais prennent ensuite toutes sortes de détours inattendus. Dans cette perspective, on pourrait se demander pourquoi écrire quoi que ce soit ?
À partir des années 1860, il y a eu un essor des notations musicales en Inde, inspiré il me semble par la prise de conscience que la musique occidentale possédait un système de notation efficace, et suscité aussi par l'augmentation constante de l'apprentissage institutionnalisé et d’un besoin apparent de textes pédagogiques et de répertoires. Pourtant, il n'y a jamais eu de consensus sur la façon de noter, et chaque nouveau système différait grandement des autres. La notation conçue en 1903 par Gurudev Patwardhan était sans doute la plus détaillée et la plus précise jamais créée pour les percussions comme le tablā et le pakhāvaj, mais elle était sûrement trop compliquée pour que les étudiants la lisent comme une partition. Son objectif premier était donc davantage d'être un ouvrage de référence qui préservait le répertoire et fournissait un programme pour un apprentissage structuré.
Nous vivons dans un monde de l’écrit et les musiciens reconnaissent que leurs élèves ne consacrent plus leurs journées entières à la pratique. Comme d'autres professeurs, Afaq Hussain nous a tous encouragés à écrire le répertoire qu'il enseignait pour qu'il ne soit pas oublié. Pour moi, il était particulièrement important de saisir deux aspects dans mes propres cahiers : la précision rythmique et les doigtés précis. En ce qui concerne ce dernier, par exemple, face à la phrase keṛenaga tirakiṭa takataka tirakiṭa, je m’assurais de noter correctement le doigté précis dans la douzaine de techniques possibles pour takataka, sans parler des variétés de keṛenaga, et j’indiquais également que les deux versions de tirakiṭa avaient été jouées légèrement différemment.
Afaq Hussain a gardé ses propres cahiers rangés en toute sécurité dans une armoire verrouillée. Il les consultait parfois. Je pense qu'il avait conscience du fait que le répertoire disparaissait effectivement avec la tradition orale. Après tout, il y a des centaines, voire des milliers de morceaux de musique. Son grand-père, Abid Hussain (1867-1936) fut le premier professeur de tablā au Bhatkhande Music College de Lucknow. Lui aussi a noté des compositions de tablā, et j'ai en ma possession des centaines de pages qu'il a écrites sans aucun doute pour être publiées sous forme de texte pédagogique. Cependant, il n'a pas indiqué de rythmes ou de doigtés précis, et l'interprétation de sa musique est donc problématique, même pour le fils d'Afaq Hussain, Ilmas Hussain, avec qui j'ai passé tout son répertoire au peigne fin. Une notation précise a donc de la valeur, si elle est accompagnée d'une tradition orale qui peut ajouter toutes les informations nécessaires pour donner vie à la musique.
Avec tes recherches récentes sur de nombreux textes indo-persans des XVIIIe et XIXe siècles, tu mets en évidence l’évolution de la représentation de la métrique en Inde. Ces recherches illustrent l’importance de l’approche historique et mettent en évidence pleinement les mécanismes d’évolution des faits culturels. Quels sont les concepts que tu utilises pour décrire ces phénomènes ?
Une facette importante de notre formation anthropologique était d'apprendre à fonctionner dans la langue de ceux avec qui nous nous sommes engagés dans nos recherches, non seulement pour gérer la vie au quotidien, mais aussi pour avoir accès à des concepts qui sont significatifs dans la culture étudiée. Deux termes sont importants à 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 première apparition dans les années 1860 signifiait « famille » mais qui, au fil du temps, en est venu à englober toute personne qui croit partager certains éléments de technique, de style ou de répertoire avec une personne dominante du passé. Deuxièmement, silsila, un terme commun dans le soufisme qui signifie « chaîne, connexion ou succession », et qui a une pertinence spécifique dans le cas de l’enseignement dans une lignée de musiciens. C'est cette silsila plus précise qui détient, selon moi, la clé de la transmission de la culture musicale, et pourtant le paradoxe est que la chaîne porte en elle une directive implicite pour explorer l’individualité créatrice. C'est pourquoi, par exemple, lorsque l'on examine la lignée des joueurs de tablā de Delhi à partir du milieu du XIXe siècle, on constate des différences majeures de technique, de style et de répertoire d'une génération à l'autre. Il en va de même pour mon professeur Afaq Hussain, dont le jeu différait grandement de celui de son père et enseignant Wajid Hussain. Chaque individu hérite d'une certaine essence musicale dans la silsila, bien sûr, mais il doit s'engager et opérer dans un monde en constante évolution où la survie artistique nécessite une adaptation. Il est donc d'une importance vitale lors de l'étude de toute époque musicale de recueillir autant d'informations que possible sur le milieu socioculturel observé.
Comme je viens de le démontrer, il est impératif de s'engager avec des concepts de la culture, de les expliquer et de les utiliser sans recourir à la traduction. Un autre excellent exemple est celui du terme tāla, qui est le plus souvent traduit par mètre ou cycle métrique. Et pourtant, il y a une différence fondamentale entre les deux. Le mètre est implicite : c'est un motif qui est dérivé des rythmes de surface d'une pièce, et se compose d'une impulsion sous-jacente qui est organisée en une séquence hiérarchique récurrente de battements forts et faibles. Mais, par contraste, tāla est explicite : c'est un motif récurrent de battements non hiérarchiques se manifestant par des gestes de la main consistant en des claps, des mouvements silencieux de la main et des comptes sur les doigts, ou comme une séquence relativement fixe de frappes de percussion. Utiliser le terme « mètre » dans le contexte indien est donc trompeur, et j'encourage donc l'utilisation de terme tāla avec une explication mais sans traduction.
Tu travailles actuellement sur un ouvrage concernant les sources du XVIIIe et XIXe siècles, quel est ton objectif ?
Mon objectif est de retracer les origines et l'évolution du système du tāla actuellement utilisé dans la musique hindoustanie en rassemblant autant d'informations que possible à partir de sources contemporaines de la fin du XVIIe siècle jusqu’au début du XXe siècle et de l'ère de l’enregistrement. Le problème est que les informations disponibles sont fragmentaires et souvent rédigées dans un langage obscur : la tâche s'apparente à un puzzle où la plupart des pièces manquent. De plus, les sources que l'on trouve ne sont pas nécessairement directement connectées, et donc j’ai plutôt l’impression de travailler avec deux ou plusieurs puzzles à la fois. En bref, après une analyse minutieuse, des déductions et des hypothèses, je pense qu'il y a eu une convergence des systèmes rythmiques au XVIIIe siècle qui a donné naissance au système du tāla d'aujourd'hui.
Les pratiques musicales et les contextes sociaux des diverses communautés (les Kalāwant qui chantaient le dhrupad, les Qawwāl qui chantaient le khayāl, le tarāna et le qaul, ainsi que la communauté des Ḍhāḍhī qui accompagnaient tous ces genres musicaux), doivent impérativement être pris en compte pour comprendre comment et pourquoi la musique et le rythme en particulier, ont évolués comme ils l'ont fait. Pourtant, il y a tant d'autres aspects importants dans cette histoire : le rôle des femmes instrumentistes dans les espaces privés de la vie moghole au XVIIIe siècle, et leur disparition progressive au XIXe siècle, le colonialisme, le statut et l'influence des textes anciens, les techniques d'impression et la diffusion de nouveaux textes pédagogiques à la fin du XIXe siècle, pour n'en citer que quelques-uns.
Quelles sont les sources intéressantes à considérer pour comprendre l’évolution des pratiques et des représentations rythmiques de la musique hindoustanie ?
Le nord de l'Inde a toujours été ouvert aux échanges culturels, et cela était particulièrement le cas sous les Moghols. Il est impératif de comprendre qui se rendait dans ces cours, d'où ils venaient et ce qu'ils jouaient. Il est tout aussi important de comprendre les documents écrits disponibles ainsi que les discours intellectuels de l'époque, car la connaissance de la musique était cruciale pour l'étiquette moghole. Ainsi, quand on sait que le traité de musique très influent Kitāb al-adwār, du théoricien du XIIIe siècle Safi al-Din al-Urmawi al-Baghdadi, était largement disponible en Inde en arabe et en traduction persane, et que des exemplaires se trouvaient dans la collection des nobles de Delhi à partir du XVIIe siècle, on comprend mieux pourquoi le rythme indien était expliqué en utilisant les principes de la prosodie arabe à la fin du XVIIIe siècle. Mon argument est que la prosodie arabe, appliquée à la musique, était un outil plus puissant que les méthodes traditionnelles de prosodie sanskrite, et qu’elle était donc plus efficace pour décrire les changements qui se produisaient dans la pensée et la pratique rythmique à cette époque.
Ces recherches ethno-historiques bousculent parfois les croyances de certains musiciens et chercheurs, notamment sur les questions d’ancienneté et d’« authenticité » des traditions. Penses-tu que les musiciens d’aujourd’hui sont davantage enclins à accepter les évidences de la nature complexe des traditions musicales, formées de multiples apports et en perpétuelles transformations ?
Certains le sont, mais certains ne le sont pas. Il y a toujours eu un petit nombre de chercheurs en Inde qui menaient des recherches précieuses et factuelles sur la musique. Pourtant, je suis déçu de constater qu'il y en a beaucoup d'autres qui reposent sur le rabâchage et la diffusion d'opinions non fondées et non savantes. Ce qui me surprend peut-être le plus, c'est le manque de formation scientifique rigoureuse dans les universités de musique en Inde et la persistance d'idées et d'informations réfutées ou discréditées en dépit de tant d'excellentes recherches publiées indiquant le contraire.
Depuis les années 1990, on constate le renforcement d’un nationalisme hindou au sein de la société indienne. Notes-tu un impact particulier sur le monde de la musique hindoustanie et sur celui de la recherche ?
Il s’agit là d’un sujet complexe et sensible. Le nationalisme hindou n'est pas nouveau, loin de là, et comme je l'ai démontré dans mon livre sur Gurudev Patwardhan, il a constitué une partie importante de la raison d'être de la vie et de l'œuvre de Vishnu Digambar Paluskar au début du XXe siècle. Comme de nombreux chercheurs l'ont souligné, ce nationalisme avait ses racines dans le colonialisme et s'est développé en tant que mouvement anticolonial axé sur la politique identitaire hindoue. Ce récit, basé sur des notions inventées d'un passé hindou glorieux, a minimisé les contributions de la culture moghole et des grandes lignées de musiciens musulmans (sans parler des femmes). Depuis ce temps, l'identité musulmane indienne dans le domaine de la musique a connu un certain déclin. Les chercheurs ont pris note de cette chute et ont tenté de retracer certains 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 musulmans, nommée Shahjahanpur-Lucknow gharānā. Je pense que dans de nombreuses études actuelles qui portent sur la musique en Inde se trouve une forte motivation de ne pas omettre ces récits culturels importants, de les réanimer et de les replacer dans le grand récit de l'histoire de l'Asie du Sud.
A la suite de R. Stewart, tu as mis en évidence l’intrication complexe des approches rythmiques et métriques dans le jeu des joueurs de tablā en montrant qu’il résulte de divers apports culturels qui se sont succédés dans le temps. Avec l’intensification des échanges culturels mondiaux depuis la fin du XXe siècle, as-tu observé une ou des tendances évolutives 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 semble tout naturel que les joueurs de tablā du monde entier aient envie d’explorer et d’expérimenter ses sons magiques. Zakir Hussain a montré la voie en démontrant la flexibilité et l'adaptabilité de cet instrument, ainsi que la vélocité viscérale et palpitante de ses motifs rythmiques.
Quant au tablā, dans le contexte de la musique de concert hindoustanie, j'ai remarqué que nombreux sont ceux qui tentent d'injecter ce même sentiment d'exaltation, renforcé de plus en plus, semble-t-il, par une amplification si forte qu'elle déforme le son et heurte les tympans du public jusqu'à la soumission. J'irais jusqu'à dire que c'est malheureusement devenu la norme. À cet égard, je me considère comme une sorte de puriste qui aspire à un retour à une pratique où le joueur de tablā maintient un rôle subtil, discret mais de soutien, et complète la ligne du soliste, en restant modeste et sans dominer la scène lorsqu'il est invité à faire une petite apparition ou un court solo. De la même manière, je désire un retour aux soli de tablā qui regorgent de contenu plutôt que d’« effets sonores ». Par « contenu », j'entends des compositions traditionnelles de caractère, dotées de techniques spécialisées, dont les compositeurs sont nommés et ainsi honorés. Et pourtant, il est douloureusement évident qu'un tel « contenu » n'atteint pas beaucoup de jeunes joueurs de nos jours.
Ethnomusicologie
Comme évoqué, tes recherches mettent en avant l’importance des sources historiques aussi bien que la prise en compte des phénomènes plus large comme l’orientalisme ou le nationalisme pour comprendre le présent des pratiques musicales indiennes. En même temps tu es très attentif aux intenses phénomènes transculturels actuels et à la nécessité de les appréhender. Dans la profession, le concept d’« ethnomusicologie » ne fait pas toujours consensus. Quelle est ta position par rapport à cette appellation et à l’objet de cette discipline en ce début du XXIe siècle ?
Je n'ai jamais été particulièrement à l'aise avec l'étiquette d’« ethnomusicologie ». Comme disait J. Blacking, toute musique est de la « musique ethnique », et par conséquent, il ne devrait pas y avoir de distinction entre les études sur le tablā, le gamelan, le hip-hop et celles sur Bach, Beethoven ou Brahms. Nous nous engageons tous dans un « discours sur la musique », une « musicologie ». L'avantage de termes comme « anthropologie » ou « sociologie » de la musique est qu'ils impliquent une gamme plus large d'approches théoriques et méthodologiques qui nous rappellent que la musique est un fait social. Pourtant, nous devons reconnaître que le champ des études ethnomusicologiques a évolué et que, de nos jours, une attention bien plus grande est accordée à des phénomènes comme le bruit ou les sons de la vie quotidienne. Par conséquent (sans vouloir paraître trop cynique) bien que dans certains milieux les « sound studies » soient traitées avec un certain mépris, ce terme très général est peut-être la définition la plus honnête et la plus précise de ce que nous (nous tous) faisons. Je reconnais toutefois qu'il serait dommage de rejeter complètement le terme « musique », et donc j’aime concevoir l'ethnomusicologie, la musicologie et la théorie musicale se réunissant sous la rubrique « musique et sound studies ».
Enseignement
Après une courte période à Belfast, tu as enseigné à Toronto, peux tu nous parler de ton expérience d’enseignement ?
Toronto est une ville merveilleuse et, selon la plupart des témoignages, c'est la ville la plus multiculturelle de la planète. Elle offre un environnement musical très riche et stimulant.
Miecyzslaw Kolinski a enseigné à l'Université de Toronto de 1966 à 1978. Ses intérêts ethnomusicologiques ont été façonnés par sa formation auprès de Hornbostel et Sachs, et par la vision d’un monde, partagée par tant de géants de notre discipline. Ses publications portent sur les bases scientifiques de l'harmonie et de la mélodie et il a développé des méthodes d'analyse interculturelle. Son approche a été catégoriquement rejetée dans ma propre formation avec John Blacking qui a toujours défendu avec véhémence le relativisme culturel, tout comme cela était en contradiction avec la formation de Tim Rice à l'Université de Washington. Tim a été embauché en 1974 et est parti pour l'UCLA en 1987. Comme moi à mes débuts, Tim a eu du mal à convaincre ses collègues de l'importance de l'approche ethnomusicologique et de la nécessité de traiter notre discipline avec le respect qu'elle mérite et les ressources qu'elle nécessite. Nous avons tous les deux beaucoup lutté. Tim a créé un programme qui est devenu connu sous ma direction sous le nom « The World Music Ensembles », et pour ma part j'ai acquis un gamelan balinais en 1993, aidé par mon épouse, l'ethnomusicologue Annette Sanger, ancienne collègue de J. Blacking. De plus, Tim et moi avons réussi à intégrer davantage les cours d'ethnomusicologie au cœur du programme pour nous assurer que tous les étudiants en musique, quels que soient leurs intérêts, soient exposés à notre approche et comprennent la valeur et l'importance d'une vision socialement fondée de toute musique. J’ai créé un cours d'introduction d'un an intitulé Music as Culture que j'ai co-enseigné pendant quelques années avec un collègue de musicologie : nous avons alterné nos cours, illustrant et croisant notre corpus et nos observations sur nos canons occidentaux et le vaste monde de la musique au-delà. Mon cours Introduction to Music & Society est devenu emblématique. Mon approche étant essentiellement modulaire, les thèmes choisis ont changé et se sont adaptés au fil du temps pour refléter des préoccupations plus contemporaines, notamment la musique et l'identité, l'expérience religieuse, la migration, le genre, la guérison et les sound studies.
Dans mes fonctions d’enseignant, j'ai conçu et enseigné une varié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 travaillé avec la communauté sud-asiatique de Toronto pour organiser des concerts du chanteur Pandit Jasraj. Ils ont attiré des sponsors générant des bourses d'études fiables pour des étudiants dont les recherches portaient sur la musique hindoustanie. J'ai aidé à mettre en place un programme d'artiste en résidence, invitant des musiciens du monde entier à passer un trimestre avec nous à enseigner et à jouer. J'ai contribué à la refonte de nos programmes d'études supérieures axés sur la musicologie et j'ai introduit dans le programme d’étude une maîtrise et un doctorat en ethnomusicologie. Mais les deux réalisations dont je suis sans doute le plus fier sont premièrement les nombreux et merveilleux doctorants que j'ai encadrés, dont beaucoup ont eux-mêmes poursuivi une carrière dans le milieu universitaire, et deuxièmement le succès de mon initiative d’élargissement de notre représentation : nous sommes passés d'un seul poste de professeur à quatre titulaires à plein-temps en ethnomusicologie.
Quelle est ta place au sein du gharānā de Lucknow ?
J'ai beaucoup apprécié apprendre et jouer du tablā dans ma vie et je me considère extrêmement chanceux d'avoir eu un lien aussi étroit et productif avec l'un des joueurs de tablā les plus remarquables 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épertoire de compositions merveilleuses remontant aux premiers membres de la lignée Lucknow qui ont prospéré à la fin du XVIIIe et au début du XIXe siècle. Je suis particulièrement intéressé par la technique et j'ai passé beaucoup de temps à étudier les mécanismes du jeu. Cependant, je suis avant tout un érudit et, en pratique, je ne me fais aucune illusion d’être guère plus qu’un amateur. En effet, mon intérêt pour le jeu m'a fourni des aperçus extraordinaires 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 continue à faire partie de l'échange d'idées et de répertoire avec mes pairs aux côtés desquels j'ai étudié le tablā et qui font partie maintenant, comme moi, des grandes figures de la silsila, la lignée directe de l’enseignement d'Afaq Hussain. Ils me considèrent comme un professionnel avisé, une autorité dans mon domaine. Parfois, on me demande si je me souviens d'une composition rare sur laquelle il y a eu débat, et parfois j'introduis dans notre dialogue des informations et des questions issues de mes recherches qui suscitent un vif intérêt. Par exemple, le fils d'Afaq Hussain, Ilmas Hussain, et moi-même avons travaillé ensemble pour ressusciter les cahiers de son arrière-grand-père Abid Hussain et les placer dans leur contexte, non seulement celui de leur tradition mais aussi celui de la fin des années 1920 et du début des années 1930, années durant lesquelles Abid Hussain incarnait le tout premier professeur de tablā au Bhatkhande College de Lucknow. Enfin, je pense que mes travaux ont su attirer une plus grande attention sur la lignée de Lucknow. Quand je suis arrivé à la porte d'Afaq Hussain en janvier 1981, il était affaibli – psychologiquement et financièrement – et son avenir était incertain. D'autres étudiants étrangers ont suivi mon exemple et ont rejoint un nombre toujours croissant de disciples indiens venus pour apprendre. Mon livre, The Tabla of Lucknow, ainsi que d'autres facettes de mes recherches ont donc bien contribué à attirer l'attention nationale et internationale 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 édition avec nouvelle 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-1996Bansuri (A yearly journal devoted to the music and dance of India, published by Raga Mala Performing Arts of Canada). Volume 13, 1996 (60 pp), volume 12, 1995 (60 pp), volume 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 contributions of Pt. Sudhir V. Mainkar to our understanding 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 [version condensée de la publication 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 musical 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.
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 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éédition de la publication de JIMS, 1989)
1990 « Music and the Computer: Some Anthropological Considerations. » In B. Vecchione & B. Bel, dir. : Le Fait Musical — Sciences, Technologies, Pratiques, préfiguration des actes du colloque 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 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 grammaticale appliquée à l’apprentissage à partir d’exemples musicaux. » 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 rendus
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.
1999Marshall, 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, edited 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 rendu CD : « Bengal : chants des ‘fous’ », par Georges Luneau & Bhaskar Bhattacharyya, and « Inde du sud : musiques rituelles 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.
1992Neuman, 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.
1986Wade, Bonnie C. Khyal : Creativity within North India’s Classical Music Tradition. Cambridge Studies in Ethnomusicology. Cambridge : CUP. Journal of the Royal Asiatic Society : 144–46.
Enregistrements
1999 HonouringPandit Jasraj at Convocation Hall, University of Toronto. 2 CD set. Foundation for the Indian Performing Arts, FIPA002.
1995Pandit 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.
1995Ustad 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 (sarod) and Pandit Kumar Bose (tabla). CD, India Archive Recordings (IAM•CD 1008), New York.
1990 « In Memoriam : John Blacking (1928-1990). » Ethnomusicology 34, 2 : 263–6.
➡ A new version of Bol Processor compliant with various systems (MacOS, Windows, Linux…) is under development. We invite software designers to join the team and contribute to the development of the core application and its client applications. Please join the BP open discussion forum and/or the BP developers list to stay in touch with work progress and discussions of related theoretical issues.
On electronic instruments such as the Bol Processor, microtonality is the matter of "microtonal tuning", here meaning the construction of musical scales outside the conventional one(s) …
Symbolic-numerical approaches lead to efficient and elegant solutions of constraint satisfaction problems with respect to symbolic and physical durations, …
The complete set of preludes and fugues by J.S. Bach known as The Well-tempered Clavier, books II and II, interpreted with presumably "optimal" tuning schemes …
This paper deals with the scheduling of “sound-objects”, hereby meaning predefined sequences of elementary tasks in a sound processor, with each task mapped to a time-point …
Bol Processor grammars are characterisations of sequential events in terms of substring repetitions, homomorphisms, etc. Parsing techniques, stochastic production and recent developments of BP grammars are briefly described …
A linguistic model of tabla improvisation and evaluation derived from pattern languages and formal grammars has been implemented in the Bol Processor, a software system used in interactive fieldwork with expert musicians …
The following short examples illustrate the usage of specific controls of the inference mechanism in grammars of Bol Processor (BP2 and BP3).
_destru
This instruction is useful in pattern grammars containing repetition and pseudo-repetition markers. For instance, the following grammar creates a sequence of two occurrences of variable "X" which may further be derived as "abc" or "de".
S --> (= X)(: X) X --> abc X --> de
In the first rule, (= ) is called a master parenthesis and (: ) a slave parenthesis — containing a copy of the former. This master-slave dependency is maintained throughout subsequent derivations.
The only eligible final derivations would be "abcabc" or "dede". However, the final string would be displayed for instance "(= abc)(: abc)". To obtain a usable string in which 'a', 'b', 'c' may be further instantiated as sound-objects, it is necessary to remove structural markers. The Bol Processor does it automatically once the final string has been created, i.e. there are no more candidate rules for further derivations. However, the user may want to display strings without their markers. Instruction _destru is used to this effect.
Let us consider for instance "-gr.tryDESTRU":
-se.tryDESTRU -al.abc // This grammar produces various patterns on alphabet …
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 --> lambda [This is an erasing 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 --> lambda [This is an erasing rule]
The first rule in subgrammar #1 creates a self-embedding pattern in which the start symbol S is created again recursively. This recursivity might produce unlimited strings. To avoid this, each rule in subgrammar #1 is assigned initial weight "2" decreased by "1" once the rule has been fired. Therefore, no rule may be used more than 2 times. Subgrammar #2 contains a single rule deleting the left-over "S".
Subgrammar #3 destroys the structure by erasing all parentheses and master/slave markers, then it rewrites variables "X", "Y", "Z" as strings of terminal symbols. Tracing the production shows for instance that workstring
On electronic instruments such as the Bol Processor, microtonality is the matter of "microtonal tuning", here meaning the construction of musical scales outside the conventional one(s) …
Bol Processor grammars are characterisations of sequential events in terms of substring repetitions, homomorphisms, etc. Parsing techniques, stochastic production and recent developments of BP grammars are briefly described …
This paper deals with the scheduling of “sound-objects”, hereby meaning predefined sequences of elementary tasks in a sound processor, with each task mapped to a time-point …
Symbolic-numerical approaches lead to efficient and elegant solutions of constraint satisfaction problems with respect to symbolic and physical durations, …
BP3 is the multi-platform version of the Bol Processor that has been in development since 2020. It consists of two modules:
A console written in C language for cross-platform compilation, containing the core algorithms of the Bol Processor
An interface that allows non-technical users to edit or create specific material (grammars, sound-objects, Csound instruments) and interact with the console to produce Bol Processor scores, MIDI files, Csound scores and real-time MIDI output/input.
Currently, the interface has been built in the HTML5/JavaScript/PHP environment which makes it possible to work with the Bol Processor on any web browser. The setup works in different environments (MacOS X, Windows, Linux, etc.) but it requires the installation of a local Apache/PHP server.
A linguistic model of tabla improvisation and evaluation derived from pattern languages and formal grammars has been implemented in the Bol Processor, a software system used in interactive fieldwork with expert musicians …
On electronic instruments such as the Bol Processor, microtonality is the matter of "microtonal tuning", here meaning the construction of musical scales outside the conventional one(s) …