Reply by Artham Sridhar January 4, 20072007-01-04
Dear AMIT

input to STP is preprocessed speech signal.
Input to the LTP filter is prediction error obtained from STP.

Sub frame analysis is used not miss the pitch. Pitch is the variable factor and due to this speech signal is not stationary. Due to this factor one will go for sub frame analysis as during that sub frame duration speech signal is assumed to be stationary. If you want to know more about all these you can refer to
"Digital Speech" by A.M. Kondoz, John willey publications.

Further if you have any doubts, do mail me.

Regards
Sridhar. A
Hellosoft,
Hyderabad.
----- Original Message ----
From: Amit Solanki
To: s...
Sent: Monday, 18 December, 2006 10:41:20 AM
Subject: [speechcoding] Design of basic CELP codec
I am working on a project on audio compression using code excited
linear prediction (CELP) techniques. My aim is to design a basic
working CELP codec in matlab. Since audio processing is new to me I am
confused with some of the details of algorithms:-

Firstly, the input to Short Term predictor(STP) is the original or the
preprocessed speech and the input to Long term predictor(LTP) is the
prediction error of STP. But the frame-subframe structure is quite
confusing. I am using a 240 sample 8KHz(30 mS) audio as frame. Will
the LTP perfomed on suframe(60 sample) of prediction error frame(240
samples). Is it so? Also the pitch period is searched between 20 and
147, how can that be possible with a 60 sample(7.5 mS) subframe.

Secondly, the simplest codebook is the gaussian codebook. But how to
design it in matlab.

Can someone help me by refering some relavent documents explaing the
topic(s) in detail. If possible can somebody provide me basic code in
matlab or a link to it.

I will be highly obliged.

Thanks

Amit
Reply by Neda Kazemian December 31, 20062006-12-31
Dear Amit,

There is a Demo in DSP blockset of MATLAB version 7.1 and higher in which
the CELP codec is implemented using Simulink blocks. I think it highly helps
you. It will simply be launched by typing "dspcelpcoder" in the workspace of
MATLAB.

When you split a frame to multiple sub-frames, you should repeat the
operation for the sub-frames. It means that you should repeat the LTP for
each 60 samples i.e. totally 4 times on the 240-sample result of STP.

The pitch search can be done by buffering the needed length of signal from
previous sub-frames. I highly recommend you to review the CELP Demo of
MATLAB.

Good luck and take care,

Neda Kazemian
On 12/18/06, Amit Solanki wrote:
>
> I am working on a project on audio compression using code excited
> linear prediction (CELP) techniques. My aim is to design a basic
> working CELP codec in matlab. Since audio processing is new to me I am
> confused with some of the details of algorithms:-
>
> Firstly, the input to Short Term predictor(STP) is the original or the
> preprocessed speech and the input to Long term predictor(LTP) is the
> prediction error of STP. But the frame-subframe structure is quite
> confusing. I am using a 240 sample 8KHz(30 mS) audio as frame. Will
> the LTP perfomed on suframe(60 sample) of prediction error frame(240
> samples). Is it so? Also the pitch period is searched between 20 and
> 147, how can that be possible with a 60 sample(7.5 mS) subframe.
>
> Secondly, the simplest codebook is the gaussian codebook. But how to
> design it in matlab.
>
> Can someone help me by refering some relavent documents explaing the
> topic(s) in detail. If possible can somebody provide me basic code in
> matlab or a link to it.
>
> I will be highly obliged.
>
> Thanks
>
> Amit
>
Reply by Amit Solanki December 18, 20062006-12-18
I am working on a project on audio compression using code excited
linear prediction (CELP) techniques. My aim is to design a basic
working CELP codec in matlab. Since audio processing is new to me I am
confused with some of the details of algorithms:-

Firstly, the input to Short Term predictor(STP) is the original or the
preprocessed speech and the input to Long term predictor(LTP) is the
prediction error of STP. But the frame-subframe structure is quite
confusing. I am using a 240 sample 8KHz(30 mS) audio as frame. Will
the LTP perfomed on suframe(60 sample) of prediction error frame(240
samples). Is it so? Also the pitch period is searched between 20 and
147, how can that be possible with a 60 sample(7.5 mS) subframe.

Secondly, the simplest codebook is the gaussian codebook. But how to
design it in matlab.

Can someone help me by refering some relavent documents explaing the
topic(s) in detail. If possible can somebody provide me basic code in
matlab or a link to it.

I will be highly obliged.

Thanks

Amit