[eagle] doubling on TeamSpeex
Phil Karn
karn at ka9q.net
Tue Feb 13 18:53:39 PST 2007
Does anybody have any references on the internals of Team Speak? I'd
like to figure out why doubling sounds so bad, and fix it if at all
possible.
It's pretty obvious from tracing the packets that everybody talks UDP to
a central node (ts1.teamspeakhost.com) that repeats whatever it hears.
There just aren't very many ways to do this. The central node can
reflect the individual bit stream(s) exactly as received, without
decoding. The listeners decode them. If more than one person talks at
once, everybody sums up the PCM. (This is how Eagle's voice conferencing
should work.)
The other way has the central node decode the incoming packet stream(s),
sum the decoded audio if there's more than one active stream, and
re-encode the result into a single forward stream. This has the moderate
advantage of not overrunning any slow dialup modems that might be in use.
This isn't an FM repeater, so either way there needn't be any
significant distortion when two people talk at once. Even with loud
talkers and central summing, gain scaling would avoid clipping.
The fact that the audio *is* so badly distorted whenever a double
occurs, even when one talker isn't saying anything, means that something
is broken somewhere. Perhaps the summing is being done incorrectly at
the server. Maybe it's trying to sum mu-law PCM, which is nonlinear.
The doubling distortion combined with the fairly long round trip delay
makes this system a lot more fatiguing and a lot less usable than it
could be.
--Phil
More information about the Eagle
mailing list