On 20/03/11 18:38, Jörn Nettingsmeier wrote:
On 03/20/2011 06:25 PM, andy baxter wrote:
Hi,
I am thinking about a possible design for the second version of the
position sensing drum pad I have been working on, and I have a question
about latency. I am working around the assumption that 10ms latency is
about the worst it can get before people start to notice it in practice,
so I am thinking of building the pad in a way where the normal latency
is about 1ms, but it degrades to between 10-15 ms in the very worst case
(many simultaneous strikes and pressure variations across the pad).
Allowing this level of degradation would make it possible (I think) to
use an arduino rather than a faster processor, which would be nice.
a drummer will get very grumpy indeed over latencies in the 10ms
range. (i understand your use of the term to mean "time it takes for
the sound to come out after the drummer has hit the pad").
Yes that's what I meant.
you should aim for 2ms or less, which takes
considerable effort and a
very good sound card.
but if you can't do that, then by all means keep the latency constant.
shifting latency will make the the drummer eat his sticks, or worse
yet, direct random acts of violence against other people, possibly
even you.
just imagine you are playing a constant 16th note pattern at 120 bpm.
one beat will be 0.125 seconds.
say your second beat is delayed by 10ms ue to jittery time, and the
next one is dead on again. the groove will appear to "swing" in weird
ways. real swing would mean 0.167s, then 0.083s, so that's
considerably more, but to keep a groove going, the drummer has to keep
such times very accurately, and 10ms is a major earthquake to a
flowing groove, especially since the drummer's physical feel and the
acoustic result do not match when your software jitters.
even when the following beats are all delayed by 10ms because your
application scheduler has now entered its high-load steady state, the
drummer will hear a drag, try to speed up to compensate, and oscillate
around the correct time for a number of beats. this ruins the feel and
i could imagine it could even cause physical harm due to dysfunctional
use of muscles.
but even when the latency is constant, drummers are used to get very
sharp and distinct physical feedback when the stick rebounds from the
drum head, and they are very close to the instrument. so they will
usually be a lot less tolerant than electric guitarists (who are used
to operate at 3 or 4 m distance from their amps or monitor speakers)
or (extreme example) church organists, who can learn to deal with tens
or even hundreds of milliseconds of latency (plus a dragging
congregation choir on top) :-D
OK - thanks for pointing this out.