[Speex-dev] Getting at the LPC coefficients
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
>> > 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
>> > in there somewhere. I've tried digging around in the source code, but
>> > finding it slow going. Does anyone know if there's an easy way to get
>> > 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.
More information about the Speex-dev