Midi sync issues

Hi,

I’m trying to sync an Oxi One sequencer with Ardour (8.12.0) using midi clock and it’s giving me some headaches. I’d be grateful for any help.

What I’m trying to do is loop a section of audio in Ardour and play along with it using the Oxi One sequencer controlling a midi instrument plugin. It seems this would work best with Ardour acting as the master. I’ve enabled midi clock generator and connected the clock in the Midi Configuration manager.

The main issue I’m having is that the two only sync up as expected when the playhead starts from the very beginning (00:00:00 position) in Ardour. If I start with the playhead at the beginning of another bar (such as my loop point), the Oxi One doesn’t come in on time. It seems to start exactly 1 beat late, unless the playhead is moved to a position off-grid, in which case it does come in on time.

I have been through loads of forum threads and manual pages and found nothing that explains this behaviour, so apologies if I’ve missed something obvious.

I have tested this running Ardour under both Jack and Alsa and had exactly the same problem. I’ve also tried using the Oxi One as master, which does work but has other issues (such as limited transport control and taking a second or 2 to hit the correct bpm, which I believe is to be expected?) I have no issues syncing it with other hardware devices.

FWIW the Oxi One manual says this about midi sync:

"OXI One reads and outputs MIDI clock according to a 24 ppq timing. The analog clock input and output resolutions can be changed in the Config menu.

When OXI One is synchronized with a DAW in which either of them act as a master clock, remember to adjust the MIDI clock sync delay in your DAW settings to correct the latency generated by the DAW. The bigger the audio buffer, the greater the latency is and it also increases with the project CPU load."

Given it does start on time at certain points in the timeline I assume latency is not the issue here and there’s something else going on? Have I missed something in the configuration?

Does nobody have any ideas about what might be causing this? I’m using the latest download of Ardour from this site on arch linux (via EndeavourOS) by the way.

I have just tested midi sync with Qtractor and everything does work as expected there (although I find it an unintuitive piece of software and would rather use Ardour), so I don’t think it’s a bug with the Oxi One.

Is there some known reason why midi clock wouldn’t start an external device until the second beat of a bar?

In short; Ardour 7 and Ardour 8’s MIDI Clock generator is broken in interesting ways.

Older versions of Ardour were not affected. The bug was introduced with Ardour 7.0 introducing a new tempo map and time-domains and nobody noticed it since.