Minimum reasonable latency Was: Re: ZynAddSubFX was: Re: [linux-audio-dev] some new soundfiles on-line
Jens M Andreasen
jens.andreasen at chello.se
Sat May 14 10:48:34 UTC 2005
On Sat, 2005-05-14 at 11:58 +0200, Benno Senoner wrote:
> Plus what happens if your speakers are 1m away from the listener ?
> Another 3msecs added to the total
There is a rule of thumb regarding when you need a conductor, which is
about when the the band exceeds 8 people. It is not the anarchy that
naturally evolves, but the distance between the furthermost band members
causing the problem.
> "latency between hitting a key and hearing the sound".
> If you move the speakers another 50cm away from the ear ? Another
> 1.5msecs delay get added.
Correct, and having my speakers across the room (so I can hear the
tweeters) instead of sitting on top of them adds to the sloppyness of my
> Humans are more sensitive to differences than to absolute values.
> Eg in physics you feel the acceleration but not the speed.
> So if you take into consideration the real latency between hitting a key
> and hearing the sound it's made up of several
> components. You could try to do a test, compare the latency you feel
> between having the speakers at 1m and 1.5m away from
> your ears (blind A/B test). I guess it's not that easy to figure it out.
> Plus if you are playing a blazing fast hardware synth over a midi master
> keyboard we know midi adds 1.1msec per
> note-on command. If you play an eg 8 finger chord, assuming you hit all
> keys the very same moment,
> the chord is spread over an interval of 8.8msecs and the 8th key starts
> to sound 7.7msec after the 1st key.
> Yet the whole world is using MIDI keyboards all over the place.
> I heard Peter Gabriel uses a Powerbook with a multi GB sample (PMI
> postpiano) that is streamed from disk,
> it uses the NI Kontakt player and it cannot certainly achieve
> unreasonably latencies (I think Mac users usually
> get good performance at 3-6msecs).
This is an unreasonable comparison. You simply do not attemt to play
funk on a Böesendorfer.
.. and 6ms is approaching unbearable. You fall back to 2ms on Mac for
performance reason, no further.
> I've read a real piano has some latency too (AFAIK in the range of a few
> msecs) so they are already "used" to latency.
There is latency on a piano, yes. But now, listen to Jan Hammers "Red &
Orange" in its first release played on piano and compare that to the one
he did with the Oberheim 4voice. Piano version is sloppy, no? I would
dare say that it is unpossible to reach that kind of perfect timing he
did on synth, using a physical piano.
Latency is not the enemy though. Jitter is.
Jitter is not a problem with a physical grand though (because the
distance to the strings is a constant.) The actual weight is.
> Organ players too.
Yes, big rooms and oscillators living in parallel universes... I can't
do it meself, getting utterly confused, even from the slightly random
left/right panning of the main positive.
But I used to play the clavinet, and therefore naturally excused :)
> I think the idea of achieving 0msec latency is simply crazy and a waste
> of resources, every natural instrument has
> a builtin latency and it's certainly not in the usec range. Humans are
> more sensitive to jitter but jitter can be minimized
> using MIDI timestamping and higher priority midi sensor threads so it's
> not an issue in PC based synths/samplers.
> Plus due to the nature of the sound, low frequency oscillations take
> longer to get recognized since in theory you
> need to hear a full cycle of the wave to "measure" the frequency.
> at 100 Hz it means 10msec ... an eternity for your standards :)
> Of course some instrument players, especially those that play percussive
> sounds are more sensitive than
> others, but the question is how small is this time ? Is there scientific
> data around that can state:
> "if latency of the virtual percussion instrument is higher then X then
> the instrument is unusable for 30% of professional musicians" ?
The only scientific measure I can quote is kind of old and only measures
"simultanious" versus "not simultanious".
The result of that research was that events happening within a 20ms
timeframe are "simultanious" and events outside of that timeframe is
Both you and I know that we'll have to do better than that in order to
produce an instrument that is playable in a relaxed manner.
> Take a drummer: that's the distance between the human and the pads ? up
> to 70cm ?
> time between "pad triggered to drummer hearing the sound" = ? 2msecs of
> air travel + time to to excite the pad.
> I'm not an expert in the field but I assume that if you hit a pad with
> the stick the pad first goes down, then the elasticity of the pad
> comes into play , absorb the kintetic energy of the stick, which is
> bounced back and at this point the drumpad starts vibrating
You get the hi-frequency attack on contact with surface. The "oomph"
comes later, delayed as you describe.
> (albeit for only a short time). Of course you hear the first half cycle
> too, when you push the drumpad down with the stick, but
> the question is what's the time it takes for the drumpad to bounce the
> stick back and start sounding ?
> It would be interesting if someone that knows more on the matter (eg
> measuring the latency sensitivity of drummers) could
> give us his opinion on the matter.
> Jens M Andreasen wrote:
> >The good people across the street at Clavia, who actually do commercial
> >synthesizers, considers anything but "now" to be slowish. Their sense of
> >"now" is somewhat below 0.3ms
> >Untill we get hardware keyboards that measures the impact at rock-bottom
> >(like a clavinet), there will always be an oily slur between the player
> >and the loudspeakers. Having the trigger point in mid-space (as for
> >contemporary keyboards) isn't excactly helpful, and this is also where I
> >get the 0.3ms approximation from. It simply ain't worth it to go below
> >that point.
> >(yet ...)
c // Jens M Andreasen
More information about the Linux-audio-dev