On Sun, Jun 08, 2014 at 12:36:17PM +0200, hermann meyer wrote: > Without downsampling it use (well, 4xtimes more then now) 8% dsp > load. Most costs in the original source comes from that used values > are not pre-calculated. > But indeed, the reason for downsampling is that the limited > frequency range makes it sound good, because that removes most of the broadband junk that would be generated otherwise... > and for guitar/bass 3kHz are > far more then enough when you would add a octave up/down to the > original sound. True for bass and guitar. Still this algorithm is far from what it could be. I don't blame for you that, it's Bernsee who is missing the consequences of his own analysis (which is valid as far as it goes). Take alook at his table labeled 'pass #5'. The input signal is halfway between two bins. Assume we want one octave up. The expected output signal corresponds exactly to bin 225. For that signal, the output of the analysis FFT would be (similar to 'pass #1): bin amplitude ------------------ 223 0.000 224 0.500 225 1.000 226 0.500 227 0.000 And that is of course also what the correct input to the synthesis IFFT should be. Which is quite different from what the algorithm produces (by scaling each bin individually): bin amplitude ------------------- 222 0.170 223 0.000 224 0.849 225 0.000 226 0.849 227 0.000 228 0.170 The result of this after the IFFT is the correct frequency, but with two periods of the window applied (it will be zero at the center). The frequency values that are calculated provide exactly the information required to avoid this and to do the correct calculation. But it's just thrown away. Ciao, -- FA A world of exhaustive, reliable metadata would be an utopia. It's also a pipe-dream, founded on self-delusion, nerd hubris and hysterically inflated market opportunities. (Cory Doctorow) _______________________________________________ Linux-audio-user mailing list Linux-audio-user@xxxxxxxxxxxxxxxxxxxx http://lists.linuxaudio.org/listinfo/linux-audio-user