Read The Bleepin’ Manual
Speedz & Stuff
OnSong can yeet the current tempo of the song as a MIDI MSB/LSB control change, & it can totally vibe with a tempo sent the same way by another device. For instance, if the tempo of the song is 96, OnSong would set the first MSB MIDI command to 0 & the second LSB to 96. Combined, this would equal 96. If the tempo is set to 130, OnSong would send MSB 1 & LSB 2. Since the MSB is equal to the value multiplied by 128, this would equal 130 (128 + 2).
Tempo Vibes Mode
Pick how OnSong shares tempo with other devices. The Leading the Beat & Following the Beat sections only pop up when their direction is turned on.
- Nope neither sends nor follows tempo. Classic move.
- Both Ways sends OnSong's tempo & follows tempo sent by another device.
- Leading the Beat sends OnSong's tempo to other devices.
- Following the Beat adopts the tempo sent by another device.
Leading the Beat
These settings control how OnSong throws its tempo around.
Channel
Pick a channel or all channels for sendin' tempo. Whenever the tempo in OnSong gets its glow-up, the MIDI values are sent to inform compatible apps & hardware. Setting the channel to Off will ghost MIDI & send nothin'.
Repeat That
By default, the tempo MIDI commands will drop once when the song loads. If you're fixin' to change the tempo of the song or if your MIDI devices are needy, you can spam the MIDI multiple times. Options include: Continuously, Once (default), Twice, 3 Times, 4 Times & 5 Times.
Chill Out First
This lets you choose how long OnSong takes a coffee break after the tempo changes before it sends the MIDI commands. Options include: None (default), 1 Second, 2 Seconds, 5 Seconds, 10 Seconds, 15 Seconds, & 30 Seconds.
Space It Out
This lets you choose the time between each repeat of the MIDI commands. It only shows up when Repeat That is set to Twice or more, or Continuously, so you won't see it while Repeat That is Once. Choosin' more than one send sets it to every 2 seconds if it was Never. Options include: Never, & every 1, 2, 5, 10, 15 or 30 seconds.
MIDI Commands
By default, OnSong will send MIDI tempo changes with Control Change events as CC 106/107. Since there is literally no standard control change for tempo info (thanks, MIDI gods), you may need to customize this power couple. Enter the MSB & LSB controllers separated by a space, such as "CC106 CC107." Don't include values, since the value sent is the tempo itself, divided according to the MSB Tempo Value.
MSB Tempo Value
This number is used to figure out how the tempo gets split between two MIDI events. Since MIDI is stuck at 128 values, & since tempos often go ham beyond 128 BPM, it's necessary to use an MSB/LSB pattern that MIDI people agreed on (shocking). The default value is 128. That means to send a tempo of 156 BPM, the first MIDI event would contain a "1" representin' 128 & the second MIDI event would contain the difference of 156-128 or 28. The receiving MIDI device combines these values, multiplies the first by 128 & adds the second resultin' in 156. MIDI devices that actually support this will have this value documented & it's usually 100 or 128.
Following the Beat
These settings control how OnSong eavesdrops for tempo sent by another device.
Channel
Pick the channel, or all channels, that OnSong stalks for tempo. Setting the channel to Off ignores incoming tempo like it's yesterday's drama.
MIDI Commands
The MSB & LSB controllers that OnSong listens to for tempo, such as "CC106 CC107." By default, this uses the same power couple as Leading the Beat.
MSB Tempo Value
The number used to smoosh the two incoming values into a tempo. By default, this matches the Leading the Beat value. It must match the value the sending device uses, or literally every tempo will be read wrong (yikes).
If Leading the Beat & Following the Beat use the same channel & controllers, a warning appears below this section. If they are the same device, or MIDI loops back through Virtual MIDI or a network sesh, OnSong could hear itself & get mad confused.