Reply by abhi...@gmail.com March 1, 20062006-03-01
Hi, I am working on a project that implements CELP coding, as in AMR codec
for GSM. The codec uses a 'codebook' to store 'code
vectors', which are compared with excitation vectors and the error
minimised till a match is found. This match is used to synthesise speech.

The spec I am using, 3GPP TS 26.090 ver 6.0.0, r6, specifies codebook
architecture but not how it is created.

So how is this codebook to be generated ?

I have been looking on the net and have found nothing specific. Previously I
wrote a c++ code for LZW compression. It had a constantly updated dictionary
implemented using a hash table, with entries from the text stream. Should I do
something similar by recording audio samples ? If so, how are they to be
converted into code vectors ?

Any help/advice will be appreciated. Thanks in advance.

-Abhijit Krishna