[Speex-dev] Historical question

Jean-Marc Valin Jean-Marc.Valin at USherbrooke.ca
Thu Aug 10 07:21:03 PDT 2006

> I recently had a talk with somebody about CELP. He said, there is this
> federal standard 1016 (4.8kbps) with a reference implementation of the
> Department of Defense (only on Sun, unfortunately, if I got this right).
> This one is noticed in the manual already.

I think DoD CELP can be compiled easily under any OS.

> He also said, since there is this implementation of the DoD, nobody
> would voluntarily re-implement CELP.

What do you mean here?

> If I read the manual, I guess you just took the idea names CELP, did
> some conceptual work (resulting in NB, WB und UWB mode as well as all
> these bitrates Speex supports, as well as stuff like frame-length and
> number of subframes) and then actually made a new implementation (DoD
> CELP is far less than Speex).

CELP is a very broad technique. Nearly all modern speech codecs use a
variant of CELP. 

> So the Question is: did you take any code from DoD CELP?

No, because 1) it's an old standard with very different goals and 2)
there would have likely been legal issues.
> What would happen, if I took a 8kHz-Wav file and did
> 	speexenc -n -.bitrate 4800 file.wav file.spx
> Would the result of this be comparable to a DoD-CELP encoded file?

Speex only has a 3.95 kbps and a 5.95 kbps mode, so comparison is
difficult. I haven't listened to DoD CELP much, but I would assume that
Speex 5.95 would be much better. I don't know about Speex 3.95 kbps.

> Besides all the other bitrates and sampling-rates, how does speex differ
> from DoD CELP (I unterstand Speex is using frames of 20ms with 4
> subframes, DoD CELP uses 30ms frames with 4 subframes, but this is about
> it what I know)?

Outside of the general CELP Analysis-by-Synthesis principle, I'd be
surprised if Speex shared much with DoD CELP. One of the key aspect in a
CELP codec is the quantization of the innovation (fixed codebook) and
Speex is different from any other speech codec that I'm aware of.

> Does Speex extend DoD CELP or does it only pick up the same idea (CELP)
> and has nothing more to do with DoD CELP?

Completely independent.


More information about the Speex-dev mailing list