Transport MTC Synchronization

bd's icon

Trying to synchronize Max timing to external application. The [Transport] object seems the right one. However I get no input data when clock source is MTC or external. The reference of the Transport object is not very helpful, neither the help file. Help file from the Link Package looks better, at least queries for possible clock sources. When using Ableton Link, the sync works. MTC does not. Ableton Link is useless though, since it gives no position information. I tested my MTC sync signal with other applications it works fine. Would one have any hints for me? Thanks :)

link.clocksource-example.maxpat
Max Patch
Trying to sync to MTC fails.

Source Audio's icon

ableton live in not MTC sync capable.
It's transport is even not capable of outputing real time progress on tempo or time signature changes as pro DAWs do.

you have to use midi beat clock.

bd's icon

Thanks! I do not want to use Ableton Live though ;) I use Bitwig, Reaper and Logic. And I can see in midi monitor or in the other applications that e.g. Bitwig sends correct MTC and sync works fine with Reaper or VidPlayMTC. The problem is the MTC just somehow does not show up in the [transport] object in Max. Of course I set clock source to MTC, no errors in the log . Also, the [midiin] object shows some data coming in, but I am not really hot to make my own [transport] object since one exists already and should actually work fine :D
OT: Quite sad that Rewire has been killed :(

broc's icon

Unfortunately Max doesn't support MTC synchronization.
So you'd need to make your own patches.
It's quite tricky but well described in Peter Elsea's tutorials.
http://peterelsea.com/maxtutorials.html

bd's icon

Nice website, thanks! Still, I am little confused, because the [transport] object itself lists MTC as a valid clock source, look in the console:

broc's icon

Strange, but for me it's not in the list (Max 7).

pdelges's icon

For me neither (Max8.5.1, 8.1.11, 8.3.3)!

bd's icon

Oh I see. I just must have sent manually the message 'clocksource mtc' to the transport in some other patch. It results in no error in the console an 'mtc' appears in the list :D You can just send there anything you like with no error and it appears as an option :D

bd's icon

So seems I need to study some of the MIDI format quirks :D

Source Audio's icon

MTC and transport are different things anyway.
MTC is real time progress, transport is bar, beat, ticks based,
and can only be resynced using ticks message which is tempo dependent.

Most DAWs can send midi clock and song position pointer.
Which is usable in max and can also be used to run transport,
even that I prefer non transport sync which is tighter.


bd's icon

Thanks! Yes, I guess I should be more specific in my question. I got unnecessary fixed on MTC term.
My DAWs send SPP as well. So the proper question would be:
Is there actually any ready to use, universal and reliable sync option for Max to a DAW?
I could not find anything on the forum or on the internet in general. Probably I will end up studying the inside of MIDI and patching something. But if someone knows about existing object please let me know. Actually I wonder it is not some of existing max core objects. I can't imagine syncing Max to a DAW is some exotic need ;)

Source Audio's icon

what exactly do you wish to sync ?
If it is midi only beat clock with spp is perfectly ok.
If you want to sync - resync long audio & video playback,
then things become more complicated.

here is patch using transport, non-transport and sync~ based
examples

I prefer non transport, plain sync because it does not need to calculate tempo

Max Patch
Copy patch and select New From Clipboard in Max.

bd's icon

Thank you so much SOURCE AUDIO! Your examples help a lot already :)
Probably a good point too, to define the purpose first. Though I have no particular target at the moment. I am trying to get Max synced to control generative video and audio processes, while keeping the global time management and synths in the DAW. I am sure often just a single MIDI Note/CC or OSC message from the DAW would be sufficient. Somehow I hoped there is some general mechanism to sync things and then wanted to experiment with the possibilities. But I think what you said and gave me in examples is enough to get me going :) Thanks again!
PS. If I remember it right, Rewire was that kind of 'ready' thing. Actually curious why it looks dead now.