[Speex-dev] using speex in a wireless network

Jean-Marc Valin jean-marc.valin at usherbrooke.ca
Wed Jun 3 17:40:01 PDT 2009


Rafał Mielniczuk a écrit :
> My simple tests show, that by BER on level 1%, 2%, decoded SpeeX is possible 
> to understand, sometimes I can hear inconvenient voice deformations. I wonder 
> if somebody can advice me, which FEC coding methods is best to use and in 
> which part of packet I should use it. My goal is to understand decoded SpeeX 
> with largest BER and without unnecessary regrowing need of the bandwidth. 

I'm sure it would be possible to improve BER robustness with a bit of
channel coding. Here's the definition of the bits being sent:
http://www.speex.org/docs/manual/speex-manual/node10.html#SECTION001030000000000000000

The modes you're interested in are mode 1 (2.15 kbps) and mode 8 (3.95
kbps). The first 5 bits (wideband bit and mode ID) don't actually need
to be transmitted if the decoder knows what mode you're transmitting.
After that, you have 18 LSP bits. The first 6 are the most important,
followed by the next 6 and the last 6 (it makes little sense not to
protect these in blocks of 6). Then, the other part that really needs
protection is the one marked as "OL Exc gain". On that one, I suggest
protecting the 2 or 3 MSBs. With just that, you should see an
improvement. You'll have to experiment a bit to figure out the details,
as I've never tested Speex with bit error conditions. Fundamentally,
there's no reason Speex can't behave decently with bit errors, assuming
you do a bit of channel coding.

Cheers,

	Jean-Marc


More information about the Speex-dev mailing list