33
BeatBuddy Manual
MIDI and the BeatBuddy
Steps to Increment Tempo
III.
Tempo Control
•
Since the BeatBuddy’s tempo ranges from 40BPM - 300BPM, we can’t use just
one CC command to cover the whole range because a CC command can only
have 128 values.
•
There are two ways of changing the tempo.
o
With INC/DEC (increase/decrease) messages which adjust the tempo up or
down by 1 BPM
o
By skipping directly to a specific tempo BPM using the MSB/LSB system,
like in the Song Selection system.
However, it’s a bit more complicated because, unlike the Song
Selection system
where you have dedicated CC commands to
represent the MSB (CC:0) and LSB
(CC:32), there are no dedicated
CC commands for Tempo.
So we use the “NRPN Register” (Non-Registered Parameter Number) which is a
general purpose MSB (CC:99) and LSB (CC:98). All that means is that you can control
multiple parameters on the BeatBuddy using an MSB sequence, which is usually a
series of 3 commands: 2 CC commands and one PC.
This can be used to control tempo, any other parameter, or multiple parameters at
once. Currently we’re only using it to control tempo, but we follow the MIDI
Standard protocol to leave room for further control in the future. Because of this
capability for multiple parameter control, the steps below are followed.
1.
INC/DEC
(see
https://www.midi.org/specifications)
Here are the common steps to do to control the BeatBuddy’s
tempo
:
It follows the
Data INC/DEC specification of the MIDI protocol:
Steps Message
1*
CC:99/106
2*
CC:98/107
3
CC:96/1
4*
CC:99/127
5*
CC:98/127
Details
Set the NRPN register to Tempo MSB Set
the NRPN LSB register to Tempo LSB
Increment the tempo by one
Clears the NRPN MSB register
Clears the NRPN LSB register
Steps with a * are optional if the only value control by Inc/Dec is the Tempo. By
default, the Beatbuddy will increment / decrement the tempo when receiving a INC/
DEC message.