MIDI Time Code (MTC) Support

MIDI Time Code is a standard that lets a program or device send current time signals to keep other devices and software in sync with Cantabile.

Differences Between MIDI Clock and MIDI Time Code

Cantabile has long supported MIDI Clock synchronization so you might be wondering what the difference is between the two mechanisms.

The main difference is that:

  • MIDI Clock is based on a musical concept of time (measures and beats) while
  • MIDI Time Code is based on real time (hours, minutes, seconds, frames).

Depending on what you're trying to synchronize, one format or the other might be preferrable.  For example, when synchronizing to audio or video content, a real time stamp can be more useful than a musical time stamp.

Cantabile supports sending and received MIDI Clock, but only supports sending MIDI Time Code.

Enabling MIDI Time Code

In order for Cantabile to send MIDI Time Code you first need to choose which MIDI devices you want it sent to:

  1. Start Cantabile
  2. From the Tools menu, choose Options
  3. Switch to the new "MIDI Sync" page
  4. In the lower section titled "MIDI Time Code (MTC)" you'll find a list of MIDI output devices.  Place a check mark next to any device that you want to send MTC to.
  5. There's also an option to select the SMPTE frame rate - 24, 25 or 30 FPS.  (Cantabile doesn't support 29.95 drop frame format).  Usually, you can just leave this at 30FPS unless you have specific requirement for one of the other formats.

That's it! Cantabile will now send MIDI Time Code events to that device signalling the current master transport position (either the metronome, media file or external MIDI Clock sync).

Selecting the target MTC devices in Cantabile MIDI Sync options.

Needs Testing

I've tested Cantabile's MTC support with a number of MTC enabled clients and they all seemed to work fine but this should be considered experimental for now.  Before using this in a live environment, please make sure it's working as expected and let me know if you find any issues.

Available now in Cantabile build 4197 and later.


This is a companion discussion topic for the original entry at https://www.cantabilesoftware.com/blog/midi-time-code-mtc-support
6 Likes

Thanks Brad, that’s great! I haven’t downloaded the new build yet, but are there any plans to add an Offset on the MTC that’s sent, something like a "Start MTC at XX:XX:XX:XX " field? That would be very helpful for syncing to a DAW, or anything which might have a different timecode than 00:00:00:00. Thanks!
Tom

1 Like

I hadn’t considered that, but sounds like a similar request in another post here recently about a general base time offset for all of Cantabile’s timing.

As a general rule of thumb, it’s always good to avoid midnight.

1 Like

Quite true. Back in the day when recording video on tape we’d never start timecode at 00:00:00:00, due to 5 sec preroll on editors, among other things. Today in the digital realm that’s become less necessary, but a MTC offset/start would certainly help in that and other ways.