Sync with MIDI controller

Hi, I got a new midi controller keyboard (Akai MPK261), and have it set up pretty much like I want it. I can record and control just how I planned. There’s just one thing I can’t figure out. I can’t sync Ardour with the Akai to perhaps use its hardware transport controls or arpeggiator for example.

I’ve set the Akai to external sync and to MMC sync type. What do I have to do in Ardour and Jack/a2j to slave the Akai to Ardour?

Thank you very much!

I’m on Ardour 6.8 by the way

First, some terminology clarifications, because “sync” is not well defined.

  1. there’s “shared transport control”. This is handled on MIDI devices using either MMC (MIDI Machine Control) or MIDI Song Position Pointer messages. MMC is a more complete version of this, using SPP requires lots of assumptions about things that may or may not be true in a given setup.

  2. shared transport control does not provide positional synchronization in and of itself. Even though MMC includes a “locate” message, once things start moving, MMC by itself cannot keep both ends in sync with each other, not can SPP.

  3. positional synchronization is handled with MIDI using either MIDI Timecode or MIDI Clock. The former is modelled on video timecode, and specifies time using video units (HH:MM:SS:frames(:subframes). It is not normally what you want to use unless you’re syncing to video devices. MIDI Clock uses musical time as a reference, and sends 24 “tick” messages per quarter note. Some devices will use the presence or absence of MIDI clock messages as a trigger to start rolling or to stop rolling. MIDI Clock never provides actual position in the way that MTC does - it’s really just a speed reference. MIDI SPP messages provide that (for devices that send such messages). MIDI Clock also does not provide tempo and meter information; both ends have to agree on the current tempo & meter via some other mechanism in order to interpret the MIDI clock “pulse” in the same way.

  4. to really answer your question we need to know what role you want Ardour and the MPK to play in controlling things.

1 Like

Thank you very much for your detailed response and sorry for my rather un-technical approach.

The roles I want Ardour and the MPK to play are (in that order)

  • Ardour should send information of tempo/BPM and time/bar to the MPK in such a way that the MPK’s “tap tempo” LED would be automatically in sync with my session in Ardour, so that the MPK’s arpeggiator would be usable and “in sync”, for lack of a better word

  • another nice-to-have would be that the hardware transport buttons on the MPK (play, rec, stop) trigger Ardour to play, rec, stop accordingly

I hope this helps.

Thank you very much again.