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").
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