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 Sarge
Install speex viaapt-get install speex
apt-get install libspeex-dev
where the -dev package *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.
Please note: Speex Wideband is supported in 1.1+ and the Debian package is 1.0.X. You may want to visit http://downloads.xiph.org/releases/speex/ to find a more current version.
See also
- Asterisk config codecs.conf: Configure speex details for Asterisk
- Asterisk codecs
- Comparison Table of Speex with other Codecs
- Products with Speex support
- Wideband VoIP
- Wikipedia on speex
Page Changes
Re: is there a 'use speex w/Asterisk' HOWTO?
If using Asterisk@Home....
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
Re: Speex w/ Asterisk on FC1
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?
Speex w/ Asterisk on FC1
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
Re: is there a 'use speex w/Asterisk' HOWTO?
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.
is there a 'use speex w/Asterisk' HOWTO?
Thx.
Peace.