Syncing Live 10 and external Max 8 transport?

Iain Duncan's icon

Hi folks, I know Live 10 and Max 8 have much tighter integration. I'm wondering if anyone can tell me what that means the easiest way to sync their transports is now? Is it possible for me to have a sequencer in max that uses audio rate phasors as clocks and still sync to live's transport when running Max as an external and not M4L? thx!

double_UG's icon

perhaps with link

https://cycling74.com/forums/announcing-link-package

Iain Duncan's icon

Yeah I found that, but it doesn't take you to a page with any actual info... still trying to find real documentation. If anyone knows where it's hiding, I'm all ears!

Iain Duncan's icon

My initial tests show that the two transports running independently stay in sync pretty darn well, which is encouraging. I loaded up an identical sequence in live and max 8 and with some nudging of the live playback DJ-style, got them locked up and they seem to stay tight. I guess I just need to figure out the best way of controlling start and stop and location from one to the other?

Martin Martin's icon

Is anyone using link.phasor~ together with Ableton with success?
I have some serious (up to 30ms) latency and even if I compensate for that the sync feels jittery..

Nothing like syncing to instances of Ableton. Or am I doing smth wrong?

michael heitmanek's icon

Iain try this

max.for.live.tempo.maxpat
Max Patch

Iain Duncan's icon

Oh I just saw this now, coming back to this issue, thanks Mickey242, I will check that out.

Source Audio's icon

Why use live observer to get current tempo, and in addition plugsync to get transport running status ?
plugsync reports tempo, no need for any observers, which from what people say is not recommended for time critical stuff.

Iain Duncan's icon

Hi, I was actually meaning for external Max! I am trying out running my scheme sequencers both in Live and in external Max, to figure out what the pros and cons of each are. In Live, I don't think I need to do anything, because all the scheduling code automatically uses live's transport. (so far...knock on wood!)

Jamie Maule's icon

I'm also fiddling around trying to find an elegant solution to this. Syncing tempos is pretty straightforward using link.phasor, but I'm struggling to find a good method of syncing the tranports completely (with start/stop etc). Anyone got any clues?

You could i guess create a m4l device that grabs the tranport info using plugsync and then send it to a max patch using updsend/receive but that seems pretty long winded...

Iain Duncan's icon

One can also use plain old midi to automate the transport buttons, which works surprisingly well if you make sure your messages are running in the high priority thread. My problem was that I found a very slight drift from Max and Live (like noticeable after several minutes), but I don't know conclusively whether that was a Max transport issue or my own code misbehaving... :-)

I also tried out Link, but it's really slow to resync on tempo changes (or at least was with what I was doing).

Iain Duncan's icon

Jamie, I would think a better approach would be to grab info as you are doing but then send as midi to Max to trigger Max transport. That should all stay in Max high thread and be pretty snappy. I'd be interested to hear your results at any rate. I'm now pursuing the "run all in live" option for a bit so see how that plays out. Each seems to have pros and cons.

Jamie Maule's icon

I just tried this out and it does seem to work as a hack around

Iain Duncan's icon

Yeah I was surprised when I tried it, but I haven't compared latency for midi vs osc. I have had some timing inconsistencies on osc in other cases, but really I don't know enough about networking to intelligently comment on any potential differences. I do know that midi over the same machine on osx is dead quick though, and does go into Max on the scheduler thread.

michael heitmanek's icon

Thanks for pointing that out Source Audio : ]

Iain Duncan's icon

Yes, I didn't know about plugsync, now that I have my sequencers running in M4L, I shall give it a try too!