Xiph logo
Speex: a free codec for free speech

Speex News

  • Speex 1.2rc1 is out

    July 23, 2008

    This release adds support for acoustic echo cancellation with multiple microphones and multiple loudspeakers. It also adds an API to decorrelate loudspeaker signals to improve multi-channel performance. In the bugfix department, there are fixes for a few bugs in the echo canceller, jitter buffer and preprocessor. At this point, the API for 1.2 should be stable and only a few very minor additions are planned.

  • Speex 1.2beta3 is out

    December 11, 2007

    The most obvious change in this release is that all the non-codec components (preprocessor, echo cancellation, jitter buffer) have been moved to a new libspeexdsp library. Other changes include a new jitter buffer algorithm and resampler improvements/fixes. This is also the first release where libspeex can be built without any floating point support. To do this, the float compatibility API must be disabled (--disable-float-api or DISABLE_FLOAT_API) and the VBR feature must be disabled (--disable-vbr or DISABLE_VBR).

  • Speex 1.2beta2: Fixed-point improvements and more

    May 24, 2007

    Again, this new releases brings many improvements. The RAM requirement for wideband has gone down drastically (i.e. more than 2x). A new resampler module has been added, providing arbitrary sampling rate conversion -- fast. The echo canceller has also been improved. A bug in 1.2beta1 that made the echo canceller unstable has been fixed. The echo canceller should now converge faster, be robust and tolerant of incorrect capture-playback synchronisation. The preprocessor has also been greatly improved. Not only should the quality be better, but it is now fully converted to fixed-point. At last, early TriMedia support (incomplete) has been merged.

  • Speex 1.2beta1: Better, smaller, faster and more

    September 4, 2006

    This new release brings many significant improvements. The quality has been improved, both at the encoder level and the decoder level. These include enhancer improvements (now on by default), input/output high-pass filters, as well as fixing minor regressions in previous 1.1.x releases. A strange and rare instability problem with pure sinusoids has also been fixed. On top of that, memory use has been greatly reduced, especially for fixed-point and narrowband. The fixed-point narrowband encoder+decoder memory use has been cut by more than half, making it possible to fit both in less than 6 kB of RAM. In general, CPU requirement had gone down, especially for the fixed-point port. The Blackfin port has been speeded up significantly, thanks to David Rowe. There are also a few fixes for the TI C5X DSPs, as well as better support for C++ compilers and crappy MS compilers. Oh, and before anyone starts worrying, the format (bit-stream) itself has not changed, so Speex is still compatible with version 1.0 and will continue to be in the future.

    Non-codec improvements include a extension (easier to use) to the echo canceller API and a Speex-independent version of the jitter buffer. The echo canceller should also be more robust to saturation in the capture path. Last, but not least, the documentation has been updated.

  • How the Echo Canceller works

    August 7, 2006

    Always wanted to know how the echo canceller works? On Adjusting the Learning Rate in Frequency Domain Echo Cancellation With Double-Talk has just been accepted for IEEE Trans. on Audio, Speech and Language Processing.

  • New website design

    August 6, 2006

    We have a new website design. There may be a few problems, so please report them and be patient.

  • On How Speex Works

    March 19, 2006

    Interested in how Speex works? Have a look at "Improved Noise Weighting in CELP Coding of Speech - Applying the Vorbis Psychoacoustic Model To Speex", authored by Jean-Marc Valin and Christopher Montgomery.

  • Speex 1.1.12 Released

    February 19, 2006

    New things:

    • echo canceller converted to fixed-point (sponsored by Analog Devices)
    • Improvements to the experimental Vorbis-based masking model (use --enable-vorbis-psy as an argument to the configure script)
    • several bug fixes
  • Speex 1.1.11.1 Released

    December 2, 2005

    This is a brown-paper-bag release fixing a pretty bad bug that affected the fixed-point port in 1.1.11. Architectures that use float were not affected at all. Architectures that use fixed-point had a big drop in audio quality. Only version 1.1.11 is affected. Sorry about the inconvenience.

  • Speex 1.1.11 Released

    November 20, 2005

    This release includes lots of bug fixes. These include SSE, fixed-point and Blackfin. Also, the echo canceller and packet loss concealment have been improved.

  • Speex 1.1.10 Released

    June 11, 2005

    The main improvement in this release is a Blackfin port funded by Analog Devices. This includes Blackfin assembly optimizations that reduce cpu time by a factor of two. Also, the packet loss concealment code has now been converted to fixed-point and some of bugs for 16-bit architectures were fixed.

  • Speex 1.1.9 Released

    June 1, 2005

    The main improvement in this release is that the acoustic echo canceller is finally usable. This work has been sponsored by Tipic Inc. Also, several bugs have been fixed for the TI C5x port.

  • Speex 1.1.8 Released

    May 7, 2005

    Lots of changes in this release. Initial TI C5x port, some fixed-point improvements and fixes, better temporary memory allocation (smaller), and the size of integer types are now detected automatically.

    There is also a new SPEEX_PLC_TUNING option.

  • Speex 1.0.5 Released

    May 6, 2005

    The main change with this release is that it includes API additions from the 1.1.x branch (while being backward compatible), so that transition from 1.0.x to 1.1.x can be made easier.

  • Speex 1.1.7 Released

    March 2, 2005

    The changes for this release are very broad and include generic optimizations in the encoder, ARM-specific optimizations (gcc inline assembly), optional shortcuts in the encoder sacrificing quality for speed, fixed-point improvements (perceptual enhancement converted), reduction in memory usage, the Symbian code now uses the same API, and several bug fixes.

  • New Specialized libs Released

    November 18, 2004

    • libspeex_emce.lib is an x86 emulator build (with debug information)
    • ibspeex_armce.lib is an ARMV4 release build
  • Speex 1.1.6 Released

    July 28, 2004

    There are seven changes in this release.

    • Improved jitter buffer (now actually works)
    • Denoiser tuning
    • Improved echo canceller (please send feedback)
    • Support for Symbian OS
    • Gapless playback for speexenc/speexdec
    • Run-time identification of Speex version with a new speex_lib_ctl() call
    • Moved the includes to /usr/include/speex/
  • Speex 1.0.4 Released

    July 21, 2004

    There are three changes in this release.

    • Headers are now in /usr/include/speex/ (but a copy is still in /usr/include for compat reasons).
    • Pseudo-gapless playback (i.e. playback has the same number of samples)
    • Fixed a potential bug (unconfirmed) that might cause a segfault in special circumstances.
  • Speex 1.1.5 Released

    April 21, 2004

    The main change in this release is that the 1.1.5 API and ABI are now compatible with 1.0.x. The versions of the functions taking a short* now have an "_int" suffix, as in speex_encode_int().

  • Speex 1.1.4 Released

    January 20, 2004

    Happy Belated New Year. This release has minor fixed-point improvements and a code cleanup. The SSE code has been converted from inline assembly to SSE intrinsics, so it should now work on win32. More functions have been written to use SSE.

  • Speex 1.1.3 Released

    December 2, 2003

    This unstable release brings more improvements to the fixed-point port. Many new functions have been converted and most modes now work in real-time. I encourage everyone to test this code by compiling with --enable-fixed-point and --enable-fixed-point-debug and report any error messages and send the (smallest possible) file which reproduces the problem.

  • Speex 1.0.3 Released

    November 19, 2003

    In this bugfix release: a fix for a multithreading bug and a correction for an underflow problem that could slow decoding dramatically on x86 processors.

  • Speex 1.1.2 Released

    November 11, 2003

    This new unstable release improves on the fixed-point port started in 1.1.1. The port is not yet complete, but many modes are now usable in real-time on ARM processors. The fixed-point version is enabled with --enable-fixed-point and ARM-specific optimizations can be enabled with --enable-arm-asm.

  • Speex 1.1.1 Released

    November 1, 2003

    This release adds a partial fixed-point port which can be enabled using the --enable-fixed-point option at configure time. Not all floating-point operations have been converted yet, but all the code should work.

  • Speex 1.0.2 Released

    September 24, 2003

    Just a bugfix release. This update adds soundcard support for Solaris and the BSDs as well as minor bugfixes and a documentation update.