jdn

... purveyor of funky beats and assorted electric treats ...

Ableton Live, The Machinedrum and The Monomachine: Midi Sync Notes

Posted on | June 6, 2010 | 9 Comments

Recent­ly I’ve been (going crazy) get­ting the tim­ing tight between Able­ton and two out­board sequencers — the Elek­tron Mono­ma­chine and Machine­drum.  On their own, these sil­ver box­es have amaz­ing­ly tight tim­ing. They can sync to each oth­er to cre­ate a great live set­up.

Add a com­put­er DAW into the loop, and you intro­duce jit­ter, laten­cy, and gen­er­al zani­ness to the equa­tion.  And it’s not triv­ial — this is obvi­ous­ly-miss­ing-the-down­beat, shoes-in-a-dry­er kind of bad.  I test­ed the jit­ter / laten­cy by ear, as well as by record­ing audio clips and mea­sur­ing the mil­lisec­ond off­sets from the expect­ed hit times.

I don’t think this is fun­da­men­tal­ly a slow com­put­er / poor set­up issue either — I’m run­ning a good inter­face, using a tiny 32 sam­ple audio buffer. The rest of the set­up is an i7 Intel Mac run­ning OS X 10.6.3, Able­ton Live 8.1.3, Emag­ic Uni­tor 8 midi inter­face and an Elek­tron TM-1 Tur­bo­Mi­di inter­face for the Machine­drum.

Below is a jour­nal of what’s work­ing, what isn’t, and my the­o­ries on why…

Method 1: Ableton Live as Master, using External Instruments

This seems like the way Able­ton would want you to set this up.  It’s what the Exter­nal Instru­ment is made for — rout­ing midi to- and audio from- an out­board MIDI device.  How­ev­er, it has a num­ber of draw­backs when work­ing with these machines:

  • Laten­cy depends on whether they are in “active” mon­i­tor­ing mode.  I didn’t real­ize that in Able­ton, hav­ing a track in “Auto” mon­i­tor mode — but not record armed — has dif­fer­ent laten­cy than hav­ing it in “In” mon­i­tor mode, or hav­ing it record armed in “Auto” mode.  This makes it hard to mon­i­tor a beat com­ing from the out­board sequencer, yet have record armed for anoth­er track in the song: the audio for the out­board gear will sound late.
  • If you try to get around this by leav­ing the track set to record mon­i­tor “In”, it’s like leav­ing your device always record armed, which can make it hard to avoid send­ing unde­sired MIDI events along.
  • The Machinedrum’s inter­nal tem­po fluc­tu­ates +/- a few BPM.

Sync is done pret­ty stan­dard: Able­ton out­put sync is enabled for the Tur­bo­Mi­di inter­face the Machine­drum is plugged into, with a tri­al-and-error tuned MIDI clock sync delay of around -9 ms, and “Song” MIDI clock type.  I still found that this method — even in Record armed mode — had slight­ly high­er laten­cy val­ues than the meth­ods list­ed below.

Method 2: Machinedrum or Monomachine as MIDI Master

Why not flip it around?  Set the Machine­drum to send MIDI clock and trans­port con­trol, tell Able­ton to lis­ten to sync on the Tur­bo­Mi­di input, and hand-tune the MIDI clock sync delay until things line up.  I end­ed up with an delay val­ue of -26 ms — pret­ty large!  This method works as expect­ed, but still has some issues I don’t love:

  • Able­ton is hav­ing to try and lay stuff down while its tem­po is shift­ing — it has prob­lems sync­ing to incom­ing MIDI clock steadi­ly.  So your clips end up with basi­cal­ly ran­dom, non-inte­ger tem­pos as their default Seg. BPM val­ues.
  • Tim­ing jit­ter / error seems to accu­mu­late over a few beats, steadi­ly drift­ing ear­li­er and then lock­ing back to the down­beat.
  • When it’s on, it’s close — but when it’s off, it strays pret­ty sig­nif­i­cant­ly. Some sequencer starts will be tight, oth­ers might not be.
  • You can’t start/stop Live from any­thing except the out­board gear.
  • You can’t skip around in the Arrange in Live — all song-posi­tion infor­ma­tion comes from the out­board mas­ter.
  • Appar­ent­ly Live’s mix­er laten­cy com­pen­sa­tion is irrev­o­ca­bly dis­abled when using exter­nal sync.

No dice.

Method 3: Machinedrum Internal Sync Only, Receiving Transport Control From Live

Nice idea — it would mean the MD could use its own rock-steady notion of what a giv­en BPM means, yet I could start/stop the sequence from Able­ton, and jump around in the Arrange win­dow.

This didn’t work very well — I end­ed up get­ting start off­sets that made the MD run sub­stan­tial­ly behind Able­ton, and with­out any sub­se­quent clock updates that would sync things back up.

Method 4: Live as Mas­ter, using dis­crete MIDI & Audio Tracks

This is how I’m rolling for now.  It seems to have the best blend of con­trol­lable inte­gra­tion into the Live work­flow, accept­able laten­cy and jit­ter, and flex­i­ble MIDI record­ing and play­back for all tracks of the out­board gear.

  • Live sends Sync out to Machine­drum and Mono­ma­chine. In my set­up I’m using a MIDI clock delay of -9 ms for both.
  • I cre­ate audio tracks for each input from the MNM and MD, and set them to Mon­i­tor “In” mode for low­est laten­cy.
  • Midi is rout­ed via ded­i­cat­ed MIDI tracks — one per chan­nel I need to send to.  If you don’t want Live to bake in laten­cy on record­ed midi clips, make sure mon­i­tor mode is set to “Off” for these.

Here’s the Mono­ma­chine por­tion of the set­up: (click image for full size)

Using this set­up, I’m get­ting jit­ter of less than 1 ms.  Strange­ly, it seems to alter­nate back and forth with­in that range every oth­er quar­ter note.  I’m not get­ting per­fect phase-sync on every down­beat, but at least the “band” is reli­ably, rough­ly in time now.

Misc Notes

  • The Machinedrum’s Tur­bo­Mi­di mode doesn’t seem to have a sub­stan­tial effect on all of this.  I’ve noticed that it seems to slight­ly delay or rush the over­all tim­ing, which I’ve com­pen­sat­ed for in the MIDI clock delay para­me­ter when I’m using it.  How­ev­er, it doesn’t seem to have any bet­ter or worse jit­ter per­for­mance than non-Tur­bo­Mi­di enabled mode.
  • If you want to be tight like Hybrid or BT, then get ready to drag some warp mark­ers on your bounced audio tracks until everything’s all sam­ple accu­rate.  Or sequence your drums using audio hits in the Arrange time­line. I’m fine with things being pret­ty darn close for now.
  • Switch­ing Able­ton to use “Pat­tern” mode MIDI clock seemed to result in clock drift over the course of each mea­sure. By the end of the mea­sure beats were all over the place (rel­a­tive­ly speak­ing — they were still with­in 5 ms of the cor­rect time).

That’s it.  If you’ve read this far and have any tricks to get this stuff work­ing bet­ter (with­out resort­ing to expen­sive hard­ware panaceas), please let me know!  In my next blog post I’m going to write about Ableton’s inter­ac­tion between laten­cy com­pen­sa­tion, dif­fer­ent meth­ods of mon­i­tor­ing, and MIDI Clock out­put.

Comments

9 Responses to “Ableton Live, The Machinedrum and The Monomachine: Midi Sync Notes”

  1. Ableton Support » Ableton Live, The Machinedrum and The Monomachine: Midi Sync Notes …
    June 6th, 2010 @ 8:26 am

    […] Con­tin­ue read­ing here: Able­ton Live, The Machine­drum and The Mono­ma­chine: Midi Sync Notes … […]

  2. Sam
    November 1st, 2010 @ 11:55 am

    thanks matey : )

    between your advice and page 90 of the Mnm(Mk1)‘s man­u­al (“MONOMACHINE AND MIDI” — think it’s on page 91 in the MK2’s man­u­al, “TEMPO SYNC”), I got this work­ing.

    Thank you

    Admit­ted­ly, I’ve now for­got­ten how I did it (have been busy at school last few months). But i’ll re-do it and take notes (for myself).

  3. Sam
    November 1st, 2010 @ 12:03 pm

    PS. and the oth­er good ref­er­ence was the fol­low­ing part in Ableton’s (Live 8) ref­er­ence man­u­al:

    “Syn­chro­niza­tion and ReWire” chap­ter 29 of the Able­ton ref­er­ence man­u­al, in par­tic­u­lar, “29.1.1 Syn­chro­niz­ing Exter­nal MIDI Devices to Live”… page 495 in Live 8’s man­u­al

  4. BHC303
    July 12th, 2011 @ 11:47 pm

    Thanks for post­ing this up!

    If you have added any new thoughts to this great piece of infor­ma­tion please post.

    I have been pulling my hair out try­ing to get this stuff sort­ed for a very long time, it became so frus­trat­ing I stopped pro­duc­ing for some time now 🙁

    My sound­card is in get­ting fixed, I cant wait to try and get this sort­ed, I hope I don’t have to go down the path of spend­ing big bucks on a sync-lock device and a midi merg­er!

    If you have any able­ton tem­plates you want to share for MD and MnM set please post.

    Cheers again!

    Peace

  5. Jeff
    August 4th, 2011 @ 12:01 pm

    Any one who hasn’t fig­ured this out yet, on Machine Drum at least you need to have BOTH ‘Tem­po In’(set to ‘exter­nal’) AND ‘Cntrl In’ (set to ‘on’) Then, and only then will Machine Drum lock to Able­ton (or any oth­er DAW I imag­ine)

  6. BHC303
    August 9th, 2011 @ 3:24 am

    Cntrl is irrel­e­vant of the sync issue, it just sets up how machine­drum responds to start and stop or midi mes­sages, I still have the same prob­lem regard­less of how Cntrl is set up.

  7. nms
    March 29th, 2012 @ 5:46 pm

    All you have to do to fix sce­nario one is enable strict delay com­pen­sa­tion.

    Go to AppData\Roaming\Ableton\Live 8.2\Preferences

    and cre­ate a text file called Options.txt

    put this in it: -Strict­De­lay­Compen­sa­tion

    All done. No more tim­ing mess when tracks are armed or not.

  8. Mark
    February 13th, 2013 @ 2:26 pm

    Mate, I feel your pain — I have an Elek­tron
    OT and have the same clock­ing issues, been trawl­ing the web for a solu­tion as it real­ly lim­its the poten­tial of the OT and kind of negates the whole rea­son for hav­ing it. Only thing I have come across oth­er than lots of clock­ing idiots who don’t seem to under­stand the fun­da­men­tal prob­lem is the Inner Sys­tems stuff — that looks like it will work but it’s not cheap

  9. Lukas
    January 25th, 2015 @ 5:22 am

    T.H.A.N.K.S. !!!!!1!eleven

Leave a Reply