Scary thread about Live on KVR - please address!
OK Nico - I think I understand the nature of your test.
I have re-read your previous post and understand why you have put it like you have.
However - I still believe you are looking at this in a fundamentally different way than I am.
In your example - what you have done is set up an example of a MIDI file representing a live 'player'. Thus you have SHIFTED the MIDI track according to the system latency BEFORE recording the MIDI into other tracks. This represents NOT THE RECORDING OF THE MIDI PLAYING but the recording of the player tying to play what he HEARS in time with the Ableton drum beat/metronome.
Do you see this is where we are at loggerheads?
In the above post I was stating that Ableton does not record what you play via MIDI - it records what you play then shifts it back. You have counter argued by saying yes it does - you need to SHIFT the MIDI track to emulate a player who is attempting to latency compensate with his playing.
Do you see it is the same thing - but you are arguing it the other way around?
You have created a complicated example of showing this - when I can show my example with just 2 tracks of MIDI.
Create 2 tracks - monitor 1 and set monitor OFF for the other.
Go to the arrange page and arm both tracks - hitting ANY MIDI device to record the input.
You will see that the track set to monitor OFF is ahead of the track set to monitor. However - it is the track set to OFF that represents what YOU ACTUALLY PLAYED. Ableton has then simply shifted the monitored track back according to the system latency.
The reason why we are arguing over this is because of a different way of interpreting the idea/concept of PLAYING.
For me PLAYING is HITTING THE DRUMPAD/KEYBOARD.
For you PLAYING is THE SOUND COMING OUT OF THE SYSTEM = what Ableton records as MIDI.
The difference between the above being the overall system latency!
The way you interpret this simply depends on what you consider as PLAYING. Whether it is the physical hitting of keys - or the sound that comes out of the speakers. Ultimately it is a combination of both. And that combination includes our old friend Mr S Latency.
However - in other DAWs they dont record delay compensation - as MIDI messages being played into the system have very very little latency. They record MIDI in and then adjust delay compensation on playback.
This is a paradigm that I think doesnt work so well with Live - as it is based on a concept of interrupted flow - which is not something Live can do - as far as I can tell....being the 'Live' instrument it is.
So anyways - do you see how we are getting confused with eachother? In that I view PLAYING as hitting keys - and you are saying PLAYING is HEARING AUDIO coming out when monitoring? Like I said - I guess its a combination of the two. But as far as I can tell - Live records the 'hitting of keys' and then shifts them BACKWARDS to represent the SOUND coming out of the speakers in the amount of the overall system latency.
You were saying that Live shifts the notes FORWARDS. This is what I dont agree with. Relative to the track recorded without monitoring Live moves the notes backwards.
In your example you negated this backwards shifting on the part of Live by manually shifting forwards the MIDI track = you ended up showing notes instead of in time and behind, in front and in time....
I understand that manual shift was to represent the player accounting for latency via adjusting his playing. We could go round and round....
I personally still believe my way of representing it is slightly more accurate - however I am open to debating it further especially if I am missing something.
Here is how I see it:
When record monitoring MIDI software instruments, Ableton Live records MIDI notes and then shifts them back according to system/plugin latency. This is to represent what is heard through the speakers as opposed to what is directly played on the MIDI keyboard or Pad. This is because MIDI notes should be played actually infront of time to manually account for the system latency within Live. Thus on playback Live delays the notes to represent what was heard (when the player was trying to play the output sound in time) rather than what was directly played on the MIDI instrument.
This allows Live to remain constantly in sync with 'live playing' within a latent software environment when monitoring through this environment. Live uses this method which is different to common DAW methods due to Lives 'Live' concept - where juggling plugin and system latency is managed in the whole system on playback AND recording. Standard DAWs use a different management system that does not account for all latencies - although this method does not induce a MIDI recording delay. If you feel it is essential to record softsynth MIDI without Lives MIDI delay you can record into an unmonitored MIDI track and shift that MIDI recording into a softsynth track for playback
HOWEVER IT IS PLANNED TO GIVE USER THE OPTION TO SELECT THIS MIDI DELAY BEHAVIOUR
He he - I added that last bit in hope
OK well - thats my humble interpretation....like I said - if I am missing something please let me know...I am genuinely not intending to be difficult - just trying to clarify Abletons functioning in my head. It is only if I feel confident that I will upgrade from Live 6 to 8 and take a large amount of my work there from Logic...so we are not just doing this for the sake of it...
Thanks
I have re-read your previous post and understand why you have put it like you have.
However - I still believe you are looking at this in a fundamentally different way than I am.
In your example - what you have done is set up an example of a MIDI file representing a live 'player'. Thus you have SHIFTED the MIDI track according to the system latency BEFORE recording the MIDI into other tracks. This represents NOT THE RECORDING OF THE MIDI PLAYING but the recording of the player tying to play what he HEARS in time with the Ableton drum beat/metronome.
Do you see this is where we are at loggerheads?
In the above post I was stating that Ableton does not record what you play via MIDI - it records what you play then shifts it back. You have counter argued by saying yes it does - you need to SHIFT the MIDI track to emulate a player who is attempting to latency compensate with his playing.
Do you see it is the same thing - but you are arguing it the other way around?
You have created a complicated example of showing this - when I can show my example with just 2 tracks of MIDI.
Create 2 tracks - monitor 1 and set monitor OFF for the other.
Go to the arrange page and arm both tracks - hitting ANY MIDI device to record the input.
You will see that the track set to monitor OFF is ahead of the track set to monitor. However - it is the track set to OFF that represents what YOU ACTUALLY PLAYED. Ableton has then simply shifted the monitored track back according to the system latency.
The reason why we are arguing over this is because of a different way of interpreting the idea/concept of PLAYING.
For me PLAYING is HITTING THE DRUMPAD/KEYBOARD.
For you PLAYING is THE SOUND COMING OUT OF THE SYSTEM = what Ableton records as MIDI.
The difference between the above being the overall system latency!
The way you interpret this simply depends on what you consider as PLAYING. Whether it is the physical hitting of keys - or the sound that comes out of the speakers. Ultimately it is a combination of both. And that combination includes our old friend Mr S Latency.
However - in other DAWs they dont record delay compensation - as MIDI messages being played into the system have very very little latency. They record MIDI in and then adjust delay compensation on playback.
This is a paradigm that I think doesnt work so well with Live - as it is based on a concept of interrupted flow - which is not something Live can do - as far as I can tell....being the 'Live' instrument it is.
So anyways - do you see how we are getting confused with eachother? In that I view PLAYING as hitting keys - and you are saying PLAYING is HEARING AUDIO coming out when monitoring? Like I said - I guess its a combination of the two. But as far as I can tell - Live records the 'hitting of keys' and then shifts them BACKWARDS to represent the SOUND coming out of the speakers in the amount of the overall system latency.
You were saying that Live shifts the notes FORWARDS. This is what I dont agree with. Relative to the track recorded without monitoring Live moves the notes backwards.
In your example you negated this backwards shifting on the part of Live by manually shifting forwards the MIDI track = you ended up showing notes instead of in time and behind, in front and in time....
I understand that manual shift was to represent the player accounting for latency via adjusting his playing. We could go round and round....
I personally still believe my way of representing it is slightly more accurate - however I am open to debating it further especially if I am missing something.
Here is how I see it:
When record monitoring MIDI software instruments, Ableton Live records MIDI notes and then shifts them back according to system/plugin latency. This is to represent what is heard through the speakers as opposed to what is directly played on the MIDI keyboard or Pad. This is because MIDI notes should be played actually infront of time to manually account for the system latency within Live. Thus on playback Live delays the notes to represent what was heard (when the player was trying to play the output sound in time) rather than what was directly played on the MIDI instrument.
This allows Live to remain constantly in sync with 'live playing' within a latent software environment when monitoring through this environment. Live uses this method which is different to common DAW methods due to Lives 'Live' concept - where juggling plugin and system latency is managed in the whole system on playback AND recording. Standard DAWs use a different management system that does not account for all latencies - although this method does not induce a MIDI recording delay. If you feel it is essential to record softsynth MIDI without Lives MIDI delay you can record into an unmonitored MIDI track and shift that MIDI recording into a softsynth track for playback
HOWEVER IT IS PLANNED TO GIVE USER THE OPTION TO SELECT THIS MIDI DELAY BEHAVIOUR
He he - I added that last bit in hope
OK well - thats my humble interpretation....like I said - if I am missing something please let me know...I am genuinely not intending to be difficult - just trying to clarify Abletons functioning in my head. It is only if I feel confident that I will upgrade from Live 6 to 8 and take a large amount of my work there from Logic...so we are not just doing this for the sake of it...
Thanks
-
rhythminmind
- Posts: 333
- Joined: Fri Aug 13, 2004 6:34 pm
- Location: Los Angeles
- Contact:
I'm on the same page as SWAN808
In your example you manually compensate for Lives offset with monitored tracks. This now shifts the unmonitored input that was accurate in the 1st place forward.
I would be fine with this if the offset (negative delay) was consistent every time i wanted to record. It's not. Every time you add a plugin/VI with different latency time (example zebra, reverb, or change my buffers) I would need to manually find a different offset every time i wanted to record. That method of workflow drove me crazy. Hence why i use 2 different DAW's on 2 different systems.
SWAN is correct about the real issue. What we consider PLAYED. What i physically do with like hitting a drum, key, or plucking a string at that moment in time is what i played. Not a delayed output of a computer.
In your example you manually compensate for Lives offset with monitored tracks. This now shifts the unmonitored input that was accurate in the 1st place forward.
I would be fine with this if the offset (negative delay) was consistent every time i wanted to record. It's not. Every time you add a plugin/VI with different latency time (example zebra, reverb, or change my buffers) I would need to manually find a different offset every time i wanted to record. That method of workflow drove me crazy. Hence why i use 2 different DAW's on 2 different systems.
SWAN is correct about the real issue. What we consider PLAYED. What i physically do with like hitting a drum, key, or plucking a string at that moment in time is what i played. Not a delayed output of a computer.
Last edited by rhythminmind on Thu Jan 29, 2009 3:05 pm, edited 2 times in total.
http://rhythminmind.net | http://signaltonoize.com | http://popsound.com

"Any experiment of interest in life will be carried out at your own expense."

"Any experiment of interest in life will be carried out at your own expense."
-
gurumonkey
- Posts: 355
- Joined: Sun Dec 30, 2007 3:28 am
- Location: Cleveland, Oh
i'm with you on that.forge wrote: so for example, you need ultra low latency to play guitar, then temporarily have only the absolutely essential tracks and functions playing to save CPU so you can set the buffer size as low as possible to give you the lowest latency possible, record your guitar, then when you have recorded the part go back to how you need it for production
likewise, if you are trying to record an instrument and the current settings don't cut it, just change it, then change it back!! none of this really takes long - about as long as plugging in the lead and just part of the process
likewise, if you need to set up another MIDI track - that's no big deal either and will probably only be the case for a small part of the entire production process
I have been using Live since v1, and came to it after using most other DAWs for a long time too, - some of them when it was just MIDI and the computers were so slow that there were REAL latency problems, and I can't say I've ever found this situation to be a problem with Live
I just don't see it that you have to set it one way and leave it that way forever
-
gurumonkey
- Posts: 355
- Joined: Sun Dec 30, 2007 3:28 am
- Location: Cleveland, Oh
woot. touch vs. sound. your brain needs to compensate for the latency heard in one of two ways (refer to my post on page 10).SWAN808 wrote: The reason why we are arguing over this is because of a different way of interpreting the idea/concept of PLAYING.
For me PLAYING is HITTING THE DRUMPAD/KEYBOARD.
For you PLAYING is THE SOUND COMING OUT OF THE SYSTEM = what Ableton records as MIDI.
Group A would have to mentally ignore the actual note being heard. so they shift that way to favor touch.
Group B needs to automatically adjust to play earlier.
Either way there is a mental shift. Now we're all mental.
SWAN808:
When [nis] says Live records exactly what to play, he is talking about the project time. You are looking at it without accounting for the latency involved during monitoring, hence you feel like Live is somehow delaying things after recording. Here's how I think about it, try it out (and bear with me, since at first it might sound like there's nothing different going on):
Think of the musical time in your project. I'll represent it with a line like this, the numbers being the downbeats (or any evenly spaced moments in the project time, but anyway):
1---2---3---4---5---6---7---8---9---10
What ever you actually hear when playing back the project is actually something that happened a tiny moment ago (determined by the playback latency). I recap: what ever you hear RIGHT NOW is something that the actual project already played slightly before it. That's quite obvious. So, using the line:
1---2-I-3---4---5---6---7---8---9---10
The project time is playing right in the middle of 2 and 3 (represented by the "I" character). What you are hearing, however, is something slightly before that moment, because the position perfectly in the middle of 2 and 3 hasn't sounded yet. The important thing is, the project is already at that position.
So, what you are actually hearing right now is something like this (exaggerated, of course):
1---2I--3---4---5---6---7---8---9---10
Here's the catch: if you're recording MIDI and you have monitoring on, Live records it at exactly where you played it according to the project time. In other words, you are hearing the position 2I--3 at the exact moment you hit the key, and the note will be recorded at the position the project is playing at that exact moment, 2-I-3.
There is no mysterious delay introduced to the note after you have recorded it. It is right where you played it. Thus, if you're accustomed to playing by what you hear, you will naturally hit the key when you're hearing 2I--3, for a note you want to sound at 2-I-3. As the project time is already at 2-I-3 when you hit the key, it gets recorded at the correct place, and when the recording is played back, it is in time with the rest of your project.
This is somewhat simplified, as plugins introduce their individual latency (hence you can see that people think different instruments have their MIDI notes "delayed after recording" for different amounts according to their overall latency), but I think you get the idea. What you play is what you get, in project time.
Important disclaimer: I would very much like to keep recording exactly like it's working right now, please don't take it away. Add an option to shift the notes after recording so that the user can determine if it's desired or not. It doesn't matter whether someone (Ableton or someone else) thinks it's the "wrong" way to record; it isn't, it's just different, so it would be nice to implement it for those who find the current method not working for their personal playing style.
When [nis] says Live records exactly what to play, he is talking about the project time. You are looking at it without accounting for the latency involved during monitoring, hence you feel like Live is somehow delaying things after recording. Here's how I think about it, try it out (and bear with me, since at first it might sound like there's nothing different going on):
Think of the musical time in your project. I'll represent it with a line like this, the numbers being the downbeats (or any evenly spaced moments in the project time, but anyway):
1---2---3---4---5---6---7---8---9---10
What ever you actually hear when playing back the project is actually something that happened a tiny moment ago (determined by the playback latency). I recap: what ever you hear RIGHT NOW is something that the actual project already played slightly before it. That's quite obvious. So, using the line:
1---2-I-3---4---5---6---7---8---9---10
The project time is playing right in the middle of 2 and 3 (represented by the "I" character). What you are hearing, however, is something slightly before that moment, because the position perfectly in the middle of 2 and 3 hasn't sounded yet. The important thing is, the project is already at that position.
So, what you are actually hearing right now is something like this (exaggerated, of course):
1---2I--3---4---5---6---7---8---9---10
Here's the catch: if you're recording MIDI and you have monitoring on, Live records it at exactly where you played it according to the project time. In other words, you are hearing the position 2I--3 at the exact moment you hit the key, and the note will be recorded at the position the project is playing at that exact moment, 2-I-3.
There is no mysterious delay introduced to the note after you have recorded it. It is right where you played it. Thus, if you're accustomed to playing by what you hear, you will naturally hit the key when you're hearing 2I--3, for a note you want to sound at 2-I-3. As the project time is already at 2-I-3 when you hit the key, it gets recorded at the correct place, and when the recording is played back, it is in time with the rest of your project.
This is somewhat simplified, as plugins introduce their individual latency (hence you can see that people think different instruments have their MIDI notes "delayed after recording" for different amounts according to their overall latency), but I think you get the idea. What you play is what you get, in project time.
Important disclaimer: I would very much like to keep recording exactly like it's working right now, please don't take it away. Add an option to shift the notes after recording so that the user can determine if it's desired or not. It doesn't matter whether someone (Ableton or someone else) thinks it's the "wrong" way to record; it isn't, it's just different, so it would be nice to implement it for those who find the current method not working for their personal playing style.
rhythminmind wrote: I would be fine with this if the offset (negative delay) was consistent every time i wanted to record. It's not. Every time you add a plugin/VI with different latency time (example zebra, reverb, or change my buffers) I would need to manually find a different offset every time i wanted to record. That method of workflow drove me crazy. Hence why i use 2 different DAW's on 2 different systems.
SWAN is correct about the real issue. What we consider PLAYED. What i physically do with like hitting a drum, key, or plucking a string at that moment in time is what i played. Not a delayed output of a computer.
+1
how can you even think of multitracking with changing delays? I mean, add a plugin, then record with a different offset???? I do record, align, record, allign, for every track now
If you input midi with the mouse and have drums hits exactly on the beat, y
Yes Nokatus - you are correct - Live is shifting back the recorded MIDI events to fit onto its timeline. This is relying on the player playing according to the INSTRUMENTAL and system latency the player was dealing with on recording. However this is different to the latency you are talking about on playback. We are talking about INSTRUMENTAL latency occuring when playing + system latency. You are merely referring to audio playback latency. The audio playback latency + the latency of a player hitting a MIDI note going into Ableton (and being recorded) is tiny compared to the INSTRUMENTAL plugin latency - or the 'feel' of the player hitting the keys vs sound coming out of Ableton. MIDI data travels very fast. And humans can react very fast to audio played back with ,10ms latency. It is the latency of the softsynth + and FX plugins producing the SOUNDS that is important here that you are not referring to in your timeline model.Nokatus wrote:SWAN808:
When [nis] says Live records exactly what to play, he is talking about the project time. You are looking at it without accounting for the latency involved during monitoring, hence you feel like Live is somehow delaying things after recording.
As I stated above it depends on whether you percieve the striking of the instrument as playing or the correct position on Lives timeline (dependant on instrumentalist playing with self-delay compensation) as 'playing'.
Either way - Live seems to shift the MIDI event backwards in time to fit onto its timeline.
If as you say this represents the delay in Live playing the sound and it being heard and reacted to by the player - then how would you explain the nature and length of the MIDI events recorded when Monitoring is set to off? Is this the player predicting the future audio?! Where is this anomalous futuristic MIDI data coming from!?
And why on earth would Live create a MIDI recording that is set FORWARD in time?
The reality is that Live captures the MIDI events and shifts them backwards to fit into its timeline. This only works if the player is playing to manually adjust the intrumental and system latency. The reason this is an issue is that many people prefer to play and record instruments according to when they strike the instrument - the result of recording with monitoring off and recording in all other DAWs. Ableton do not seem interested in catering to these people. As I said above.
Last edited by SWAN808 on Thu Jan 29, 2009 4:01 pm, edited 1 time in total.
SWAN808 wrote:If as you say this represents the delay in Live playing the sound and it being heard and reacted to by the player - then how would you explain the nature and length of the MIDI events recorded when Monitoring is set to off? Is this the player predicting the future audio?! Where is this anomalous futuristic MIDI data coming from!?
[nis] wrote:2. If the monitor switch is OFF, then Live records the note and shifts it ahead of time (by the amount of your audio output latency).
I'm very much in the category of "PLAYING is THE SOUND" myselfgurumonkey wrote:woot. touch vs. sound. your brain needs to compensate for the latency heard in one of two ways (refer to my post on page 10).SWAN808 wrote: The reason why we are arguing over this is because of a different way of interpreting the idea/concept of PLAYING.
For me PLAYING is HITTING THE DRUMPAD/KEYBOARD.
For you PLAYING is THE SOUND COMING OUT OF THE SYSTEM = what Ableton records as MIDI.
Group A would have to mentally ignore the actual note being heard. so they shift that way to favor touch.
Group B needs to automatically adjust to play earlier.
Either way there is a mental shift. Now we're all mental.
On a side note, and even slightly off-topic, it's funny how well people compensate for latency with physical objects. Have you ever tried to bounce a ball (tennis ball, football, anything) against a wall while music is playing, and make it hit the wall so that the impact sounds at every downbeat? Then, vary your distance from the wall while you keep throwing. I find that you will automatically adjust the throw vs. impact latency so that you keep much better time with the tune than you might think beforehand.
SWAN808 wrote:However this is different to the latency you are talking about on playback. We are talking about INSTRUMENTAL latency occuring when playing + system latency. You are merely referring to audio playback latency.
The so-called "timeline model"Nokatus wrote:This is somewhat simplified, as plugins introduce their individual latency (hence you can see that people think different instruments have their MIDI notes "delayed after recording" for different amounts according to their overall latency), but I think you get the idea. What you play is what you get, in project time.
...and this is true:SWAN808 wrote:The reality is that Live captures the MIDI events and shifts them backwards to fit into its timeline.
[nis] wrote:1. If the MIDI track's monitor switch is set to AUTO / IN, Live records the note exactly where you played it.
...but you're looking at it from a skewed perspective. Or [edit] more kindly, a different perspective, even though there is no "shifting backwards" after capturing the MIDI events.
[nis] wrote:1. If the MIDI track's monitor switch is set to AUTO / IN, Live records the note exactly where you played it.
False. Actually, If the MIDI track's monitor switch is set to AUTO / IN, Live records the note exactly where it sounded, not where you played it.
This is most obivous when your dealing with drums. In real life drums have minimal "latency" as opposed to you standing far away from a guitar amp or playing a piano. Therefore, as a drummer, I'm very sensitive to this type of thing when I'm recording my MIDI drum playing while monitoring is set to "ON" in Live.
Last edited by jbone1313 on Thu Jan 29, 2009 4:18 pm, edited 1 time in total.
gurumonkey wrote:the real issue is whether a person considers Touch or Sound to be more important.
I agree...this sums it up nicely.
Again, I think it has a lot to do with live performance. In a live setting, you have to go by Sound. The audience could care less about Touch. However, Live has become more than just live performance software, solots of people are using it just in studios where Touch is just as valid as Sound. Therefore, some option to change Live's behavior would be good to have.