Read The Bleepin’ Manual
The BPM Shenanigans
OnSong can yeet the current tempo 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).
The Great Tempo Sync-a-Rooney
Pick how OnSong shares its sick beats with other devices. The Lead & Follow sections only show up when you actually turn on their stuff.
- Off neither sends nor follows tempo. You\u{2019}re on your own, bestie. Default.
- Both sends OnSong\u{2019}s tempo AND follows tempo sent by another device. Clingy much?
- Lead sends OnSong\u{2019}s tempo to other devices. We\u{2019}re the boss.
- Follow adopts the tempo sent by another device. You let someone else call the shots.
The Lead (aka \u201CWe\u{2019}re In Charge\u201D)
These settings are how OnSong bosses around other devices with its tempo.
The Channel Selector Thingy
Pick a channel or ALL channels for sendin\u{2019} tempo. Whenever you mess with the tempo in OnSong, the MIDI values go out to tell compatible apps & hardware what\u{2019}s up. Setting the channel to Off is like ghosting your MIDI — nothin\u{2019} gets sent.
Repeat Like It\u{2019}s a TikTok
By default, the tempo MIDI commands get sent ONE time when you load the song. But if you\u{2019}re a tempo flipper or your MIDI stuff is needy, you can spam it multiple times. Options: Continuously, Once (default), Twice, 3 Times, 4 Times & 5 Times.
Delay (aka \u201CChill Out First\u201D)
This lets you tell OnSong how long to awkwardly pause after the tempo changes before it sends the MIDI commands. Options: None (default), 1 Second, 2 Seconds, 5 Seconds, 10 Seconds, 15 Seconds, & 30 Seconds.
Interval (aka \u201CHow Often to Bug Everyone\u201D)
This picks the time between each repeat of the MIDI commands. Shows up when Repeat is literally anything other than Once. Options: Never, & every 1, 2, 5, 10, 15 or 30 seconds.
MIDI Commands (aka \u201CThe Secret Sauce\u201D)
By default, OnSong will send MIDI tempo changes with Control Change events as CC 106/107. Since there\u{2019}s no actual standard for how to send tempo info (cool, right? 🙄), you might need to customize this pair. Enter the MSB & LSB controllers separated by a space, like \u201cCC106 CC107.\u201D Don\u{2019}t throw in values, since the value sent IS the tempo itself, divided according to the MSB Tempo Value.
MSB Tempo Value (aka \u201cMath Stuff\u201D)
This number tells OnSong how to split the tempo between two MIDI events. Since MIDI is stuck at 128 values max & tempos are often BONKERS high, you gotta use an MSB/LSB pattern that\u{2019}s like, super common in MIDI. The default is 128. So to send a tempo of 156 BPM, the first MIDI event would contain a \u201c1\u201d (meaning 128) & the second would contain the difference of 156-128 or 28. The receiving MIDI device adds \u{2019}em up, multiplies the first by 128 & adds the second, resultin\u{2019} in 156. MIDI devices that are actually cool about this have it documented somewhere & it\u{2019}s usually 100 or 128.
The Follow (aka \u201cWe\u{2019}re Listening\u201D)
These settings are how OnSong eavesdrops on tempo from another device.
The Channel Selector Thingy (Part 2)
Pick the channel, or literally all channels, that OnSong listens on for tempo. Setting the channel to Off means OnSong is ignorin\u{2019} the vibes.
MIDI Commands (aka \u201cWhat We\u{2019}re Listenin\u{2019} For\u201D)
The MSB & LSB controllers OnSong listens to for tempo, like \u201cCC106 CC107.\u201D By default, this uses the same pair as Lead.
MSB Tempo Value (aka \u201cMore Math Stuff\u201D)
The number used to smoosh the two incoming values into a tempo. By default, this matches the Lead value. It GOTTA match what the sendin\u{2019} device uses, or literally every tempo will be read backwards & your life will be chaos.
If Lead & Follow use the same channel & controllers, a lil\u{2019} warning pops up below this section. If they\u{2019}re the same device, or MIDI loops back through Virtual MIDI or a network session, OnSong could hear its own tempo & get real confused about who\u{2019}s in charge.