Selon Larry Troxler lt@westnet.com:
On Wednesday 19 May 2004 08:32, julien.breval@tremplin-utc.net wrote:
Hello
I've got an additive synth which generates some very high frequency partials and hence aliasing distortion occurs when the fundamental is high enough.
I tried to fix this by using a low pass (lop~) filter before the dac. This didn't fix the problem and I suspect that lop~ only filters up to about 22kHz. Is there a way of implementing a 'brick wall' filter which will stop ALL frequencies past a cutoff? (i.e. not just frequencies in the audible range)
You can make a 'brick' filter using an FFT transform, but the sound will
be
more or less altered (depending on the window size and the overlap you
use
for the FFT). I programmed a dual similar filter for adding the low partials of a sound to the high partials of another sound (the limit is
as
vertical as possible). As there was nothing else running in the patch, I could set the window size to 4096 (for accurate frequency resolution) and the overlap to 16 (for accurate "time" resolution). The problem of this method is that it takes lots of CPU.
No, actually, the problem of this method is that it doesn't work in this case. Once aliased frequencies are introduced, the game is over, because the frequencies have already been aliased.
you are right
It only works if the additive synthesis itself is 100% FFT-based (which is not the regular solution)