finally found a solution for rock solid sync between two live setups

  • i've recently started to play together with a friend preparing a live act so we hooked up our two live sets so we could jam together:

    Macbook Pro core i7 fully loaded with Live 8.1.5, APC40, MPD32 ... Mac Pro 8 core Xeon fuly loaded with Live 8.1.5, Lemur, monome 256 & 128 (8 instances of molar)

    we need to play with a really low buffer (128 max) to avoid latency for playing keyboard solos and mixing ... that doesn't help the timing, in general when you switch on external sync in Live the performance takes a huge hit (so does the audio quality)

    we had horrible timing problems at first, stuff just didn't sound tight, everything sounded horrible, and all the beats were drifting in and out of sync constantly ... so we started to experiment with all possible configurations and here are my observations:

    the solution to all problems is to use an external hardware clock and slave both machines, we tried networking the two machine (via ethernet or airport) and using one machine as master the other as slave, timing was horrible, everthing sounded slightly out of time ... and when the tempo changed everything got out of sync for a moment, also everytime we started our setup we had to resync the two setups, every day we needed a slightly different sync delay ... we then slaved both machines to a Kurzweil K2500's sequencer and all out problems went away .. timing was tight and tempo change are super smooth and both machines completely stay in sync, even when you make an instant change of 10BPM both machines just nicely 'ramp up' to the new tempo ... it's unreal

    now maybe it's particularly the Kurzweils clock that is so fabulous (since it's a pretty decent machine) but it think it's more to do with the fact that it's a hardware clock and not a computer clock ... i suspect using an MPC or any other hardware sequencer that can send Midi clock should provide similar results.

    The only possible way for us to clock is Midi clock, MTC (midi time code) is slightly tighter but doesn't allow tempo changes

    another thing that struck us is that the quality of the audio interface and internal summing makes a huge difference in making 2 machines sound really 'tight', we experimented with several audio interfaces in different configurations, some Motu's, an ESI Quatafire, an Apogee Ensemble and an Apogee Rosetta 200

    the best result we got so far is to connect the cheaper interface digitally to one of the Apogees via SPDIF (optical or coax) and then do the summing on the machine with the good audio interface. we tried all possible configurations, including summing through an analog mixer but in the end it sounds best like this. and it does make a huge difference to the sync tightness.

    i had some trouble finding a solution to this problem at first, diggin through hundreds of forum posts allover the web, so i thought i'd post it here :)

    here's a take from last night: http://soundcloud.com/lust-inc/lust-inc-live-direct-entlet-stickman-live-act-preview-2010

    doesn't sound very 'monome' i guess ... i'm using molar as step/pattern sequencer for the drum machines and percussions via midi

    the bad news is that now we have to get some proper mobile audio interfaces for the road cause the old Motu's suck and the Rosetta and Ensemble are not very portable ... and the Kurzweil weighs a ton :(

    i wish someone would make just an external Midi clock, this kind of product doesn't seem to exist ?

    one last warning, automating tempo changes over alonger period of time is a pretty bad idea ... we tried this cause our live act starts at 112, then goes to 116 in the first 5 minutes and then ramps up to 122 over an hour .. so we just did a tempo automation in Live so we don't have to worry about manually changing the tempo ... bad idea .. that really messes up the timing/sync ... haven't tried this on the external sync yet thou ..

  • hi,

    glad you are finding your way into a solid sync setup. i'm battling with midi issues right now.

    a few points.

    --

    connecting your two computers via their audio interfaces digitally is a good idea and is always the first step in establishing sync.

    those who work without a common clock reference between machines are never really working in sync. they may be very close, but they will always be drifting either side of true sync.

    you should feel the same tight sync even if you run analogue out of your two machines if they both have a common clock reference. like if you run a standalone wordclock generator.

    --

    running standalone generators with all your machines running as slaves is always the preferred way of working. always has been, way before computers. it's always better then having two machines where one is doing a job and also being a master (something) generator.

    --

    yes it seems that you normally get good midi clock generators as part of something else (like a synth or an mpc). i too would like to know if there are good standalone midi clock generators.

    --

    are you sure that midi-time-code is not an option?

    what happens if you have a midi-time-code generator that both your live rigs are locked to.

    then you have on incoming OSC message which alters the tempos of both rigs identically and at the same time.

  • Hmm an arduino (or avr with external crystal) or simlar uC would probably do this job really well.

    I found this after a quick google:

    http://www.audiomulch.com/midipic/

    Can't be that hard to do and pretty cheap too.

    Oh this just turned up without much more searching:

    http://recotana.com/recotanablog/?page_id=222

    ..would it be plausable to send mid timecode data to pc's via ethernet/osc and also send a midi clock pulse out via standard midi din connections? You could perhaps add an encoder/trim of some sort to correct sync errors between the two routing methods.

  • hey, thx for the comments ...

    yes, wordclock sync is definitely the next step to improve the 'tightness' of the summing, but we need to get some mobile interfaces first since the Motus don't have wordclock (and a terrible clock as well) .. the plan is to get a Black Lion audio Microclock as a Master (cheaper than a big ben)

    you made me think about the MTC again jim, the Kurz doesn't send MTC, only Midi clock so i have nothing to try this with at the moment ... i'll tell you what, the ideal scenario would be to have an external MTC hardware master and be able to control the tempo via the monome 64 :-) ... but everyone is saying that mTC tempo changes are asking for trouble ...

    @Xunil ... i have no clue whatsoever in electronics or even soldering so i wouldn't even know where to begin building my own ...

  • hey,

    you can start having a go with MTC straightaway.

    i often use Logic or Pro Tools to generate MTC when I'm testing stuff.

    i'm sure there are free apps out there that will generate MTC as well.

    get MTC from somewhere and get it into just one live rig to make sure it does what you want.

    who says MTC tempo changes are a bad idea?

    if you have live locked to MTC then play with the tempo by hand at the top left of the live interface. does this sound OK to you? if so then move on.

    then work out how you can have direct control over the live tempo via the API or whatever. map this to something so you can fiddle and again listen while live is locked to MTC. does this sound OK to you?

    if you got this far then you just get another live rig to lock to the same source of MTC and the same source of tempo fiddling. the two live rigs should behave the same.

  • and wordclock should not improve sync over what you have. it should be the SAME as running digital audio from one live rig to the other.

    but then you have the advantage that you don't need to run digital audio from one to the other, they can both output analogue and you can use a real mixer (if this is a plus for you)

  • Great thread. Myself and a friend have just decided to form a project and we're going to use two instances of ableton live. Curious if anyone has looked into, or had any success with Innerclock Systems stuff? Is this just for syncing DAW to external gear?

    http://www.innerclocksystems.com/New%20ICS%20Sync-Lock.html

  • Ah yes for I use something that is just an external MIDI clock.
    It's called the SoundBITE Micro. It's the size of a small T.V. remote and has a rechargeable battery. I've had it for like three years now.

    It's 49 Euros. It's simple with no LED display. It has tap tempo, but you can only increase, decrease the tempo with two buttons, no knob for drastic changes, yet again this allows for gradual and non- abrupt or accidental jumps.

    Thru my experience the MIDI sync is accurate and have never experienced drifts during 45 minute sets.

    It also has a BPM switch. This will disable it as the master and in turn it slaves to the BPM of a song piping thru the input, which in turn sends out MIDI clock info. That surprisingly, works well, even with hip hop or songs that aren't blatant club bangers. However, they claim that it'll even follow tempo changes, but for me it doesn't work well at all. But it DOES follow tempo changes accurately when in straight up MIDI mode. I don't want you to confuse the two modes.

    I'm sure you'll find a solution to better fit your particular-setup. The reason I use the device is this: I prefer to DJ with Live, and the songs which have tempo changes, I hated warping them and making it straight. Even tho subtle, I felt that i was robbing the groove of the song.
    So I would only warp intro's and outro's of songs on their own respective clips, and the rest i would have unwarped on it's own clip. That's when I would use the song to sync my other Live clips. Because the soundbite micro also has a push/pull feature, it came in handy for beat matching. So when a new song is coming up, I disable BPM sync, launch an outro clip of the current song, change tempo to the next song, and then beat match Live's metronome in my headphones to the next playing intro clip.

    This required me to spend too much time prepping and organizing clips and the chances of a train wreck were good if I didn't practice. I eventually went back to taking the life out of original tracks with the warp feature so that i could spend the extra time prepping my own stuff to work in the mixes.

    I know about tracktor and syncing live to it, but my machine is too old for tractor. I need to scrap everything and implement my monome in there somehow.

  • Hi everyone...

    I'm just trying to setup a simple sync between my MPC 4000 and Monome with MLRV...
    MPC send midiclock to Digidesign Digi002 interface...
    Mlr receive it, but all the small tempo changes (for example, if my tempo is 171.5 in my MPC, mlr tempo move from 171.2 to 171.8) makes loops stops!!!
    Impossible to play...
    Any idea???Please :-)

    Macbook Pro Intel Mac OSX Leopard Digi 002 interface
    Max Runtime 5.1.4 and MLRV
    Monome 64gs


    Thanx

  • hi, these are the limitations of midi clock that we're all having problems with

    how the app deals with midi clock is another thing. if MLR is stopping each time a tempo change occurs then this is something for the MLR guys to look at.

    sorry i don't use MLR

  • Reno I can confirm the same behaviour here when running mlrV, although I've not tried the original mlr to see if it has the same issue..

  • thos might be of interest, DIY SYNC box : http://gieskes.nl/master-clock-generator/build.php?inc=schematics.php

  • Nice find Rud!

    I'm definately going to make one.

  • nice! very cool stuff!!

  • just a quick tip for mlr sync...

    i always had trouble with midi clock / drift when slaving mlr to ableton. the solution for me was to use rewire. i believe there's a few versions of mlr that support it (mlr aes edit being the one i used but this was a long time ago). you could, for example, sync ableton as a slave to your mpc via midi clock and use rewire to sync up mlr to ableton. might be worth a shot.

  • Thanx phortran...
    But if i don't use ableton???Any solution???
    @ rud & everyone:
    Why a master clock gen (diy or not) would be tighter than a mpc midi out???
    If it really is, i begin tomorrow :-)

    Thanx

  • thanks a lot everyone for all the great advice, i realize that there is still so much more for me to check up on ...

    the innerclock device looks awesome, so it IS possible to have perfect sync :) ,,, i was sort of prepared to live with the 'floating' tempo in Live ... the Kurzweils clock made our sync more stable, but we still see the tempo drifting up and down in Live, but only slightly (less than 1bpm) ... a pitty the innerclock is 370€ ... won't be able to get this immediately :(

    the soundbite micro seems really cool as well but i don't think it does what i need, we don't need to synchronize with external gear or a DJ, we only nee to be two live workstations to be as tight in sync as possible ...

    we just discovered another bugfix for one of our problems ... whenever we switch on sync we have tiny random crackles in the audio stream of both workstations, we couldn't figure this out since our CPU is only 20% loaded and we have fairly recent and powerfull machines ...

    Ableton support provided a solution ... this is a bit like the 'High-Quality' setting in the EQ's, it's a major feature but hidden away in a sub menu alone rarely uses:

    it could be possible that these crackles are caused by beat-synced delay effects. A beat-synced delay will always crackle when you change the tempo, except if it supports an interpolation mode.

    Most Live-internal delay effects support this. You can right-click on the title bar of a delay effect and choose between "Repitch", "Fade" and "Jump" mode. Repitch and Fade will interpolate on tempo changes, whereas Jump will not interpolate and thus crackles. "Fade" would be the best solution in your case. Please check if all delay devices in your set are set to this interpolation mode.

    There is probably no solution for 3rd party VST / AU delay plugins, except if the plugin supports similar interpolation modes.

    we do indeed have several Live delays on our tracks and all of them were set by default to Jump, so since the tempo changes slightly continuously in external sync mode the delay tempo was adjusting/jumping all the time causing the crackles almost all the time ... changing the settings got definitely rid of the crackles :)

  • reno khart
    just use ableton as a bridge. sync ableton to the mpc via midi and then mlr to ableton via rewire.

    using a dedicated clock generator is not tighter than an mpc. it's just that people needing just a clock generator don't necessarily want to carry an mpc or similar just to generate clock.

  • "we just discovered another bugfix for one of our problems ... whenever we switch on sync we have tiny random crackles in the audio stream of both workstations..."

    if the crackles are tiny, just ignore them. Focus on making great music. And play it off as if the crackles are your signature secret sauce ;-)

  • jim, yes my point exactly ... if i can leave the Kurzweil at home when i go on tour, that would be better since it weighs 14kg ..

    baubie, certainly not, i fuckin hate the crackels, they don't matter so much in a club in the middle of the mix but in quiet passages it sounds really nasty ... but hey, it's all good now, they're history now that i found the hidden switch ... :)

  • freelance writer

  • @dircopimp, not to derail the thread, but im with you man. The crackles keep me up at night ;[
    I recently squashed a bug in shfflr that was causing a click every time the buffer looped, such a frustrating experience (it was due to a rounding issue between the recording and playback, so the playback was extending one sample further into the buffer then the recording was happening). Fixed now, but i go back and listen to my gridfest set and i cringe every two bars, so hard to ignore when you know its coming ;]

  • Midi sync has never worked great for us... It should be possible to write a fairly simple m4l patch that uses osc between computers to sync the tempo. One could also apply "smoothing" to the tempo changes (ie don't change tempo unless ticks received changes by some factor) and possibly even automagically calculate sync message latency. Most electronic music has pretty consistent tempo anyway, I think its just important to hit the 1's (as in 1 2 3 4) at the same time.

  • freelance writer

  • FWIW, Ableton has just announced Live 8.2.4 beta 1, which they claim has a new midi sync algorithm that allows Live to synchronize more accurately to external MIDI sources.

    If you have any version of Live 8, you can download the beta and try it out.