Solved: Midi Clock to CC

I found this and it is working great for taking a Midi Clock and translating it to a CC that can “tap” the Tap Tempo button in a DAW.

Thank you!


Welcome to the community! I’m happy you found it!

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

I’m hoping maybe someone might have some insight.

This is working great. Except the timing is off.


Midi Clock is being generated at 94.6 BPM. If I set the DAW to sync to Midi Clock, or Timing Clock as Bome Midi Translator calls it, the DAW sees 94.6 (or actually it floats slightly between 94.59 to 94.62 but that is ok).

Now utilizing this awesome script, in all three DAWs that I’ve tried it in, the DAW reads the Tap Tempo at around 90.83 to 90.92, significantly slower.

There’s nothing wrong with the script: It does not care how fast it is counting, only that it is counting to 24. And I certainly expected the up and down nature of the tempo. But that it is consistently over 3 BPM slower (in this instance) is a bit perplexing.

Any insight would be awesome but totally understand if no one has any, thank you!

I didn’t write the script but did you try chaning

if g0>24 then goto "Trigger"

To be:

if g0>=24 then goto "Trigger"

I’m not sure how accurate we can make this with only ms precision.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Oh my, of course. 94.6/25*24=90.82. So yeah, it is counting to 25, not 24.

It’s working. For this new example, the DAW sees Midi Clock as 68.68 but when it is receiving this modified script, it is vacillating between 68.67 and 68.68. That will be accurate enough to test for awhile. Thank you for that insight!

Now that this is working, I have another question. There are some buffer effects that do not like this constant tap tempo but seem to be ok with it every whole bar, or 4 bars etc. Any insight into how this script might be modified to still send a CC for every 24 beats but only do so at every bar, or two bars or four bars. So count at beats 24, 48, 72, 96 but then take a break for 96 beats and resume (or 192 or 384 or 768 etc) and then take a break again? I tried a couple things but Bome is new to me and may not be understanding some things. Thanks again!

Hi, take a look at the mods I did here. I also added some log message (MT Pro 1.9.0 or later)
I set it to only send on every 4th iteration. by using the mod operator ga=ga%4

if g0<24 then Goto "Ignore"
if g0>=24 then Goto "Trigger"

Label "Ignore"
exit rules, skip Outgoing Action

Label "Trigger"
// How Many iterations added 5 lines here
Log "Log Iteration  count = %ga%"
if ga!=1 then exit rules, skip Outgoing Action
Log "Log Sending"
exit rules, execute Outgoing Action

Steve Caldwell
Bome Customer Care

Also available for paid consulting services: