Minimum reasonable latency Was: Re: ZynAddSubFX was: Re: [linux-audio-dev] some new soundfiles on-line

Benno Senoner sbenno at gardena.net
Sat May 14 09:58:45 UTC 2005


Since we cannot increase the speed at which the sound travels and even 
DACs add some latency (1msec or so)
I see any effort to reduce latency below 2-3msec quite useless.
We know that halving the number of frames (soundcard period size) we run 
the audio software at is doubling the IRQ rate
and you can quickly achieve a point where a significative chunk of CPU 
is burnt in the IRQ handlers.
It could change if CPU get considerably faster but then you begin to hit 
other limits, eg
the PCI DMA minimum transfer sizes which limits your minimum soundcard 
period size.

Plus what happens if your speakers are 1m away from the listener ? 
Another 3msecs added to the total
"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.

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).
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.
Organ players too.
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" ?


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
(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.

cheers,
Benno
http://www.linuxsampler.org



Jens M Andreasen wrote:

>Clarificaton:
>
>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 ...)
>
>  
>
>>>Lee
>>>
>>>      
>>>




More information about the Linux-audio-dev mailing list