Distributed improvisation

Interactive controls make it possible for several BP2's and other MIDI devices to collaborate on the same MIDI 'network'. Communication is generally done on a reserved MIDI channel, here for instance channel 15. You must set the MIDI keyboard to channel 15 to be able to interact with project "-gr.koto3".

Consider for example:

IN Synchronize start ON-OFF F#4 channel 15 [toggle]
IN Start play C5 channel 15

The first instruction (a toggle command) assigns key F#4 to instruct BP2 to accept or ignore 'Start play' instructions. When BP2 starts improvising, its response to 'Start play' depends on the setting of radio button "Synchronize start" on the "Settings" dialog. (It might also have been changed by script instructions "Synchronize start ON" or "Synchronize start OFF".) It will be changed again by key F#4 channel 15.

The second instruction is the 'Start play' definition itself: BP2 should wait for a NoteOn of key C5 channel 15. If this instruction is missing, then instead of waiting for a NoteOn BP2 will wait for a 'Start' or 'Continue' MIDI message.

Note that this amounts to the same as inserting a performance control "_script(Wait for C5 channel 15)" or "_script(Wait for Start)" in the beginning of each item. However, once defined in the "Interaction" window, the 'Start play' instruction may be deactivated and reactivated by key F#4.

'Start play' is useful for synchronising the beginning of a musical item accurately. The 'start' message may be sent from a MIDI keyboard or from any other MIDI device, including another BP2. For instance it could be (it is!) the 'sync' sound-object terminating every production in grammar "-gr.koto3". With two computers connected to MIDI, you may run project "-gr.koto3" on both and see how they collaborate... Don't forget to set up "Interactive (use input)" on both machines. Then modify the grammars to give an 'individuality' to each one. It works? You've entered the world of distributed improvisation! Can you figure out a set-up with more computers, including humans messing around?

Sending a NoteOn on key C5 channel 15 otherwise prompts BP2 to play an item immediately. If BP2 is still busy computing the item, several flags will be set so that production is terminated as quickly as possible (by-passing all constraints). This is an equivalent of "it's up to you now" signals used by jazz musicians in a band.