LWN.net Logo

Advertisement

E-Commerce & credit card processing - the Open Source way!

Advertise here

The Speex RC3 Speech Codec

Version RC3 of Speex, an open-source speech codec, has been released. A codec, short for coder/decoder, is a system for digitizing and compressing audio speech data. Codecs can be implemented in both hardware and software. Historically, codecs have their roots in telephony systems.

The goals of the Speex project are as as follows:

"The Speex project aims to build a patent-free, Open Source/Free Software voice codec. Unlike other codecs like MP3 and Ogg Vorbis, Speex is designed to compress voice at bitrates in the 2-45kbps range. Possible applications include VoIP, internet audio streaming, archiving of speech data (e.g. voice mail), and audio books. In some sense, it is meant to be complementary to the Ogg Vorbis codec."

The Speex FAQ clarifies the different goals of Speex and Ogg Vorbis: "Ogg is a ``container format'' for holding multimedia data. Vorbis is an audio codec that uses Ogg to store its bit-streams as files, hence the name Ogg Vorbis. Speex also uses the Ogg format to store its bit-streams as files, so technically they would be ``Ogg Speex'' files (I prefer to call them just Speex files). One difference with Vorbis however, is that Speex is less tied with Ogg."

The Speex site lists the following features:

  • Designed for speech compression.
  • Optimized for Voice over IP (VoIP) instead of cell phones.
  • Free of patents and royalties.
  • Licensed under the Xiph.org variant of the BSD license.
  • A part of the GNU project.
  • Wide and narrow band compression capabilities.
  • Supports multiple bitrates, from 2-45 kbps.
  • Uses a CELP-based encoding technique.
  • Supports Intensity stereo encoding.
  • Supports variable bitrate operaton.
  • Voice activity detection.
  • Discontinuous transmission.
  • Works best with hardware floating point support.

The Speex online manual explains the various parts of the project. The Command-line encoder/decoder utilities speexenc and speexdec allow conversion from .wav or raw PCM files to and from speex format files.

Programmers who want to add Speex capabilities to their applications may want to have a look at the Programming with Speex (the libspeex API) section of the documentation, as well as the Speex API Documentation.

The newly released RC3 version is leading up to version 1.0: "Just some more bugfixes and tuning are in this release; If no bugs are found, this may be rebranded Speex 1.0."


(Log in to post comments)

Obligatory pedantic spelling correction

Posted Mar 6, 2003 5:10 UTC (Thu) by Strike (guest, #861) [Link]

It's "variant" not "varient". That is all. ;)

Copyright © 2003, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds