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.
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.
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).
15 February, 2011
CELT 0.11.0 (originally not announced) and 0.11.1 has been released with a focus on freezing the bit-stream and updating the API. The bit-stream is now in "soft-freeze" state meaning there is an attempt to keep it fixed, but some bugs may force changes. Version 0.11 includes some minor quality improvements, mostly at high bit-rate. In version 0.11.1, some minor changes to the bit-stream were necessary to address two minor bugs in 0.11. The quality should improve (very) slightly, but not enough to be noticeable in most cases. Several Opus-related bugs have also been fixed.
21 December, 2010
CELT 0.10.0 has been released with a focus on quality improvements. The bit-stream is not compatible with version 0.9.x. See Monty's CELT demo page for more details on recent (and less recent) CELT development.
8 November, 2010
CELT 0.9.1 greatly improves the packet loss concealment. This change is especially dramatic in fixed point mode. The bit-stream is compatible with 0.9.0.