[speex-dev] Server based audio merge

Carsten Breuer
Fri, 06 Aug 2004 15:01:52 -0000

Hi Allen,

>>True, but there is one critical place where it's necessary
to mix at
> least two streams--when someone's trying to break into a stream.  If
speaker
>>goes on and on and speaker B (or C, D, E, F...) wants to interject or
>>interrupt, who do they do it without inband without mixing?
> It doesn't have to be done that way.  You can simply have the server
> echo the voice streams back to the various clients.  Leave the job of
> mixing the sounds to the sound device (ex: DirectSound or sound
> hardware) from multiple streams.

Yes, but the notmal client doesn't have the bandwith for that.
Audio should nearly cost no bandwith, because we have all the
videostream that must also go over the connection. So Audio should
perhaps not be more then 8 kbits. Not sure if this is posible,
but this is a very importanbt issue.

>>The 'obvious' solution seems to be run N processes to detect
'speech'
>>or important audio content on the incoming N streams.  Pick on or
>>two that need output, then mix and recode them.
> Again not recommended as it has a major impact on total latency of the
> voice stream to decode, mix and recode at the server to only decode
> again at the client.

You can zip it ;-)).

> Additionally you should never upstream voice from clients to the server
> that aren't transmitting.  You write code to detect transmission.

Sure. So the server can detect if mixing is necessary.

Best Regards,

Carsten