Bindings setup

Groovyband Live! allows you to select some commands also through interaction with physical controls such as knobs, sliders, buttons, (foot) switches, keys, provided by connected keyboards or midi control surfaces.

Two different types of midi messages are recognized: control change and note on/off. The first type of messages is useful to control both continuous and on/off parameters. Note messages can be used to control only on/off parameters. Additionally, for on/off parameters, you can also use the velocity of keys on the left of the split point (= how hard you play chords), to trigger commands. See box below.

Not all midi keyboards are equally suited for this task. For example Yamaha arrangers do NOT output midi data for most of their buttons, knobs, foot switches/controllers and sliders. Due to this poor midi implementation they can generally only be used for note on/off messages.

The setup of bindings (connection between a physical control and a parameter/command in the software) is performed in the Bindings panel.

Bindings Panel

  1. Press the “Bindings” button to toggle the visibility (show/hide) of the bindings panel.
  2. There are 4 independent sets of bindings available. Only one set is active at a given time, and it is selected through the Slots buttons at the top (highlighted). At startup slot 1 is active by default (unless you have edited the Startup registration to load another slot).
  3. An unsaved slot is red-colored. The edited content will be lost when you exit the program. To save to disk its content you have to select it (= highlighted) and then right click the button slot. It turns yellow. If you left-click a red colored slot button you just reload its content from disk, thus mercilessly losing your edited content. You can copy the content of the active (= highlighted) slot simply by right-clicking another slot button. The destination slot button will turn red, because its content is now changed, although not yet saved to disk. To make the edit permanent, select it and save to disk (right click).
  4. To add a new binding click the Add Binding button, which adds an empty entry in the bindings table.
  5. Type the desired command in the action field. A full list of available commands can be found at the end of this post.
  6. If the typed in command is recognized as valid, the Learn button becomes available for selection. (Right) click it to “learn” the physical control you want to bind to the typed in command through the incoming midi messages. All connected midi devices are listened to, and the first valid message is selected. In practice you have to touch (= move, press) the control you want to bind. To learn the velocity (= how hard you play) of the chord keys as a trigger event, see box below.
  7. The recognized message (and the port from which it must come) is displayed. To change the bound midi message, press the Learn button again and touch a different physical control.
  8. The Del button will delete the given binding from the table.
  9. Clicking in any part of a binding entry will select it (blue border). The list can be reordered through the Up/Down buttons which act on the selected entry.
Using Chord key velocity to trigger commands

To select the chord key velocity as a trigger event for any command, you have to right click the Learn button and then press a note key on any connected keyboard. C=10, C#=20, D=30, … B=120. The number represents the velocity threshold you have to surpass (= play harder) in order to trigger the associated command.

Some experimentation might be necessary to find the right threshold for your playing style and keyboard sensitivity: just right-click again the learn button, key-in a new threshold, test it, and possibly iterate the process.

To trigger this mechanism you don’t have to play a full chord. Even a single key press (which never changes any playing chord) is enough.

You could also set multiple thresholds for different commands, although it will be harder to discriminate between them while playing. In the image above FILL INLINE will be triggered for velocities 60÷99 and FILL CUR for velocities >= 100.

A popular choice is to assign the FILL INLINE and/or FILL CUR (the lower threshold with “fill inline”, the higher with “fill cur”) commands to this trigger event.

Binding data precedence

All incoming midi data is first checked against the list of registered bindings. if a note-on message or control-change message matches a binding, then the binding action is executed and the midi message is consumed (= discarded).

So, when binding messages for devices connected to “In 1” and “In 2” ports (the ports used for the primary and secondary keyboards), be sure not to rob messages you want to affect your playing. For example, if CC64 is bound to something, then you lose the ability to play the sustain pedal, if CC01 is bound, then your mod wheel will not function anymore as normal.

There is nothing wrong to steal notes/controllers from normal playing duties: just be aware of what you are doing.

List of commands

SEQ SS – Sequencer Start/Stop

SSTART – Syncro Start on/off

SSTOP – Syncro Stop on/off

HOLD CHORD – Hold Chord on/off (if on accompaniment plays even with raised left hand)

BASS INV – Bass Inversion on/off

HOLD LEFT – Hold Left Voice(s) on/off

TOGGLE LEAD – Toggle Lead Voices

OCT UP – Transpose Octave Up for Lead and Aux Voices

OCT DOWN – Transpose Octave Down for Lead and Aux Voices

FADE – Fade on/off

TEMPO HOLD – Tempo Hold on/off

TEMPO LOCK – Tempo Lock on/off

INC TEMPO – Increment tempo bpm

DEC TEMPO – Decrement tempo bpm

TRANSP UP – Transpose one semitone up

TRANSP DOWN – Transpose one semitone down

ACMP LEAD BAL – Balance volume between acmp and lead voices

LEAD PEDWAH – Controller for pedal wah in lead parts

AUX PEDWAH – Controller for pedal wah in aux parts

VAR PEDWAH – Controller for pedal wah in var system bus

LEAD ROTSW – Controller for rotary slow/fast switch in lead parts

AUX ROTSW – Controller for rotary slow/fast switch in aux parts

VAR ROTSW – Controller for rotary slow/fast switch in var system bus

MAIN[1÷8] – Select Main Section (i.e: MAIN3)

FILL[1÷8] – Select Fill

FILL CUR – Select Fill into current Main section

FILL INLINE – same as FILL CUR, but the looping pattern is not reset

FILL PREV – Select Fill into previous Main section

FILL NEXT – Select Fill into next Main section

BREAK[1÷2] – Select Break

INTRO[1÷3] – Select Intro

ENDING[1÷3] – Select Ending

OTS[1÷8] – Select OTS

OTS LINK – Ots Link on/off (if on, when switching Main Section the linked Ots is selected as well)

OTS LINK MODE – toggles between Ots Link Modes (immediate or delayed to measure start)

APG[1÷8] – Select APG

BEAT RESET – Activate the beat reset

STYLE NEXT – Load next style in the last opened style folder

STYLE PREV – Load previous file in the last opened style folder

REG NEXT – Load next registration in the last opened registration folder

REG PREV – Load next registration in the last opened registration folder

In the following commands [part] can be: DR | PC | BS | CH1 | CH2 | PAD | PH1 | PH2 | A1 | A2 | A3 | A4 | L1 | R1 | R2 | R3.

VOL [part] – Volume (i.e.: VOL DR)

BAL [part] – Balance

PAN [part] – Pan

SND2REV [part] – Send to Reverb system effect

SND2CHO [part] – Send to Chorus system effect

SND2VAR [part] – Send to Variation system effect

DRY [part] – Dry level

SWITCH [part] – Switch on/off the part in the APG

ENABLE [part] – Enable on/off

MUTE DSP [part] – Mute insert dsp on/off

MUTE STRIP [part] – Mute strip on/off

SOLO STRIP [part] – Solo strip on/off