login | register
Sat 04 of Jul, 2009 [04:50 UTC]

voip-info.org

History

Speex

Created by: jht2,Last modification on Tue 12 of May, 2009 [07:39 UTC] by bcnit

Speex is open-source voice codec


Quoting from: http://www.speex.org/
Speex is an Open Source/Free Software patent-free audio compression format designed for speech. The Speex Project aims to lower the barrier of entry for voice applications by providing a free alternative to expensive proprietary speech codecs. Moreover, Speex is well-adapted to Internet applications and provides useful features that are not present in most other codecs. Finally, Speex is part of the GNU Project and is available under the Xiph.org variant of the BSD license.

Codec comparisons

Speex is a powerful codec due to its flexibility. However, it is also an expensive codec since it consumes more CPU then G729, g726 or GSM, and just about the same as iLBC (enter 'show translation recalc 10' in your Asterisk CLI to view the details). Whereas iLBC comes with atypical 30 ms packets (not good for IAX2 trunking) and PLC (packet loss concealment), speex can be adjusted to your needs through codecs.conf in Asterisk, unlike any other codec.

Debian

Install speex via
apt-get install speex
apt-get install libspeex-dev


CentOS

yum -y install speex speex-devel


General

The -dev/-devel packages *might* not be required for operation with Asterisk. Remember to compile Asterisk after speex installation since Asterisk will auto-detect speex presence only during compiling. You may need to perform a `make distclean` in order to force Asterisk to detect SpeeX. At the very least you will need to './configure'.

Please note: Speex Wideband is supported in 1.1+ and the Debian Sarge package is 1.0.X. You may want to visit http://downloads.xiph.org/releases/speex/ to find a more current version. The Debian Etch package is 1.1.12.

See also



Comments

Comments Filter
222

333Re: is there a 'use speex w/Asterisk' HOWTO?

by lingolep, Tuesday 28 of February, 2006 [19:13:55 UTC]
Just confirming that following Grahams instructions worked, with in my case grabbing the libogg, and speex.org sources from the respective sites and on Fedora Core 3 simply doing the usual ./configure, make, and make install for both of them. Then asterisk just needed the make clean, make, and finally a make bininstall was sufficient to get Asterisk working with Speex codec. Tested with the freely available iaxComm client with checkmark preferences set for Speex.
222

333If using Asterisk@Home....

by kwag, Sunday 05 of February, 2006 [17:24:52 UTC]
It's very easy to add Speex support in AAA.
Log on to your terminal shell of your AAA machine and do the following:


(1) yum install speex
(2) yum install speex-devel
(3) cd /usr/src/asterisk
(4) make clean
(5) make
(6) make install

And restart asterisk by issuing the command "asterisk.reload" at the shell prompt.
Make sure you add "allow=speex" on your trunks.

-Karl
222

333Re: Speex w/ Asterisk on FC1

by webhead, Thursday 19 of January, 2006 [04:55:41 UTC]
I have Asterisk 1.2.2 compiled with Speex; I grabbed the source code for Speex and built it, and even verified with strace that the asterisk binary is loading up codec_speex.so.

I call it with X-Lite set to use the Speex codec. I see with Ethereal that X-lite is talking about Speex, but Asterisk responds with a 488 (or a 499, it differs between what the client says and what Ethereal says).

asterisk -vvvvvvv says this on the command line when X-Lite tries to connect:

Jan 18 23:17:06 NOTICE23236: chan_sip.c:3587 process_sdp: No compatible codecs!

What am I missing?

222

333Speex w/ Asterisk on FC1

by sazzer, Tuesday 18 of October, 2005 [20:03:45 UTC]
Just got this working, and it works wonders now. Here's how I went about it.<p/>
1. Download and install libogg. I used libogg-1.1.2-1.li.fc1.i586.rpm<br/>
2. Download and install the Speex package from http://www.speex.org/download.html<br/>
3. Download and install the Speex devel package from the same place<br/>
(I used speex-1.0.5-1.i386.rpm and speex-devel-1.0.5-1.i386.rpm)<br/>
4. Do a make clean, make, make install on your asterisk tree<br/>
make clean is important. I didn't first time through and it wouldn't load again<br/>
5. You're good to go
222

333Re: is there a 'use speex w/Asterisk' HOWTO?

by slamb, Friday 13 of May, 2005 [06:52:21 UTC]
I don't see one, but here's what I did:

1. Download the speex library from the above website, compile, and install

2. Rerun "make" in the Asterisk source dir. The codecs/Makefile should find the installed speex library and build the appropriate files. "sudo make install" should create /usr/lib/asterisk/modules/codec_speex.so.

3. Make sure codec "speex" is allowed.

4. Optionally, configure it in codecs.conf. I don't think this existed in 1.0.7, but it does in CVS trunk HEAD as of 12-may-2005. There are all sorts of knobs involving VBR, VAD, etc. I had no idea what any of them did until I read the wikipedia article.
222

333is there a 'use speex w/Asterisk' HOWTO?

by sjobeck, Sunday 23 of January, 2005 [08:09:46 UTC]
if so, I missed it, please post URL?

Thx.

Peace.