MUFF WIGGLER Forum Index
 FAQ & Terms of UseFAQ & Terms Of Use   Wiggler RadioMW Radio   Muff Wiggler TwitterTwitter   Support the site @ PatreonPatreon 
 SearchSearch   RegisterSign up   Log inLog in 
WIGGLING 'LITE' IN GUEST MODE

Tight midi control over external devices with Ableton Live
MUFF WIGGLER Forum Index -> Music Software  
Author Tight midi control over external devices with Ableton Live
Vorg
Hello mates! I've posted this on Ableton forum too but it seems too puzzling for the gearheads there, so I'm trying my luck here as well, hope it's fine to do so. I'm gradually putting together my live setup and I'm starting to get concerned by Ableton Live as, just like in countless sets (I'm thinking to Caribou, for example), it will be used to send midi sequences and melodies to external devices, to send a midi metronome and start/stop programs and to play backing tracks here and there.
I'm doing my best to lower the audio tracks and the plugin counts to a minimum, though these are the machines that still need to be managed by Live:
- Oberheim Matrix
- Nord Electro 2
- Behringer Deepmind
- Modular synth (midi interface is Doepfer A-190-2)
- Arturia Minibrute 2S
- midi metronome
- Elektron Octatrack MK2.

Matrix, Deepmind and Nord need to receive notes, while Elektron OTMK2, modular synth, Arturia Minibrute 2S and the metronome need to receive tempo and start/stop messages. Right now my midi out is that of a RME Babyface Pro, so that's where all midi messages would hit a Kenton Midi Thru 5 (that will probably be replaced with a larger midi hub). My concern is with latency as the only time I've tried to control something through Ableton it was my modular system back in the days when I had an Expert Sleepers ES-4 S/PDIF interface. I used to use the "Silent Way" plugin but the latency simply made it all unusable. On another occasion, I tried to give the drummer Ableton's audio metronome by routing the cue output to another output of my then-soundcard (Focusrite Saffire PRO24) but I assume every out apart from 1-2 has some sort of latency, so that was out #3 and I guess it was manageable but still, well… not on the spot.

The question is: is there any way I can have rock-solid timing on midi sequences/melodies/chords/tempo and start/stop messages without having to calibrate each latency via the compensation device? I've heard of Innerclock Systems Sync Gen-2 Pro, I know there's the turbo midi TM-1 interface out there… I wonder if any of those interfaces are needed or there's a much more cost effective and easier alternative with the items I already have (namely the aforementioned RME Babyface Pro).

Thank you all in upfront!
matthewjuran
If your computer configuration can’t output a consistent click for the drummer then I wouldn’t expect it to do even more work with MIDI reliably.

The source of the latency needs to be isolated. Is it just your computer processor or is the MIDI or audio interface involved? Can you make a click consistent with a program other than Ableton? Are there other programs active with your operating system?

I can’t speak from experience of making a set like yours work but I think most computers should be able to do realtime multichannel MIDI. If your computer is older then maybe consider trying it with the parallel audio processing removed?

If you have time to make performance adjustments then the Octatrack is fully featured for live MIDI performance and could replace Ableton and the computer.
gruebleengourd
If you want to sync VST instruments with external instruments.
You have several problems to address.

1) Jitter on the midi out
2) jitter and midi latency on the buffer of the instrument
3) audio latency on the input to your daw.
...

1) can be solved with something like an expert sleepers USAMO or a roland SBX-1.

2) You can't do anything about this.

3) You do compensation for the track via the external instrument device.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
My workaround is to use the solution to 1) and I don't worry about 2)
But most importantly, I don't every try and sync vst instruments with hardware, but work with hardware first record to audio and then add anything VST wise once I'm working in audio.
Vorg
Thank you both, this lets me add some perhaps interesting hints:

- the computer is a MacBook Pro 13" non-retina late 2015;
- yes, it can output a consistent AUDIO click both with Ableton, Reaper and Logic;
- no, there aren't other programs running parallel to Ableton Live;
- no, there's no real need to control hardwares through VSTs, I just want to send midi tracks and midi messages to the external machines;
- yes, I'm aware of the fact that the Octatrack could actually replace the computer (in fact that's a solution to handle some of the midi tracks involved), though it can't send more then 4 notes-chords in a while, so that's the reason why I'm sticking with a software.

Yeah! ES's USAMO! I thought about it but didn't think it could have been a solution; besides: that could work for click duties, but what if I had latency on melody/sequence and chords' midi tracks? I'm not saying I'm having this issue right now, I just know it happened to me in the past and wondered if that's a common issue that has some kind of "solving template". wink
Panason
I keep saying that Ableton is really not what you want for MIDI sequencing. It is made for triggering audio clips in session view, the rest is just tacked on.

I would stick with the OT for that job- can't you set more than one MIDI track on the same MIDI channel to get more than 4-note chords?

Otherwise, try Bitwig !

If you use a Mac and you get yourself a dedicated MIDI interface and plug it into a separate (from your audio interface) USB port you shouldn't have any issues.
The USAMO doesn't seem to work for a lot of people and is unlikely to work well for sending anything other than MIDI clock. The more expensive sync solutions seem a lot better.
However, on a Mac that is set up for music making (no network activity or crap running in the background) you shouldn't have audible jitter issues.

BTW the TM-1's turbo mode only works with Elektrons and maybe one or two more devices.

MIDI latency is unavoidable because hardware is stuck in the early 90s, and you will have to apply a correction offset in some way.
gruebleengourd
Vorg wrote:

Yeah! ES's USAMO! I thought about it but didn't think it could have been a solution; besides: that could work for click duties, but what if I had latency on melody/sequence and chords' midi tracks? I'm not saying I'm having this issue right now, I just know it happened to me in the past and wondered if that's a common issue that has some kind of "solving template". wink


Can you be more clear as to what latency you are talking about? Audio latency of your software instruments when you monitor them through your interface?

USAMO works fine for clock and for notes so long as your audio interface sends out a 'happy' signal level.
facklr
There are a lot of threads of people going around and around in circles concerning latency, but there are few answers from people who have successfully done something about it.

2 years ago in this thread I said this, and I stand by it. I guess people can argue against it, and come up with their own theories, but I would be skeptical that they use those theories in practice.


facklr wrote:
I have Ableton. I have a Macbook.

I have a TR-8, a Eurorack modular, and 4 Elektrons.

I have a Focusrite 18i20 (for now).

Trust me, Over the last two years, I tried everything that is mentioned in this thread for the most part. I even bought a USAMO. It was ok.

I will swear to you this:

You need to get a Sync-Gen II PRO from Innerclock Systems.

And then you need to learn how to properly use it. It's easy, but you need to learn it, and work with it, and use the GridLock with it (A free VST/AU from Innerclock) and then try and try until you get things locked. I thought I had everything synced shortly after I got one, but was still getting a teeny bit of latency. Things weren't hitting the grid in Ableton. It drove me nuts. Nuts.

Then I decided to be patient.

Then I used GridLock correctly (rtfm) (plus I made the rimshot coming from my Rytm have the shortest possible decay. The technique is all in the manual, so I won't go into it here)

I now have perfect sync. Perfect. It was hard to get there. It is absolutely worth it.

All machines are locked to each other. They are locked to Ableton. I can use Ableton instruments and hardware together in real time

Yes the SyncGen is expensive.

Yes it's worth it.

Sorry, but this is the answer. I regret nothing having bought it. I highly recommend you go this route.


Two draw-backs:

1) Sync Gen II Pro is out of production currently
2) There still might be noticeable latency on midi notes. But I have found when you get the start/stop of drum machines and sequencers taken care of, midi note sequencing from Ableton to keyboards, etc. is not that crucial if it's behind a millisecond. I'm sure someone has a strong differing opinion. However, I usually clock my Octatrack from the SG II Pro anyway, so notes and chords can be super tight if I need them to be.

There really is no easy way around latency, in my experience. You either do what you need to do, or you don't.

P.S. USAMO is a good option, and certainly much cheaper, but I found it to be glitchy and not very reliable. But I didn't have it for very long before I got a Sync Gen, so YMMV

P.P.S. Modular + Pamela + Sync Gen II Pro + one of these = timing like a Swiss watch.
Vorg
Well, first of all let me thank you all, gents, for your kind support and ideas!

@Panason: I have to admit Bitwig is a great temptation, right now. I haven't had but raving reviews about it from either the most biased and the most neutral heads I know have used it. It's also very interesting because AFAIK it can also run on Linux, which is where I'm planning to land if and when this Mac dies, I'm just kinda reluctant because I'm already switching back and forth between Logic, Reaper, Live and even Harrison Mixbus, each one is strong in something and weak in some other things, hence I'd prefer to stick to Ableton and do everything within it. On the other hand, I could probably purchase an EDU license and that could at least make Bitwig easily available to my experiments, so uhm… let's see what happens, but thank you for having brought that on the table, as this seems the cheapest solution so far!

@gruebleengourd about latency: back in the days of Ableton connected to my euro modular, I'd tipically load a midi track letting the Silent Way plugin get in touch with the ES-4 via S-PDIF. What I could hear (and see) was the metronome and the cursor bar moving "faster" than the sounds and melodies I could hear from my eurorack system: I fear this kind of drawbacks.

@facklr: thank you, simply. smile Actually there's a guy, here in Italy, currently selling a SyncGen, that's half of the reasons why I included that device in my list, but the fellow priced it in the pretty expensive league (circa 400€) and since it's not manufactured anymore I really have concerns as to what to do if the device goes nuts. I agree with you, though, about the fact that if one wants to go into MIDI latency, he has to be serious about it.
facklr
Vorg wrote:
@facklr: thank you, simply. smile Actually there's a guy, here in Italy, currently selling a SyncGen, that's half of the reasons why I included that device in my list, but the fellow priced it in the pretty expensive league (circa 400€) and since it's not manufactured anymore I really have concerns as to what to do if the device goes nuts. I agree with you, though, about the fact that if one wants to go into MIDI latency, he has to be serious about it.


Actually, 400€ is pretty fair. I think they were $699.00 new (616€). There is one in the states for over 800 right now Dead Banana

They are built really solid, and the company is still in business and in my experience is very responsive to questions, so if anything were to go wrong with it, which I strongly doubt unless it's been abused, I'm sure they could at least fix it or tell you who to contact.

I don't think you'll reget getting it.
Panason
facklr wrote:

2 years ago in this thread I said this, and I stand by it. I guess people can argue against it, and come up with their own theories, but I would be skeptical that they use those theories in practice.


I think there's some confusion there.

Latency is when notes are delayed and is usually pretty constant.

Clock jitter is when the BPM varies RANDOMLY.

The sync devices (Sync Gen is no longer available- ERM Multiclock is the one to go for) can fix jitter issues but will do NOTHING for MIDI latency. If MIDI latency is an issue you have something wrong with your setup.

The sync devices are not really needed with a Mac so long as you have it and your MIDI connections set up properly - which means not combining audio+MIDI on the same USB bus and disabling all networking and other un-needed background processes (browsers, iTunes or any app not involved in your project). Having said that, the sync boxes will make it easier to reliably sync other sequencers/drum machines to the Mac. That's all they are for! if you are not using other sequencers or drum machines in sync with the DAW you totally don't need a USAMO or Multiclock or anything like that.
facklr
Panason wrote:
...USB bus...


USB? Please, that's not even a part of the conversation and should not even be considered an option.

I'm talking about Midi clock for start/stop reasons. You can call it whatever you want, I'm just talking about functionality. Ableton (On Mac!) --> SGP --> Midi/Din inputs on gear = start on the one, no lag, no catch up, no jitter. Stop on a dime. Sync with the grid in Ableton. What more could you ask for?

I'm explaining what works for me, and it works great.

Panason wrote:
. to reliably sync other sequencers/drum machines to the Mac. That's all they are for! if you are not using other sequencers or drum machines in sync with the DAW you totally don't need a USAMO or Multiclock or anything like that.


Isn't this exactly what we're talking about? And latency can be Midi clock that is delayed, and doesn't have to have notes....what is your point here? Notes behind the beat and Midi clock behind the beat are both...latent. The audio signal converted to Midi/Din by SGP is faster i.e. LESS latent to NOT latent and, guess what? Keeps things in sync so you can use your drum machines and synths with Ableton soft synths, etc. In Real Time. That's what we are talking about.

Actual clock jitter? I've never experienced it, but I don't run things over USB except from my Mac to soundcard. If someone wants to talk about USB, that is an area I have no interest in discussing.

A drum machine behind the beat and a line on a monosynth behind the beat are two different things as far as noticeability is concerned.

Now go ahead and find the weak points and poke holes in everything I said. That is unless you're currently on another part of the Internet telling people they are wrong.
Panason
No mate, I'm not getting personal with you. I just explained the difference between jitter and latency and that a sync box will not fix MIDI notes lagging behind. There is probably no need to spend time and money on a sync box if latency is the only issue.

Unless you have an Atari ST you are very likely using USB of Firewire for your MIDI and I'm just saying if you (anyone) separate the audio from the MIDI you (anyone) will likely get less MIDI clock jitter. Also it's important to understand that USB 2 on Windows and Mac does not prioritise MIDI data so it's up to the user to cut down on unneeded processes and manage the USB traffic.

Latency can be solved with adding negative delays in the DAW's MIDI tracks or clock output (edit: see point in later comment about negative track delays)

MIDI clock jitter is not easily noticeable unless you have a problematic piece of gear or there's an issue with the computer or the DAW. It can become more noticeable when synchronising audio and MIDI sequencers for recording. For example if the OT (or any hardware sequencer) is synced to the DAW and you want to record its patterns in sync to audio tracks in the project, a sync box will make sure the OT is receiving a rock solid clock that is in sample-accurate sync with the DAW tracks.

If the USB MIDI communication with the OT/drum machine is congested, (or the computer OS is just fucking up) without a sync box the OT may receive a jittery MIDI clock which can make the rhythm feel more sloppy . It won't be noticeable until you run the OT in sync with rhythmic audio tracks (eg drum loops). This is only important for music that is based on tight rhythms, not so much for ambient stuff.

This is my understanding and I'm just sharing it because i think I got it right. If you don't think my advice is worth it feel free to ignore it or explain why it's invalid... It's not a competition.
Vorg
@Panason and @facklr: not that it changes much but I think I got both your points and both are plainly right, according to my needs.
In order to better explain my reasoning: Panason is right pointing out that I'm probably confusing latency with jitter and it's true I have been probably dealing with the second one, in the past, more than the first. Besides, when facklr says we're anyway experiencing latency, it might be "trivial speech" but that's true as well if we account for it as a result per sé rather than under the technical perspective.

It's undoubtedly true, though, that the two things demand for different solutions and here's my resume; as said before, midi messages come out of Ableton reaching an RME Babyface Pro and then hit a Kenton MIDI Thru 5 so there's no midi chaining or, better said, I'm foreseeing a chain for tempo (that is, let's say midi tempo messages go on ch.15: then the Octatrack, the modular synth and Arturia Minibrute 2S will be sidechained) and separate ones for monophonic melodies and chords.
Hence yes, the midi will ideally get through USB before hitting the machines themselves as a MIDI signal (I mean: through the usual 5-pins cords) and I can see at this point MIDI data won't have priority over audio, but I also see no way to avoid this without picking another USB port, sticking a usb-to-midi dongle to that and hitting the USAMO or the Sync GenII or the Roland Sync Box or whatever else from there. Though wouldn't that demand Ableton to handle two interfaces at a time (one for audio and the other one for MIDI)? And if so, how could that be less "heavy" on the CPU and overall Live's behaviour then having both audio and MIDI on the same interface?

Oh, last concern; about adding negative delay, I'm kinda where facklr reported having been at his beginnings with Sync Gen II: I'm sure that by manually adjusting the compensation we might get to a pretty steady result, but I bet we've all been through very long circles of sequences going on for the like of 10 minutes and ending up having lost more than a single beat. That's because one may approximate a state which sounds stable to the ear but which actually is wrong by a few decimals you have no chance to hear unless you let it cycle for a while. So the question is: if you were to manually compensate with negative delay, how would you calculate the exact value of time to choose?

Thanks a ton, guys!
Panason
Vorg wrote:
but I also see no way to avoid this without picking another USB port, sticking a usb-to-midi dongle to that and hitting the USAMO or the Sync GenII or the Roland Sync Box or whatever else from there. Though wouldn't that demand Ableton to handle two interfaces at a time (one for audio and the other one for MIDI)? And if so, how could that be less "heavy" on the CPU and overall Live's behaviour then having both audio and MIDI on the same interface?


Thanks a ton, guys!


Oh the CPU has no problem with any of this, it's about prioritizing MIDI data. If it goes out of a different port it has more chances of delivering a stable clock.

The way I have it set up works well and it's like this:
-One USB port with one MIDI interface for the drum machine (which needs the tightest MIDI clock).
-Another USB port with another 4-way MIDI interface for the rest of the gear.
-Audio on the Firewire port.

This way I have separate data streams for audio, MIDI clock, and the rest, and this ensures the least amount of congestion.

As for adjusting for latency on equipment synced to Live (or any DAW) here's what I do:

-Turn down the master volume
-Turn on Live's metronome.
-On the OT (for example) if it has no metronome sound, make one: set up a pattern with a similar sound to Live's metronome (any kind of high pitched very short and sharp sound) playing on every beat- that's the click track.
-Go to Live's preferences and make sure the MIDI output for the OT is sending out MIDI clock. On the OT : enable MIDI sync.

-Press play on Live, the OT should start playing the click pattern.
-Back to Live's MIDI preferences, click on the little triangle to expand the options for the MIDI clock output to the OT and adjust the sync output timing until the metronome and the click on the OT sound exactly in phase!

Do all this and you may find you don't need a sync box just yet...

Another point to note: the track delays on Ableton are best not used with negative values. If use a negative value on a MIDI track ( to adjust for delayed MIDI notes), I recommend recording its MIDI output to a new MIDI track and using that instead (or removing the negative delay and nudging the notes in the clips back as needed). This is because when you use a negative delay on a MIDI track, the only way Live can do this is by delaying all the other tracks by the amount you set, and this creates other issues.
Shledge
I find USAMO fixes all of these problems, especially if you use multiple DAWs.
gruebleengourd
facklr wrote:
And latency can be Midi clock that is delayed,


This is not a correct understanding of midi clock, but it's understandable that there is some confusion.
First, the whole system is 'midi beat clock protocol' and the clock is just one part of that.

Midi clock is not a clock signal that advances the step of some sequence. It is one byte messages sent at regular intervals. The receive counts the messages, and averages them over a set time in order to derive the tempo the slave should follow. As such if the clock message is sent with latency, it makes no difference as the timing is derived from averaging over the period of number of messages, so it's delta not absolute time that matters.

There is another element to 'midi beat clock' protocol which is the sequence start message. If there is latency with this then sequences don's start on time. I presume this is what facklr is referring to with latent clock.

...

Other things. There is no way you are going to get sample accurate midi clock messages unless you use some kind of audio->midi or otherwise buffered protocol. The most accurate internal times you can get for generating clock on modern OS os ~ 5 micro seconds. so at 96K you'd have to keep jitter below 5 microseconds to ensure that it's 'sample accurate' timing and the only way you will be able to do that with any kind of serial port out of the computer is to have it buffered. Using an audio to midi device like the USAMO keeps this 'relatively simple' as your audio and midi buffers will be the same size and you don't have to worry about aligning those.
matthewjuran
What’s the reason for a sample accurate clock? I assume up to a few milliseconds isn’t perceptible.
processing
Have had success with Bitwig using Ableton Link for Sync. External MIDI running in Bitwig and Audio/Samples/EFX in Ableton. Much tighter than standard MIDI sync if only using Ableton.

Running Bitwig Studio 8 but has limitation for only one external hardware device. Workflow wise still not there though. Can't drag n drop MIDI between the two (you can import MIDI etc but if you've got a huge project this is not good enough).

Looking for a stripped down sequencer with Ableton Link or a Hardware MIDI device with Ableton Link integration that can do 16 MIDI IN/OUT.
Rex Coil 7
matthewjuran wrote:
What’s the reason for a sample accurate clock? I assume up to a few milliseconds isn’t perceptible.
You're correct, it is not within our perception.

However ......

... Think of timing latency like a motorcycle race. I may only be turning laps faster than you are by one hundredth of a second ... less than the time passage of the snap of your fingers. But after one hundred laps I am now a full second ahead of you.

ON THE MIDI LATENCY ISSUE:
What if an external device were the time keeper? In other words, make Ableton a ~slave device~ rather than the master?

And use as many parallel MIDI paths as possible, use as few series MIDI paths as possible.

And use the "good practices" of keeping all MIDI cables as absolutely short as possible.

Another thing ... instead of MIDI sequences that are several minutes long, what of making them shorter ... with the master device doing some strategically well planned starts and stops along the way to more or less "reset" the zero point where everything is aligned again? With a little clever writing this could be accomplished.

Rather than (let's say) one six minute long MIDI sequence, instead break it up into three 2 minute long sequences. If done thoughtfully, the listener would never be aware of the tactic.

I'm just trying to help.

seriously, i just don't get it
MUFF WIGGLER Forum Index -> Music Software  
Page 1 of 1
Powered by phpBB © phpBB Group