Amaury wrote:The thing is: we are talking about monitoring an instrument right?
Yes.
So when you play it, it sounds later than the played notes on the keyboard, because of the latency it introduces (and that is not avoidable), right?
Right.
So, while recording the instrument, how will you play the notes?
I will listen to the other instruments or metronome I am playing along with, those sounds will hit my ears and trigger my brain to hit keys on my keyboard. If I feel the groove and am fairly playing well, my fingers will strike the keys simultaneously with the beat of the music I am hearing. Subsequently, the softsynth I'm playing will make sound that corresponds to my keyboard inputs, and hopefully the latency is low enough that it does not substantially affect the feel of what I am playing.
On the grid/metronome?
Yes.
In that case, you'll hear the sound late, and you won't hear anything that makes sense musically while you record.
Using real world latencies of 5-6ms, what I hear will make perfect sense. Using my extreme example of 1000ms, no, then it would not make sense. That example was only to make the point that regardless of the output latency of the synth, the notes should get recorded where I hit the keys (on the grid). The output latency is unavoidable and can only be minimized. But the notes can be recorded in the right place. My fingers are going to hit the keys on the grid. If the softsynth is latent, or has a slow attack (like a soft pad), I'm still going to play on the grid, or adapt my playing to the feel of the instruments I'm listening to. I'm not going to adapt to the latency of the softsynth I'm performing with.
So what I was saying is that you will have a tendency to play the notes early, and they will actually be recorded ON time, on the grid.
This is where we will have to agree to disagree.
First, if I play the notes early, then I want to see them on the timeline where I played them: EARLY.
Second, if I feel the latency so much that I am trying to play in front of the other instruments I am playing along with, then I am hearing too much latency, I'm uncomfortable, and I'm probably going to suck badly, and end up quantizing the whole thing. However, if the latency is 5-6ms, I can fall into the pocket of the instruments I'm listening to and just hit the keys at the right time - on the grid. Not early. I'm telling you from years of experience that I don't do that, and other players I know don't do that, and if they do - it's because the latency is too high and then they just stop playing and complain about it. Nobody wants to try to play on top of the beat to compensate for output latency. That sucks. We just try to minimize latency until its unnoticeable.
So, while recording, you play a bit early and the sound is on time.
Please set that theory aside for a moment because I fundamentally disagree with it...
While playing back, the notes were recorded later than you played them,
Here you completely lost me. Please clarify this one point. Why are you saying the notes recorded LATER than when I played them? I thought you were saying I was playing in front of the grid (EARLY)? If I played relative to the other instruments I was hearing, why doesn't Live place my notes on the timeline relative to the other instruments I was listening to (ie, on the grid)? This is the primary point we are debating here.
means on the grid, and at least the sound is as much on time as you heard it wile recording. Does this make sense?
No. It doesn't make sense to me to place notes on the timeline in a place that does not represent where I heard them. If I play a note at exactly Bar 1/beat 1, that is exactly where I want to see the note on the timeline, even if the softsynth I'm triggering doesn't make a sound for another 24 hours.
Again, if we are talking about real world latencies of 5-6ms here, the output latency is not all that relevant. The way you are talking about latency and the player compensating and playing "early"...that's like saying this: if the computer system had zero latency, but sounds takes 6ms to travel from my speakers to my ears, I'm going to play 6ms early to compensate for the "speed of sound" latency. No, I'm not going to do that. I'm going to hit the keys when the sounds I'm playing along with hit my ears, and fall into the groove and predict that each beat of sound will arrive at regular intervals.
Here's another way to debate your point about a player adapting and playing early: symphony orchestras. They're big, and spread out, and the sounds is coming from all directions across a big stage. If everybody was trying to adapt to everybody else in an orchestra and play a little early to compensate for the speed of sound latency across a large stage, then it would be a mess. So instead, everybody just looks at a conductor waving a stick and plays along with him regardless of what they are hearing. Now translate that analogy to Live and a softsynth. The "conductor" is the metronome or instruments I am playing along with. The latency of the softsynth I am playing is the "big stage". I'm going to ignore the big stage and the late sound and just play along with the conductor. And because we're talking about only 5-6ms max, it's not going to feel different when I listen back. The exception would be drums - overdubbing kicks/snares etc, which requires sample accuracy to avoid flams and loose drum sounds. But that stuff we just quantize and pencil in manually and edit anyway to make it tight.
Re-read my earlier post with the example, I think it does make sense.
Sorry, I think it does not.
The point is to ensure that what you hear while you record is what you'll hear while playing back.
Which has nothing to do with where the notes are on the timeline. If they are placed on the muscially correct position on the timeline, and then Live uses delay compensation to delay the other tracks to account for the latency on the softsynth track we just recorded on, then everything will sound fine, while still displaying the notes in the correct place on the timeline. That is how it should work.
The latency of the recorded notes is only the latency of the instrument present on the track you are recording to, and eventually the effects present on that track and on the Master track. The overall set's latency is not present, the Delay Compensation (means the added latency of all devices in the set) is automatically shut off on the track you are recording to.
I agree with and understand all of that.
A discutable point is how the software could ensure the lowest possible latency? should Live shut off the effects on the track you are recording to and the Master track, for a lower latency?
It should be a user selectable option. In Pro Tools LE, you select "Low Latency monitoring" to auto-disable plugins in the monitor path while in record to minimize latency.
Again, if you perform in order to hear the sound where you want it, the notes will be placed where they have to
...no...they should be placed on the timeline where they were played relative to the other instruments/metronome that the muscian was performing with.
and the play back will sound as you performed.
...playback is a separate issue...delay compensation handles playing things back properly as I mentioned earlier. Once the notes are recorded, the software can compute the delay compensation and play everything correctly.
In Live, the recording is affected by the audio buffer though, if monitor is turned IN. That's a point that is looked at right now. I think that is what most of the people here are complaining about.
Yes. Including me.
So, I'm not defending the Live way at all, but we can't say all is wrong.
Yes, we can.

The way it is right now is wrong.
Other softwares may implement ways of reducing the latency for a more pleasant performance when monitoring a software instrument, but that's all.
Pro Tools does a lot more than that. As I said, timestamped MIDI at the input to the MIDI hardware interface, delay compensation of all signal paths to the output, even delay compensated synchronization with user-configurable offsets. It's very flexible and accurate.
To ensure the best experience, as advised with most software: use the lowest latency for your soundcard, using ASIO or Core Audio drivers, set the plugin latency same as audio buffer, or lower if possible, and record instruments without any effect on the track nor on the Master track.
Agreed.
Best,
Bryan