[CELT-dev] celt vs speex

Jean-Marc Valin jean-marc.valin at usherbrooke.ca
Thu Oct 14 17:31:35 PDT 2010

On 10-10-14 07:46 PM, Pascal Pochol wrote:
> we've been using speex in a project with great success. Since it claimed to
> be really tailored for speech and not music that is why we looked at celt
> to hear if we could get better sounding music. But as far as we can tell
> speex does a pretty good job with the music part while celt does pretty
> good with the speech part too. I was wondering if anybody had made test to
> pin the two together? We certainly like being able to use 44.1Khz in celt
> vs the 32Khz max in speex.

What you should be looking at is the Harmony codec we are developing
within the IETF. It combines CELT with the SILK codec, so it works well
for both speech and music.

> On a side note, it would have been great if the too project would have used
> the same semantic for the api. As far as we are concerned we need to do
> nearly the same thing to create a converter for speex and one for celt.
> only in one a function will be called speex_encoder_init vs
> celt_mode_create. At first look it's mostly "create" vs "init". Maybe it's
> for the best so we don't get confused when writing converter for one or the
> other, but if you look at the speex sample code at:
> http://www.speex.org/docs/manual/speex-manual/node13.html
> and the celt sample code that was in the presentation given a while back
> they look really similar. I'm not saying that "create" is better than
> "init" or the other way around, it simply looked funny to us looking at
> both projects so close one after another. We encapsulated that into our own
> consistent classes in our library so on the application side it really
> doesn't matter.

Well, CELT now has both create() *and* init(). The difference is that
create() also allocates the memory (the Speex functions should really
have been called create).


More information about the celt-dev mailing list