Csound Csound-dev Csound-tekno Search About

Re: LPC, FFT etc

Date1999-02-26 02:52
Fromrasmus ekman
SubjectRe: LPC, FFT etc
CB and ES both wrote:
> 
> LPC != FFT. 

Good! I short-circuited somehow and unthinkingly assumed that LPC is 
in the windowed FFT family of tools, further I don't know any maths and
this shines brightly from all I'll say. 
((ES said: "... buzz or noise at kr. I suspect that's your burble"
To me that seemed suspect; a noise at kr would usually be a zipper noise,
not a burble. And the underwater effect is very common when you've done 
something to data in the spectral plane and then IFT-resynthesize it.))
That was wrong, I've not looked at LPC yet so shouldn't post about it.

Then I switched to slandering FFT in general. 
The Heisenberg concept is quite simple (on a superficial level at least), 
I haven't missed that particular point. So by "multi-band sine-wave analysis" 
I didn't mean that we could magically dodge the time/pitch precision tradeoffs, 
nor that we could magically avoid all kinds of analysis artifacts, I tried to 
refer to multiresolution analysis methods. 

Point in case, with standard short-time discrete FT, at sr=44100 and window
size=512 samples, we get only eleven pitch bands in the range 100-1000 Hz, 
while 137 out of 255 pitch-bands are in the 10000-22050 Hz range. Ie, we get 
octave-wide "precision" in the lowest pitch range, and smaller-than-cent 
precision near the Nyquist frequency. It's usually quite ok to synthesize 
a sound from 256 exponentially-spaced sines, but the harmonical pitch 
distribution that DFT yields is so much less fun. And larger window sizes 
make the output slurred (as the H-principle states), while we get even more 
useless data about micro-pitches in the uppermost range of hearing.

Now there are newer analysis methods (called wavelets, though FT could be 
seen as a case of wavelet too) replacing FFT in many places. 
But for various reasons wavelets developed for data reduction seem less 
useful to our (my) preferred musical applications.

What vexes me is that so far no musical applications have been developed 
in this area. Ok, real-audio and mp3 compression exist and work pretty well. 
But it would seem they've just picked some standard wavelet code and applied 
it to soundfiles. I got the same result right away by running the free 
Numerical Recipes wavelet code. 

spectrum also exists, and hopefully also works pretty well. It does
multiresolution analysis to user-selected precision, but the output only 
works with the spec* opcodes.
I'm not sure someone could bask in glory just by pilfering the spectrum 
code, optimise it (if possible), and present it in an analysis/resyntheis 
package (though this would be useful too), but it did (a year ago) look 
to me as a lot more flexible (and still fast) tools could be created 
using analysis functions with local support, downsampling schemes etc. 
But then I'm not a mathematician.

Cheers,

	re


References: Everything linked from the Introduction section of Amara's wavelet 
page, and several papers from the other sections (note, 1 1/2 years ago, there's 
probably much new stuff there, but they all say pretty much the same things 
if you skip the Greek bits...)