jdn

… purveyor of funky beats and assorted electric treats …

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

Posted on | June 6, 2010 | 8 Comments

Recently 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 boxes have amaz­ingly tight tim­ing. They can sync to each other to cre­ate a great live setup.

Add a com­puter DAW into the loop, and you intro­duce jit­ter, latency, and gen­eral zani­ness to the equa­tion.  And it’s not triv­ial — this is obviously-missing-the-downbeat, shoes-in-a-dryer kind of bad.  I tested the jit­ter / latency by ear, as well as by record­ing audio clips and mea­sur­ing the mil­lisec­ond off­sets from the expected hit times.

I don’t think this is fun­da­men­tally a slow com­puter / poor setup issue either — I’m run­ning a good inter­face, using a tiny 32 sam­ple audio buffer. The rest of the setup is an i7 Intel Mac run­ning OS X 10.6.3, Able­ton Live 8.1.3, Emagic Uni­tor 8 midi inter­face and an Elek­tron TM-1 Tur­bo­Midi inter­face for the Machinedrum.

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

Method 1: Able­ton Live as Mas­ter, using Exter­nal 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­ever, it has a num­ber of draw­backs when work­ing with these machines:

  • Latency 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 latency 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 another 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 tempo fluc­tu­ates +/- a few BPM.

Sync is done pretty stan­dard: Able­ton out­put sync is enabled for the Tur­bo­Midi inter­face the Machine­drum is plugged into, with a trial-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 slightly higher latency val­ues than the meth­ods listed below.

Method 2: Machine­drum or Mono­ma­chine 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­Midi input, and hand-tune the MIDI clock sync delay until things line up.  I ended up with an delay value of –26 ms — pretty large!  This method works as expected, but still has some issues I don’t love:

  • Able­ton is hav­ing to try and lay stuff down while its tempo is shift­ing — it has prob­lems sync­ing to incom­ing MIDI clock steadily.  So your clips end up with basi­cally ran­dom, non-integer tem­pos as their default Seg. BPM values.
  • Tim­ing jit­ter / error seems to accu­mu­late over a few beats, steadily drift­ing ear­lier and then lock­ing back to the downbeat.
  • When it’s on, it’s close — but when it’s off, it strays pretty sig­nif­i­cantly. 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-position infor­ma­tion comes from the out­board master.
  • Appar­ently Live’s mixer latency com­pen­sa­tion is irrev­o­ca­bly dis­abled when using exter­nal sync.

No dice.

Method 3: Machine­drum Inter­nal Sync Only, Receiv­ing Trans­port Con­trol From Live

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

This didn’t work very well — I ended up get­ting start off­sets that made the MD run sub­stan­tially 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 latency 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 setup 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 latency.
  • Midi is routed via ded­i­cated MIDI tracks — one per chan­nel I need to send to.  If you don’t want Live to bake in latency on recorded midi clips, make sure mon­i­tor mode is set to “Off” for these.

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

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

Misc Notes

  • The Machinedrum’s Tur­bo­Midi mode doesn’t seem to have a sub­stan­tial effect on all of this.  I’ve noticed that it seems to slightly delay or rush the over­all tim­ing, which I’ve com­pen­sated for in the MIDI clock delay para­me­ter when I’m using it.  How­ever, it doesn’t seem to have any bet­ter or worse jit­ter per­for­mance than non-TurboMidi 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 pretty 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­tively speak­ing — they were still within 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 latency com­pen­sa­tion, dif­fer­ent meth­ods of mon­i­tor­ing, and MIDI Clock output.

Comments

8 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­tinue 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­ual (“MONOMACHINE AND MIDI” — think it’s on page 91 in the MK2’s man­ual, “TEMPO SYNC”), I got this working.

    Thank you

    Admit­tedly, 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 other good ref­er­ence was the fol­low­ing part in Ableton’s (Live 8) ref­er­ence manual:

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

  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 sorted 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 sorted, I hope I don’t have to go down the path of spend­ing big bucks on a sync-lock device and a midi merger!

    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 ‘Tempo In’(set to ‘exter­nal’) AND ‘Cntrl In’ (set to ‘on’) Then, and only then will Machine Drum lock to Able­ton (or any other DAW I imagine)

  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 compensation.

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

    and cre­ate a text file called Options.txt

    put this in it: –StrictDelayCompensation

    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 really 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 other 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

Leave a Reply