MIDI delay recording

UHE is now closed. For Technical Support from Ableton, please go here: http://www.ableton.com/support
Locked
Amaury
Posts: 5884
Joined: Mon Mar 20, 2006 6:59 pm
Location: Ableton Headquarters
Contact:

Post by Amaury » Thu May 31, 2007 2:03 pm

Nod wrote:That's been my finding too - however I don't think it's directly related to the issue raised in this particular thread. See:

http://www.ableton.com/forum/viewtopic.php?t=59800
Hi,

This issue is separate. It means that the CPU load influences some 'jitter'. This is also worked on.
Nod wrote:Even after going through every combination of settings I could find my v5 latency is still nowhere near as snappy as v4 :cry:
In Live 4, there was no 'delay compensation. Turn 'Delay Compensation' OFF, in Live 5 or 6, and you should get the same behaviour as in Live 4. Isn't it the case for you?

Regards,
Amaury
Ableton Product Team

firewire
Posts: 23
Joined: Mon May 28, 2007 9:36 pm

Post by firewire » Thu May 31, 2007 11:42 pm

Hi Amaury,
Trying to record midi so it sounds as it should, on time.

Do you truly not believe all the posting that has been mode on the subject ?

http://www.ableton.com/forum/viewtopic.php?t=65508
ASUS A8N-E, NVIDIA NForce4, AMD X2 4400+ Toledo Core, 3GB RAM, M-Audio Audiophile 2496, SATA x 2, Mackie HR824, MicroKorg, Cubase SX3 Ableton 6.

Nod
Posts: 781
Joined: Fri Jul 22, 2005 4:18 pm

Post by Nod » Thu May 31, 2007 11:50 pm

Amaury wrote:This issue is separate. It means that the CPU load influences some 'jitter'. This is also worked on.
Cheers Amaury - first time I've seen that acknowledged.
In Live 4, there was no 'delay compensation. Turn 'Delay Compensation' OFF, in Live 5 or 6, and you should get the same behaviour as in Live 4. Isn't it the case for you?
Thanks for the tip - I'll test this out asap. One further question, without hijacking the thread, if you have the time:

If you have, let's say, 10 Midi channels with VSTi and subsequent plugs all with their own inherent latency and want to add another track and lay down a part whilst listening, monitoring & recording accurately how can this be achieved when Delay Compensation is turned off?

jacob_ma
Posts: 58
Joined: Sat Oct 21, 2006 1:39 pm

Post by jacob_ma » Fri Jun 01, 2007 5:38 am

This is the most retarded thing about Live ever!! Let me make a few coments about this.

After I record a MIDI section It will be Out of Time as Live has shifted the MIDI data

WTF???

Live is the most powerful tool for tight audio on the plannet, but when it comes to MIDI it is puting it out of time on purpose.

Threre is no purpose recording MIDI whatsoever if its going to shift the sound out of time from when its recorded.

MIDI instruments have always had inherent delay, well before computers and DAWs. If musicians need to shift forward the data they can and do put pre-delay on tracks. Don't re-invent the wheel. My MPC has 3ms midi delay, my USB interface 8ms delay. I can easily at 12ms in my daw to make sure its occurs in time.

Live assumes that insted of Just playing along to other instruments, I also want' to monitor my own timing and make a comparison between my instrument and the other instruments as I go. Then I also have to note that when I hit the keys on a keyboard and the delay from when the sound plays. I then have to auto compinsate on the fly by seperating my "Physical" playing from the "Aural" playing insted of concentrating on simply Playing to the Beat.

Test 1: Clap your hands and make a tight beat.
Test 2: Create a Beat in your mind, repeat it over and over.
Which one was easier, tighter, and in time??? Let me guess the physical nature of clapping your hands!!!

This would be the most simple thing to correct in the universe, and a more logical implementation, requiring less calculations on behalf of live and giving users more flexibility with MIDI yet, it remains the same over two versions of Live.




WOW!!! I am never going to use Live for Midi recording!!!!

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

Post by iain.morland » Mon Jun 11, 2007 11:59 am

Hello again,

Still here and still trying to work around this issue! :roll:

Can I confirm - with monitoring ON, Live delays the midi recording by the total latency reported on the Audio tab? I.e. the audio input AND output latency...

...even though there's no audio input latency for MIDI data, right? :wink:

Also, I want to emphasize that I've been trying very hard to work with Live rather than against it. Rationally, I do understand the logic of Amaury's explanation. There is always some delay when playing an instrument because of the time sound takes to move through air. I grasp this point.

Now, I'm using a small 64 samples buffer at 44.1khz, and have been trying to retrain my ears while recording in order to play "in time" by Live's definition (which means playing early).

But it won't work. Taking off my rational cap and putting on my musician's cap, my fingers move in time to the beat of whatever I'm accompanying. Odd as it sounds, they don't move in time with the sound I'm generating. I've tried to do so, but this just doesn't happen.

I do wonder if Live's MIDI monitoring behavior was designed with the assumption that record quantize would be switched on. But this is obviously no good if you want to play with natural swing/groove.

Again, I would ask that an option be added to simply toggle this behavior on or off.

To clarify: I'm not asking to bend the laws of space-time and for the MIDI to playback earlier than the soundcard's output latency allows, but I am asking for the MIDI to be shifted accordingly after recording.

Live knows the amount by which it needs to be shifted so this should be simple.

I appreciate the request may sound counterintuitive to a programmer, but as a musician, this is an option I need.

Adding lots of negative track delays impacts on CPU (as described in the manual), so that's not an elegant workaround.

Finally, as I have previously stated, this "deal-breaker" issue has deterred me from upgrading from Live 5 to 6. :cry:

Nod
Posts: 781
Joined: Fri Jul 22, 2005 4:18 pm

Post by Nod » Tue Jun 12, 2007 9:01 pm

+1 on all the above points - especially Iain's last - I haven't upgraded from 5 either and, with genuine sadness, won't to any future version unless this is addressed. This is not a feature request but something intrinsic to music making and, afaik, has seemingly been carried over for several versions now. As I raised with Amaury in the other thread 'the MIDI note on messages, as one example, should be recorded in time exactly when they are recieved from the input - not after the program has rendered sound to the output because as outlined there will always be some delay.'

To draw a comparison, that many live instrument players will be familiar with, sometimes monitoring can be less than perfect, in some cases it can be downright non existent, but much of the time those with those with good chops can still pull off a good performance with all the tightness & feel intact. Ableton's position seems to be that you can either have monitoring, with an inaccurate recording of what you've played, or rely purely on those chops without monitoring at all - in other words those same worst set of conditions a player can hope to encounter.

Given the strength of the application, and the massive creative opportunities it offers, why should we have to suffer this hindrance to it's, and our, capabilities?

Amaury
Posts: 5884
Joined: Mon Mar 20, 2006 6:59 pm
Location: Ableton Headquarters
Contact:

Post by Amaury » Tue Jun 12, 2007 10:11 pm

iain.morland wrote:Also, I want to emphasize that I've been trying very hard to work with Live rather than against it. Rationally, I do understand the logic of Amaury's explanation. There is always some delay when playing an instrument because of the time sound takes to move through air. I grasp this point.

Now, I'm using a small 64 samples buffer at 44.1khz, and have been trying to retrain my ears while recording in order to play "in time" by Live's definition (which means playing early).

But it won't work.
Hi,

I'm not discussing the depth of the problem here, but I try to uderstand how it works for you: you say you have a latency of 64 samples (do you have lots of device on the track, or on the Master track, and is your plugin buffer size the same as the audio buffer size?).
What do you hear while playing? Do you listen to your performance? If so, do your finger hit the notes on time, and so do you hear the music delayed? If so, isn't it annoying, is it workable at all?

Sorry but I am really curious about that. I don't doubt your feeling, but I still can't, myself, hear the music wrong (late) and still play with any groove of my own. So what happens is my fingers adapt to what my brain wants to hear. This is my musician cap. Again, I'm not discussing the depth, and I understood your point. I'm just checking..
Nod wrote:As I raised with Amaury in the other thread 'the MIDI note on messages, as one example, should be recorded in time exactly when they are recieved from the input - not after the program has rendered sound to the output because as outlined there will always be some delay.'
And again, this is not true. There will be delay while monitoring, but there will be no delay on playback, thanks to Delay Compensation. Thus the current behaviour. It just ensures that you will hear the same while recording and while playing back.

It seems that some people don't like that, or don't like to 'listen to' what is played while recording, even though they 'hear' it. Do I get that right? Do we talk about the same thing?
Nod wrote:Ableton's position seems to be that you can either have monitoring, with an inaccurate recording of what you've played, or rely purely on those chops without monitoring at all - in other words those same worst set of conditions a player can hope to encounter.
I'll try to phrase better this one. Our position until now is:

- either you monitor the signal, so you hear it well, and play in order for the instrument you play to sound on time with the music. You listen to the playback, and you listen to what you are playing. Given that the instrument you use does not introduce a too big latency (otherwise it is simply impossible to play well), you should be able to play to the playback, as any musician do in real life.. soundwise. And if so, the way Live works ensures you get what you recorded, when you play it back. This is not entirely true in some other sequencers.

- Or you don't monitor, and you hit the keyboard with your finger, concentrating on the mechanical action of your fingers so they are 'in time' with the playback. Ears are not involved in that case.

Thanks for discussing and helping us understand your requirements. I feel it is important we all understand well what we are talking about, and I'd like to hear about other people, these who like to hear what is recorded, also.

Regards,
Amaury
Ableton Product Team

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

Post by iain.morland » Tue Jun 12, 2007 11:33 pm

Hello

Thanks Amaury for the detailed response.

Before I get back into the theory, let me give you a concrete example.

Yesterday I recorded a piano overdub on the end of my song Distance of a Touch (you can hear the complete song here). To do this in Live I had on one track an audio clip of a rough mix of the song. There were no FX on that track. There were no other tracks in this Live set.

On a MIDI track I opened Steinberg's The Grand and played along. (I was wearing headphones so there was no delay to the sound through the air!).

This is the version as recorded without any negative track delay added afterwards:

http://www.iainmorland.net/music/coda-no-sync.mp3

Something feels a bit weird.

And in this version the piano part has been given a negative track delay to the value of the latency reported in Live's audio tab:

http://www.iainmorland.net/music/coda-sync.mp3

In this version, the piano just feels right. At least to my ears.

Now, to answer your questions:
do you have lots of device on the track
No, just Steinberg's The Grand. no other processors.
or on the Master track
No, none
and is your plugin buffer size the same as the audio buffer size?.
yes it is.
What do you hear while playing? Do you listen to your performance? If so, do your finger hit the notes on time, and so do you hear the music delayed? If so, isn't it annoying, is it workable at all?
With apologies for sounding a bit obscure, I can only tell you my experience.

In my experience of recording music I do not deliberate at all about what I'm hearing and what I'm playing. I simply play. You can hear the results above.

Regarding the various comparisons about how musicians play live (the example earlier in this thread of the pianist and the orchestra, for instance) - I've been thinking more about this, and with respect I don't think it's comparable to what Live is doing to the MIDI data.

When people play in an orchestra everyone is watching the conductor. Thus they are all performing (moving their fingers etc) with the conductor's beat. They're not trying to play in time with each other, although they do hear each other. That sounds weird, but it's a very complex thing, involving muscle memory, psychoacoustics, hand-eye coordination, and all sorts of other behavioural magic.

Similarly when you play with a typical small rock band, everyone is listening to the drummer. Thus again everyone's moving in sync with the same beat.

Now the sound of the whole orchestra or the whole band may itself be delayed to the audience - that depends on the size of venue, acoustics, etc. But when the sound does reach the audience, its elements are still in sync with each other, because each element was performed to the same beat.

What Live is doing is moving individual elements away from the beat. To continue with the orchestral analogy, Live is moving one instrument according to how it is heard at the back of the concert hall. And that's different to the beat of the conductor.

The concert hall is the computer latency. The beat is Live's metronome or my other audio track. I perform according to the metronome not the latency. It is as simple and as surprising as that. :)

I hope this explanation helps!

longjohns
Posts: 9088
Joined: Mon Dec 22, 2003 3:42 pm
Location: seattle

Post by longjohns » Wed Jun 13, 2007 2:54 am

I must say that all of you involved in this discussion are real troopers!

drb
Posts: 302
Joined: Thu Mar 02, 2006 9:09 pm

Post by drb » Mon Jun 18, 2007 7:00 am

After reading this whole thread, this says it all to me, so I felt it was worth reposting.

***********

Try this as an experiment.

Open up Live and create a midi track. Don't bother routing it to anything but route your master keyboard to its input.

Switch the metronome on. The metronome is all you should be able to hear.

Set Monitoring on the midi track to "On".

Start recording and tap any key in time with the metronome, trying to be as accurate as possible.

After a minute or so, stop.

Open the midi clip you just created and see how your midi notes correspond to the beat markers/grid.

Aside from the small natural variations in timing, you will notice that your notes are consistently late by the amount of host latency present in your system.

Now, regardless of why this should be the case, regardless of any theories about the way humans react to latency, regardless of any anecdotes about church organs, funky clavinets, sync/repro heads and the like, bear this important point in mind.

No other DAW exhibits this behaviour. Not one.

Logic, Pro Tools, Sonar, Cubase, Nuendo, Digital Performer, Sequoia, Reason, Fruityloops.

Every single one will have those midi notes more or less on the beat markers/grid.

Furthermore, if you go to their user forums, you will not find ONE post about the way they deal with latency compensation because they deal with it silently, invisibly, logically and satisfactorily.

They just work.

Nobody writes 13 page threads about how they prefer to compensate manually by playing ahead.

With every other DAW it simply isn't an issue.

I leave you to draw your own conclusions.

Mr-Bit
Posts: 292
Joined: Sat Dec 16, 2006 3:02 pm
Location: The Studio
Contact:

Post by Mr-Bit » Mon Jun 18, 2007 9:46 am

So If I feed live an midi sequence from external sequencer with monitoring on.
Both live's and the external metronome should be sounding together if properly synced yet the recorded sequence will shifted slightly to compensate for the external sequencers perception of latency!.

Mmmmmm?

jacob_ma
Posts: 58
Joined: Sat Oct 21, 2006 1:39 pm

Post by jacob_ma » Mon Jun 18, 2007 1:17 pm

iain.morland wrote:
The beat is Live's metronome or my other audio track. I perform according to the metronome not the latency. It is as simple and as surprising as that. :)

I hope this explanation helps!
Amen to that......Its simple.....Its almost driving me to tears abletons attempt to re-invent the wheel and arrogant attitude to it all.

Metronomes have been around long before, sequencers or daws, or synths. Yet, its the essential item that ALL audio applications must have and will continue to have long after Ableton is gone.

Just get with the program and change it the way its supposed to be and move on to other new features!!!

drb
Posts: 302
Joined: Thu Mar 02, 2006 9:09 pm

Post by drb » Mon Jun 18, 2007 5:59 pm

Mr-Bit wrote:So If I feed live an midi sequence from external sequencer with monitoring on.
Both live's and the external metronome should be sounding together if properly synced yet the recorded sequence will shifted slightly to compensate for the external sequencers perception of latency!.

Mmmmmm?
Yes, shifted.
Weird and confusing, eh?

filterstein
Posts: 170
Joined: Mon Jun 18, 2007 7:14 pm

Post by filterstein » Mon Jun 18, 2007 7:26 pm

I was looking for an answer why the midi recording in Ableton from a sequence playing in my mpc3000 is way off.
Now i see why..
This behavior is really strange.
I've been using midi sequencers since 1990 (beyond, metro, studiovision)
and none of them exhibited such behavior.
A jittery midi clock is normal when recording from one midi sequencer
to another. But Live's recording is way off.
I consider this a bug.
If Ableton thinks this a feature, i would ask them to rethink it,
but at least it should be possible to disable it.
Yes, Ableton is not your average program, but there are some rules that should not be broken.

drb
Posts: 302
Joined: Thu Mar 02, 2006 9:09 pm

Post by drb » Mon Jun 18, 2007 7:38 pm

My simple summary:

A note should be on the 1, VISUALLY if you wanted it on the 1.

The software should adjust in the backround when it needs to send that data, to achieve this result.

Am I missing something?

Locked