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.