Issue with external MIDI sync

Hi,

I have just recently bought a BeatBuddy, planning to synchronize it with the central MIDI clock I am already using to sync all my other gear. While my other gear syncs perfectly (as they always had), the BB seems to have some issues with syncing correctly with the clock source I use (a Molten Voltage Master Control).

What I am experiencing is this: When starting the external MIDI clock it sends a MIDI Start command and starts feeding the clock signals. Pretty standard. The BB does indeed react to the MIDI Start and starts playing as expected, but if the BB is not beforehand set to the tempo that is being sent by the MIDI clock, it does not seem to compensate for the excessive or missing clock signals received when it has managed to identify the tempo. This results in the beat being in correct tempo, but not actually in time.

As a concrete example which I believe demonstrate the algorithm used by the BB:

  • set the tempo on the BB to 150bpm
  • prepare the external MIDI clock to use tempo 100bpm
  • start the external MIDI clock
    What seems to happen is that the MIDI clock and BB starts simultaneously. The BB is of course, as expected, going too fast until it has detected the tempo. Since the MIDI clock is initially going 2/3 of the speed of the BB, it will finish transmitting the first 24 ticks halfway into the second beat of the BB, which at this point is able to adjust its own tempo to 100bpm. But the BB does not compensate for the beat which is now exactly half-off where it should be. The tempo is correct, but the BB’s beats happens exactly halfway in between the beats of the other gear which syncs correctly. I speculate here of course since I cannot know exactly how the implementation of the BB works, but this simple test seems to demonstrate such an algorithm, at least on a conceptual high level.

[SIZE=1]----------------->[/SIZE][SIZE=6] [/SIZE][FONT=Courier New][SIZE=3]Start[/SIZE]
MIDIClock |-----------|-----------|-----------|-----------|
BeatBuddy |-------|–(X)----|-----------|-----------|-----------|[/FONT]

FONT=Courier New = [/FONT]This is were the BeatBuddy has detected the tempo from the MIDI Clock (after receiving 24 clock ticks), and adjusts its tempo from 150 to 100bpm. It should in addition to that treat the [FONT=Courier New]X[/FONT] position as a new beat, and compensate its currently playing pattern to align it to the new beat placements. For the metronome presets this can be easily solved by simply either “injecting” a new click at the 25th clock tick, or internally register the new beat position and play the next click at the next, now corrected, beat position. For actual drum patterns this is a little more involved, and should probably involve a more gradual tempo-change to align the beats into correct positions.

I have tried both the firmware which was preinstalled (1.2.9), and the newest officially released (1.4.1), and I experience exactly the same behaviour.

Each synced device in my setup, incl. the BB, has it’s own dedicated MIDI cable from a MIDI splitter, so the problem is not because of excessive daisy-chaining using MIDI thru (I don’t use MIDI thru at all). While the Molten pedal is a very good and stable MIDI clock source, to eliminate the possibility of any problems in my setup, I have tried to reproduce the problem using only BB connected to my Mac, using Logic Pro as MIDI clock source, and I experience exactly the same behaviour.

I hope I was able to explain the problem properly, and I would love for this to be fixed. Please ask if something is unclear. I have a somewhat technical understanding of MIDI, so I will be happy to assist with any testing if that can be helpful!

This may help (or it may not) http://mybeatbuddy.com/forum/index.php?threads/looking-for-documentation-for-the-midi-implementation.5403/

Thank you, E!
I glanced at the MIDISettings documentation for FW1.77, and as far as I can tell, FW1.4.1 and even FW1.2.9 already implements the MIDI-IN settings described for “Sync”, “Start”, and “Stop”, though the manual obviously does not mention if the BB will manage to adjust to align its beats correctly after detecting the tempo, because, well, that is pretty much expected from such a device. I can only hope that a new MIDI-settings page in the BB-settings indicates that the internal MIDI implementation has seen some improvements. Is it possible to try this FW1.77 version? I see it was mentioned already in 2014 in the thread you refer to.

An externally synced device, as the BB, should after the fact it has detected the tempo, adjust itself in order to align it’s own pattern cycle with the actual time the MIDI Start signal was received. It should keep the duration from when the Start signal was received, and using that together with the synced tempo to calculate where the actual beats are. This is required by all such devices which generates any kind of pattern which should be in sync. In fact, most, if not all syncable MIDI-devices I have experience with are seemingly able to practically sync instantaneously after receiving MIDI Start. This is probably due to the fact that an approximation of the tempo can already be made when having received the second clock tick, and this calculation is iterated and improved as more data (i.e. clock ticks) are available. MIDI synchronization is complicated :wink:

Hey Rune,
I don’t use the same setup as you, however I often connect my iPad to my beat buddy with a MIDI cable and use apps like Loopy HD. I set Loopy HD to be the clock source and it syncs instantly with the beat buddy no matter what tempo the beat buddy is initially in. There’s no ‘catch up’ or being in sync but out of time.
Maybe try recreate the issue with a different clock source and see if you can narrow down the cause.

ruairiau, that sounds promising :slight_smile: Can I ask which firmware version you are using? And if you don’t mind the trouble, include all the settings your BB have?

And I can reproduce the exact same problem with another clock source, as I have tried connecting the BB to my Mac, and using Logic Pro as MIDI clock. Mentioned in my initial post. Long post, I know :wink:

My BeatBuddy does not seem to sync instantaneously, as the two arrows indicating “in sync” does not appear until the second beat, i.e. when the clock has sent 24 ticks. I assume it starts consuming the ticks instantaneously, but does not consider itself to be “in sync” before it has consumed 24 ticks (one beat as per MIDI clock standard), and thus does not set its own tempo until it has established its “in sync” state.

Sorry, I was at work, pretending to work and skimmed through your post.

Ok, I’ve just hooked up my ipad with Loopy to my Audiobox iTwo and that’s connected to the beat buddy. Loopy is set as the clock source and I have the tempo at 299 in Loopy and 40 on my beat buddy. I have the metronome enabled on loopy, so when I press play I can hear it and the drums playing on my beat buddy (so as to hear it being out of sync). I have a 4/4 hi hat beat on my beat buddy, so what I should hear is the hi hat and the metronome play in time on the same beat.

When I press play on Loopy HD, the beat buddy starts instantly and locks to the tempo (jumping from 40 to 299 instantly) and the hi hat is hit perfectly in time with the metronome. There’s no delay or offset of any kind.

I’m using the beta 1.77 firmware and I’ve pressed the ‘restore midi settings’ option, so everything should be at their defaults.

ruairiau, thanks for helping with troubleshooting! This seems very promising! :slight_smile:

I have just got the 1.77 beta firmware from BeatBuddy support, and now I am very eager to install it, as what you describe seems to be exactly what I need. I will report here after I have tried the new firmware!

Aaaaaand it works with the 1.77 beta firmware! The BeatBuddy immediately syncs, and the beats are dead-on. Just as you described, ruairiau. :smiley:

Hi Guys,
Can you use the USB midi to synch the BBuddy with PC
I have the midi cable accessory, but cant get it to work (Reaper/ Focusrite Scarlet 6i6

Thanks for any help,
Sure is frustrating