Can Bome measure time between MIDI messages?

I've built myself a custom e-drum kit and Bome plays an important part in how I use it with software. I have two modules, which means I have two HiHat controller inputs. Since you only need one hihat on a kit I was wondering what I could do with this spare input, then I came up with the idea of a shaker pedal.

The goal is to depress and release the hihat pedal so that it feels like a shaker; similar to when on acoustic kits, drummers mount a tambourine above the hihat cymbal. As a starting point I pick a median-ish number on the CC, say 62 which triggers a ''shake'' sample, then maybe use 127 to trigger a ''tap'' sample (using a Bome translator of course).

But I wanted to take this idea further and see if I can make the shaker more dynamic, for me when I use a real tambourine, the faster the shake the louder it is (probably not the case but thats the ''feel'' I get anyway).

So, could I use Bome to measure how fast I am moving the pedal and translate that to velocity? I know that Bome can delay a translation by a set number of milliseconds, so does this mean the software can measure time between CC values? I'm no programmer but the rule I'm picturing in my head would be something like note velocity = time between CCX x CCX.

Hmm, I’m thinking you could start timer at 1 ms intervals and increment a global variable each iteration of the timer. The incoming trigger would:

  1. Calculate a snapshot of the last timer you triggered the timer based on the last iteration value and the new value captured. With that it would set the velocity in a different global variable.
  2. Reset the global variable for the next iteration.
  3. Another translator with the same trigger would then use the calculation to trigger the note at the calculated velocity.

In general, MT Pro has about 1 ms minimum accuracy which should be ample enough for your needs.

Is this the type of thing you had in mind?


Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist


Something like this?


Press Middle C (Note 60) at different intervals to see outgoing velocity change. Pressing faster=higher velocity. Pressing slower=lower velocity. I set minimum velocity to 25 (19H).

See rules in the translator “Incoming Note- Output”.

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist