Csound Csound-dev Csound-tekno Search About

Linear Prediction in Csound

Date1999-03-12 09:48
From"John J. Samuel"
SubjectLinear Prediction in Csound
Dear listers,

I am writing a soundfile editor for Windows with facilities
for analysing and visualising sounds. I hope this will be
of interest to some listers, as it includes the ability to
read and write phase vocoder and linear prediction analysis
files in Csound format. Just to whet your appetites, let me
say that you will be able to scale full-colour spectrograms,
assign colour maps and scales, render spectrograms in
3 dimensions which can be rotated, translated and scaled
in real time (so long as your files are of modest length and
you have a fairly powerful computer).

    The editor also has a comprehensive facility for designing
and visualising digital filters. The facility has been tested with
standard FIR and IIR filter designs, and seems to work rather
well. My problem is this. I've read in some LPC analysis
files into my filter visualisation routines. These files consist
of filter poles, rather than coefficients - the "new" file format,
with a magic number of 2399. I believe I am reading the files
in right, because my program interprets the other information
correctly - the RMS values for the original and residual signal,
the error coefficient and the pitch, all of which are interleaved,
frame by frame, with the filter poles. In general, the filter poles
ought to be either purely real, or come in complex conjugate
pairs of complex numbers. They don't. What is surprising is
that this seems to happen even with very small orders - 3 poles
or 4 poles, which you wouldn't think would give a root-finding
routine any problems. I'd like some light shed on this phenomenon.
Feel free to tell me that I'm an idiot who wouldn't know a filter
pole on a platter smeared with honey and gold leaf.

John