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
Adaptive Codebook generation in AMR speech codec
Started by ●March 1, 2006