----- Original Message ----- > From: "Fons Adriaensen" <fons@xxxxxxxxxxxxxx> > I don't think that the DSP code is doing what the parameters > would suggest - the visual results don't match. > > Could it be that 'l' sets the window size ? It shouldn't, > the window size should be the fft size. Then, if you have > both 'l' and 's', then both together determine the overlap, > so this can't be a separate parameter. > > Also, with just a 1 kHz sine as the input, I'd expect all > spectra to be identical, but they are not... that's a bit unfortunate... I'll have a look at all this, thanks to report. for s, l and overlap: s is the fft size (let's say 1024 for an example) l is the sample count, if set at 512 we compute an fft each 512 samples. Since fft size is 1024, we append with 512 zeros. Overlap is how much we advance the input to compute the next fft. In our example: set to 0, at time 0 we compute with input[0..511] and next iteration we compute with x[512..1023]. Set to 0.5, next iteration is computed with x[256..767]. Set to 1, next iteration would compute with x[1..512] (normally it should not advance at all, so setting to 1 is in fact setting to 1-epsilon with epsilon such that we advance by 1 sample) The window is computed on the l samples. I guess all this is not done the standard way... (and I hope the code does what I say above...) For your 1k sine, I'll have a look. If you have some time, it would be great to have a screenshot just to be sure I see the same thing than you? And thanks for the testing. The code does not crash on at least three and half computers! that's great. Regards, Cédric. _______________________________________________ Linux-audio-user mailing list Linux-audio-user@xxxxxxxxxxxxxxxxxxxx http://lists.linuxaudio.org/listinfo/linux-audio-user