MIDI delay recording

UHE is now closed. For Technical Support from Ableton, please go here: http://www.ableton.com/support
Locked
iain.morland
Posts: 111
Joined: Thu Dec 08, 2005 9:57 pm
Contact:

Post by iain.morland » Tue Dec 19, 2006 3:56 pm

As you see I got latency in my idea flows... my understanding took soooo long! I should switch Brain Monitor Off.
:mrgreen:
Same here.

tylenol
Posts: 564
Joined: Wed Aug 16, 2006 2:31 am
Location: Baltimore, MD
Contact:

Post by tylenol » Tue Dec 19, 2006 7:08 pm

popslut wrote: With all other DAWs and midi sequencers, midi latency is minimal and virtually undetectable. Midi is passed through to external gear without adding audio latency and midi data recorded is placed in the sequence exactly as played - as you would expect.
But, at least the way this question was originally raised (and the way I originally tested it) the latency in question is that of the softsynth (I don't use external synths so I'm ignoring that). It is not midi latency but processing latency in the plugin. This latency is absolutely unavoidable, at least by the host. Hence my question about what other DAWs do?

popslut
Posts: 1056
Joined: Sun Oct 22, 2006 4:58 pm

Post by popslut » Tue Dec 19, 2006 11:51 pm

tylenol wrote:
popslut wrote: With all other DAWs and midi sequencers, midi latency is minimal and virtually undetectable. Midi is passed through to external gear without adding audio latency and midi data recorded is placed in the sequence exactly as played - as you would expect.
But, at least the way this question was originally raised (and the way I originally tested it) the latency in question is that of the softsynth (I don't use external synths so I'm ignoring that). It is not midi latency but processing latency in the plugin. This latency is absolutely unavoidable, at least by the host. Hence my question about what other DAWs do?
But with that paragraph of mine you quoted I'm talking specifically about external midi gear.


A softsynth is not a "midi" device per se - it is an audio device, reliant upon the host CPU and the soundcard to function and subject to the processing delay inherent in the system. This is the case with all DAWs.

With external midi gear this is not the case. ONLY Ableton Live introduces system latency into external midi gear triggering and the system of monitoring modes means this cannot be avoided without very clumsy workarounds.

As you don't use external gear you'll just have to take my word for it. To you, it's a non-issue but to those of us with racks of external gear it's a total pain in the arse.

tylenol
Posts: 564
Joined: Wed Aug 16, 2006 2:31 am
Location: Baltimore, MD
Contact:

Post by tylenol » Wed Dec 20, 2006 2:41 am

popslut wrote:
tylenol wrote:
popslut wrote: With all other DAWs and midi sequencers, midi latency is minimal and virtually undetectable. Midi is passed through to external gear without adding audio latency and midi data recorded is placed in the sequence exactly as played - as you would expect.
But, at least the way this question was originally raised (and the way I originally tested it) the latency in question is that of the softsynth (I don't use external synths so I'm ignoring that). It is not midi latency but processing latency in the plugin. This latency is absolutely unavoidable, at least by the host. Hence my question about what other DAWs do?
But with that paragraph of mine you quoted I'm talking specifically about external midi gear.
Ok, sorry, I think I just misunderstood what you were saying.

billpillmore
Posts: 8
Joined: Sun Nov 09, 2003 10:16 pm

Post by billpillmore » Wed Dec 20, 2006 5:25 am

I also reproduced this. How do you know which file is the correct one? The monitored one or the non-monitored one?
Bill

popslut
Posts: 1056
Joined: Sun Oct 22, 2006 4:58 pm

Post by popslut » Wed Dec 20, 2006 11:23 am

billpillmore wrote:I also reproduced this. How do you know which file is the correct one? The monitored one or the non-monitored one?
Bill
The monitored one recorded what you heard.

The non-monitored one recorded what you played.

Confusing huh?

murphf
Posts: 54
Joined: Thu Sep 02, 2004 9:37 am

Post by murphf » Wed Dec 20, 2006 11:47 am

I would like to add to that very true observation, and to make it even more complicated:

The monitored one, the one that is set to 'auto', recorded what you heard. If you used a softsynth.

But perhaps not if you used external gear.

That depends on whether 'auto' delays the midi notes while recording, so they reach the external synth with the audio card's latency while you are playing. If there is no delay (and there shouldn't be any), 'auto' does not record what you heard while playing a hardware synth. But places the midi notes too far back in time (if i understand it correctly).*

So if there is no delay in the above sense, I guess external gear should be recorded on a track that is set to 'off', for the timing to be as you heard it when you played.

The non-monitored one, the one that is set to 'off', recorded what you played.

* For midi recordings of softsynths to play what you heard, the notes have to be moved back to take account of the latency that existed while you played. Delay compensation kicks in while playing the recorded midi tracks. Therefore, the noted are played exactly where they are on the time scale while playing them back.
Last edited by murphf on Wed Dec 20, 2006 12:38 pm, edited 2 times in total.

popslut
Posts: 1056
Joined: Sun Oct 22, 2006 4:58 pm

Post by popslut » Wed Dec 20, 2006 12:28 pm

murphf wrote: But perhaps not if you used external gear.
No - that is exactly what happens with external gear. I cannot for the life of me work out why, but it does.


That depends on whether 'auto' delays the midi notes while recording, so they reach the external synth with the audio card's latency. If there is no delay (and there shouldn't be any), 'auto' does not record what you heard while playing a hardware synth.
But that is exactly what it does. For some absolutlely unfathomable reason, Ableton treats external midi synths exactly like VSTis - adding the same latency and the same ridiculous monitoring "logic".
I guess external gear should be recorded on a track that is set to 'off', for the timing to be as you heard it when you played.
Yes, but how are you supposed to hear what you are playing if monitoring [on your midi track] is set to "off"?

In order for you to be able to hear what you are playing [for Ableton to pass the midi data through to your external synth] you need to have your midi track set to "on/auto" - but this adds latency. If you set it to "off" your midi data gets recorded in the right place [as you played it] but you can't hear it to play it in the first place. Arrrghg!!!

The workaround is to create two midi tracks - one set to "off" and another set to the same midi in/out as the first and set to "on/auto". This way, you still have to play with the latency but at least your data gets recorded in the right place.

Or you could use something like Midi-Ox to split the midi signal and send one side straight to your synth and one side to Live for recording.

And how ridiculous is that?

murphf
Posts: 54
Joined: Thu Sep 02, 2004 9:37 am

Post by murphf » Wed Dec 20, 2006 1:23 pm

popslut wrote:
murphf wrote: And how ridiculous is that?
Very.

I just did a test, set my soundcard's latency to its max value, and you are correct (it seemed unlikely to me), but in the 'auto' and the 'in' setting while you play, Live passes on the notes you hit on your keyboard to external synths with the soundcard's latency.

As I usually have my card at 128 ms [edit: I mean samples=about 3 ms], I didn't notice before. (It does mean, however, that 'auto' records what you hear with hardware synths as well - but with unnecessary latency added while you play.)

I think this is the biggest problem and showstopper. That you have to arm two tracks to record is a hassle, but I could live that. But it is impossible to within Live make sure played midi notes reach your synth without unnecessary latency. There are no work arounds within Live. Indeed, your Midi-ox trick could help, but I find that too much of a hassle.

Now for some feature requests/possible solutions:

1. Let midi pass through Live to hardware midi ports unhindered in any monitoring setting, so no unnecessary latency is added. As you have to set the port in the midi track, it seems Live could 'know' when midi is routed to a hardware port, and 'act' accordingly.

The rule would be: if no softstnth is inserted and the midi is routed to a hardware midi port listed in the preferences, no latency is added.

The same mechanism could perhaps be applied for recording notes if monitoring is set to 'auto'. If a hardware port is selected (instead of a softsynth) while recording, do not move the recorded notes back in time.

In my view, this would be the 'Ableton-worthy' solution. The one that helps the work flow.

2. But perhaps the quickest and easiest fix would be to make sure that midi is passed through live to hardware midi ports in the 'off' setting, of course, without the sound card's latency.

It would be nice if this could be added in the next release.
Last edited by murphf on Wed Dec 20, 2006 9:07 pm, edited 2 times in total.

Synthbuilder
Posts: 523
Joined: Thu Nov 10, 2005 8:42 am
Location: Cumbria, UK
Contact:

Post by Synthbuilder » Wed Dec 20, 2006 8:38 pm

Yes, just tested this on 5.2.2 and it is indeed true. I have been thinking that it was just the slowness of USB and whatever layer that USB uses to talk to the software.

But Live does indeed delay the midi output to your external instruments by the latency of your soundcard. One would expect this in playback but not in record mode. midi gear has enough delays due to the USB interface and midi itself, we don't need another source of delay.

Please let midi through undelayed.

citrik
Posts: 49
Joined: Wed Feb 27, 2002 11:40 pm
Location: SF - Berlin

Post by citrik » Tue Jan 02, 2007 8:28 am

Sorry If I'm missing a post or a line in the release notes, but does 6.0.3 fix this issue?
-CitrikSystems-
-minimaltechno-

iain.morland
Posts: 111
Joined: Thu Dec 08, 2005 9:57 pm
Contact:

Post by iain.morland » Tue Jan 02, 2007 12:04 pm

6.0.3 is the same.

In response to a couple of emails I sent to tech support, Ableton said:
The bug that was fixed between 5.0.2 and 5.0.3 was that Live was compensating too much while monitoring was off, so the notes were currently earlier than played, the rest is unchanged and Live 6 works as 5.2.2 was.

WaveRider
Posts: 627
Joined: Mon May 16, 2005 2:33 pm
Location: Montreal

Post by WaveRider » Tue Jan 02, 2007 4:53 pm

popslut wrote: Yes, but how are you supposed to hear what you are playing if monitoring [on your midi track] is set to "off"?
well that is possible(and common) if I play a midi synth with local set to ON. (that means when the synth keys trigger the synth engine directly, meaning you do not have to loop midi thru live)

I do not use midi gear anymore myself but if I would have any keyboard synth that is how I would do it.

WaveRider
Posts: 627
Joined: Mon May 16, 2005 2:33 pm
Location: Montreal

Post by WaveRider » Tue Jan 02, 2007 4:58 pm

popslut wrote: If you want them to appear where you played them - you have to set it to "off".
well i prefer having the notes playing the same way I heard them when recording.... why would you want them not to play like you heard them when recording?

popslut
Posts: 1056
Joined: Sun Oct 22, 2006 4:58 pm

Post by popslut » Tue Jan 02, 2007 8:46 pm

WaveRider wrote:
popslut wrote: If you want them to appear where you played them - you have to set it to "off".
well i prefer having the notes playing the same way I heard them when recording.... why would you want them not to play like you heard them when recording?
See above.

Locked