Inline MIDI commands

Found under: Settings > Song actions > Edit (Lyrics extra settings menu)

Inline song section MIDI messages

In addition to whole song MIDI messages sent on song start, you can also add inline MIDI messages directly to song sections in the song editor window.  These messages can be triggered at a time of your choosing by clicking/selecting the song section containing them in Performance/Stage modes.  Any messages saved in a section are all triggered in order after clicking the section.  To have them trigger separately, they would have to be created as part of a new section.

You can adjust the delay between each message using the slider in the MIDI settings page

The syntax used for these inline MIDI messages can be the same as the song messages (e.g. 0x9B 0x20 0x64), or using shorthand syntax instead which is easier to understand.  Because the inline MIDI messages are not for display, they are entered as comment lines starting with a semicolon ; in the text edit window.

You can either enter this shorthand code manually, or use the link in the advanced options at the bottom of the lyrics page to help you build correct code.  You can find out more about the MIDI shorthand code here

The standard shorthand options (which will work for all MIDI devices) available are as follows:

;MIDI{1-16}:{CC,PC,NO,NX,MSB,LSB,BB..}{0-127}:{0-127}


CC = Control change

PC = Program change

NO = note on

NX = note off

MSB = Most significant bit

LSB = Least significant bit

BB... = BeatBuddy specific commands (more detail below)

START = Sysex start (no MIDI channel required)

STOP = Sysex stop (no MIDI channel required)

While this looks quite complicated, it makes more sense to break it down and show some examples.  Note that the values {0-127} are based on computer numbering that starts at 0 rather than 1.  So the first value is 0.  I've chosen to keep MIDI channels as human numbering starting at 1 and ending at 16!

The inline MIDI code must start with ;MIDI, then the channel number, then a colon :.  Multiple messages can be added by adding them as new lines.

If you wanted to make sure any connected MIDI devices that play audio have stopped, use the following command:

;MIDI:STOP

Suppose you want to send a program change on MIDI channel 5 to select the first instrument available (number 0).

;MIDI5:PC0

Next you want to send a MIDI note for middle C (numeric value of 60) on MIDI channel 1 to play at a volume/velocity of 100.

;MIDI1:NO60:100

Next you want to send a MIDI controller message to a BeatBuddy pedal to trigger the device to start playing.  The user manual for this suggests  a control change value of 114 and using a value greater than 0 (so we'll use 1).  The BeatBuddy defaults to listen to any MIDI channel, but let's send this on MIDI channel 8:

;MIDI8:CC114:1

Most MIDI devices will help you decide which MIDI message type is required for each type of action if you check your device manual.  PC messages are usually used to pick instruments, patches, songs, etc.  CC messages are usually used to change settings or trigger specific actions.  MSB/LSB values are not used as often, but when they are, they are often used as a pair of messages.  MIDI shorthand cannot be used for SYSEX MIDI commands, but standard 0xF0 ......... 0xF7 commands  can be used.

As an example in your song, imagine you wanted to change the instrument using a program change on a connected MIDI keyboard when you click on a verse and then on a chorus in a song.  We'll use MIDI channel 2 in this example:

[V1]

;MIDI2:PC0

.G       D               Em

 This is line one of the verse...


[C]

;MIDI2:PC1

.G       C           G   D

 This is line one of the chorus...

Specific BeatBuddy shorthand MIDI commands

To save some of the pain of trying to work out the specific CC MIDI messages from the BeatBuddy manual, I've included some recognised shortcuts - they can be easily spotted because they all start with BB:

Transitions

BBT{1-32} = Transition to a chosen part number

BBTX = Exit the transition fill and move to the part (should be called immediately after the above)

BBTN = Transition to the next part (also call BBTX afterwards)

BBTP = Transition to the previous part (also call BBTX afterwards)

BBTE{1-32} = Exclusive transition to a chosen part number (exclusive means that it wont affect connected Aeros Loop pedals)

BBTEX = Exit the exclusive transition fill and move to the part (should be called immediately after the above).

BBTEN =  Exclusive transition to the next part

BBTEP = Exclusive transition to the previous part

Timing changes

BBH = Switch to half time playback

BBHX = Exit half time playback (and return to normal time)

BBD = Switch to double time playback

BBDX = Exit double time playback (and return to normal time)

BBBPM{40-300} = Tempo change

Song changes and output

BBV{0-100} = Change the output volume

BBS{1-127}/{1-127} = Load a folder/song.  Both folder number and song are required.  While the folder number can go way higher than 127, this would not work if your device is set to Aeros mode

BBI = Play the intro (start the song)

BBO = Play the outro (end the song)

BBP = Pause/unpause the playback (each time this is used, it toggles the setting)

BBF = Play a fill

BBA = Play an accent note

For example, if you want the BeatBuddy to transition to part 2 when you click on the chorus section, you would use the following code inside the chorus tag in the song (assuming we are using MIDI channel 1):

[C]

;MIDI1:BBT2

;MIDI1:BBTX

.G       C           G   D

 This is line one of the chorus...