[Speex-dev] Getting at the LPC coefficients

Jean-Marc Valin jean-marc.valin at usherbrooke.ca
Fri Feb 2 17:54:22 PST 2007

Get the latest unstable release (1.2beta1). It's much better than 1.0.5


Bernie Roehl a écrit :
> Hi Jean-Marc
> I'm looking at the 1.0.5 source, and I'm not seeing an _spx_lpc().  There's
> an _spx_autocorr(), which is in lpc.c and is called near the start of the
> encoder function in nb_celp.c.
> The encoder seems to call the autocorr() function, then calls wld() to do
> something called Levinson-Durbin.  Am I right in thinking that after the
> call to wld(), the st->lpc[] array contains the coefficients?
> Later on it computes "interpolated" LPCs -- are these what I want?
> Thanks again for the help -- it's appreciated!
> On 2/2/07, Jean-Marc Valin <jean-marc.valin at usherbrooke.ca> wrote:
>> > I'm interested in doing phoneme extraction, and one of the first steps
>> in
>> > the algorithm I'm planning to use is to get the LPC coefficients for an
>> > input frame.  Since Speex is CELP-based, the coefficients must be
>> generated
>> > in there somewhere.  I've tried digging around in the source code, but
>> I'm
>> > finding it slow going.  Does anyone know if there's an easy way to get
>> at
>> > the data?
>> The coefficients are generated by _spx_lpc(), but they're not stored
>> directly in the bit-stream. However, if you look at the beginning of the
>> encoder function in nb_celp.c, you'll see it's not too much trouble to
>> get that code.
>>         Jean-Marc

More information about the Speex-dev mailing list