[Speex-dev] Speex or iLBC?

Jean-Marc Valin Jean-Marc.Valin at USherbrooke.ca
Mon Sep 5 15:45:00 PDT 2005

> I need select soon the best freeware VOIP codec, I see that all competitors
> are using iLBC because of the separate packets management.

Me wrote:
The more I think about it, the more I think independent frames are a bad
idea. When network conditions get really bad, I think it will always be
a better idea to send redundant information than to try making the
frames independent. Just think about a case where you have 30% packet
loss. What will perform the best between iLBC at 15 kbps and Speex at 8
kbps where each frame is transmitted twice (so 9% effective loss)? I
think this paper should be a good read on the topic:
Of course, I still believe it's a good thing to minimize (not eliminate)
between frames whenever it doesn't affect quality/bitrate too much. 

> How speex behave in case of packets drop?

If you want to see for yourself how Speex performs with packet loss, all
you need to do is to encode a file with speexenc with the sampling rate
and bitrate you want and then decode it with "speexdec --packet-loss N
myfile.spx", where N is the percentage of packet loss. 

> Why other choice all iLBC?

No all others choose iLBC, and I suppose that part of the reason is with
marketing. Speex is not developed by a company, so nobody is getting
paid to convince people to use it.

Also note that Speex includes a lot more than iLBC in the "free
package". Speex also does wideband, acoustic echo cancellation, noise
cancellation, jitter buffering, while you have to pay GIPS for all these
features. The Speex license is of course also open-source, which is not
the case of iLBC (even though they don't charge, it is not open-source).


Jean-Marc Valin <Jean-Marc.Valin at USherbrooke.ca>
Université de Sherbrooke

More information about the Speex-dev mailing list