[speex-dev] Some questions

Jean-Marc Valin Jean-Marc.Valin at USherbrooke.ca
Mon Sep 22 20:14:06 PDT 2003

> Question 1)
> What is the return value from speex_preprocess good for? It's called
> "vad" in the denoise sample. It seems always to be = 1.

The return value is 1 for speech and 0 for silence/background noise.
However, if you don't enable the VAD (it's off be default), the value is
always 1. Sorry, the new 1.1 features aren't documented yet.

> Question 2)
> While comparing Speex with GSM 06.10. It struck me that Speex is pretty
> CPU intense compared to GSM 06.10. Are there any plans or (even)
> possibilities of optimizing Speex?

There are currently two ways to reduce CPU. The first is to set the
complexity to 1 using --comp 1 with speexdec or SPEEX_SET_COMPLEXITY 1
for libspeex. The second is to enable SSE optimizations by compiling
with --enable-sse in Linux (for Win32 you'd need to translate the gcc
inline assembly). Of course, it may also be possible to further optimize
some functions...

> In my sample program for Win32 compiled with MSVS.NET. Speex loads about
> 7 % CPU in Narrow mode, compared to GSM 06.10 which loads approx. 0,5 to
> 1.0 %.
> I am not sure if the CPU usage is reliable in any way as a benchmark.

I don't think Speex can be made that fast. GSM was designed a long time
ago for much smaller CPUs. Right now, Speex at 8 kbps (complexity 1,
SSE) requires about 3% CPU on a PIII 1GHz. It might be possible to make
that drop to ~2%, but probably not .5%.


Jean-Marc Valin, M.Sc.A., ing. jr.
LABORIUS (http://www.gel.usherb.ca/laborius)
Université de Sherbrooke, Québec, Canada

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: Ceci est une partie de message numériquement signée
Url : http://lists.xiph.org/pipermail/speex-dev/attachments/20030922/5544c49e/signature-0001.pgp

More information about the Speex-dev mailing list