The CELT ultra-low delay audio codec


The CELT codec is a compression algorithm for audio. Like MP3, Vorbis, and AAC it is suitable for transmitting music with high quality. Unlike these formats CELT imposes very little delay on the signal, even less than is typical for speech centric formats like Speex, GSM, or G.729.

Using CELT application developers can build software that allows musicians to perform together across the Internet, or simply build great sounding telephony systems. Why shouldn't your telephone sound as good as your stereo?

Like other open and unencumbered technology from the Xiph.Org Foundation CELT requires no royalties and no complicated licensing.

The Technology

CELT stands for "Constrained Energy Lapped Transform". It applies some of the CELP principles, but does everything in the frequency domain, which removes some of the limitations of CELP. CELT is suitable for both speech and music and currently features:

The CELT codec is meant to bridge the gap between Vorbis and Speex for applications where both high quality audio and low delay are desired.

Getting Involved

CELT is still in an early state of development. At this point, two ways of getting involved are: helping design the algorithm (requires strong DSP knowledge) or building applications using CELT. Your feedback can help define the future direction the codec will take.

Since CELT is still in development, most new releases (even minor ones) change the bit-stream, so compatibility is not preserved. This instability is why CELT is currently called experimental. The ability to change the format is important in allowing us to make quality improvements while we develop CELT. Once version 1.0 is released the bitstream will be frozen and future revisions will be compatible.

If you are interested in using CELT privately, among people who can coordinate CELT versions, in non-interoperable embedded applications, or are doing software development in preparation for the final version then the instability of the bitstream should not be a problem for you and we'd like your feedback. However, for major public adoption CELT will need to reach 1.0.

If you have questions or are interested in contributing to the project, you can join the mailing list. You can also contact the Project Lead, Jean-Marc Valin (the mailing list is usually preferable).