CELP-based Vocoder


This is a course project in group of two for Speech Communication for Human and Machines requires us to implement a speech codec that bit rate is of 8-16kb/s and SNR is at least 1dB.

I was responsible for algorithm implementing and testing.

You can find our final report here.

We started from traditional narrowband linear prediction based method, which at last had a bit rate of 26kb/s and a SNR of -0.012dB. Then we went to source-filter model. And finally we used CELP mechanism and achieve one with 10kb/s bit rate(if use binary data instead of char it could reduced to 5kb/s) and 2.99dB SNR.

Here are some audio samples:

Example1 :
Example1 - LP :
Example1 - CELP:
Example2 :
Example2 - LP:
Example2 - CELP: