antialiasing - what is the mechanism?
-
- KVRist
- 466 posts since 14 Nov, 2003
From descriptions of some synths it looks like its simple lopass filter.
is this true?
are there any specific general usage settings?
is this true?
are there any specific general usage settings?
-
- KVRAF
- 4222 posts since 23 Feb, 2004 from Tucson Arizona USA
Oversampling to avoid aliasing in the first place, and LPF to clean it up instead.
- KVRAF
- 4030 posts since 7 Sep, 2002
-
- KVRAF
- 10597 posts since 13 Jun, 2004 from Alberto Balsam
Oversampling will still require an LP filterjames0tucson wrote:Oversampling to avoid aliasing in the first place, and LPF to clean it up instead.
-
- KVRian
- 694 posts since 22 Dec, 2004 from norway
We have often discussed this at synthedit forum. It must be done inside the oscillator. That is your only chance. Other solutions will not sound good, and will only make the sound dull. Only the best programmers can make a good oscillator. Attila Fustos has made a good alias-free oscillator.
gunnare
gunnare
- KVRAF
- 12615 posts since 7 Dec, 2004
one thing you need to understand first is that, aliasing isnt something extra that is in your signal. aliasing is something caused by what you throw away. if you suffer from aliasing, it means you have lost information at some point.
you should either use code already produced, or one simple solution for oscillators is to run the oscillators only at rates where the samples per cycle is an integer. the alias frequencies will still occur, however they will line up with existing frequencies and become impossible to notice.
building upon that, you can increase the accurancy of the oscillator frequency by oversampling by an integer, and applying a convolution and decimation to the result.
currently the best method of doing oscillators is the 'minblep' method, where a bandlimited impulse including an inverse of the original impulse is applied over the signal, basically canceling out the aliasing and placing the fractional information at the correct place.
you can also use wavetables, which are still very popular and much easier to get working correctly.
you should either use code already produced, or one simple solution for oscillators is to run the oscillators only at rates where the samples per cycle is an integer. the alias frequencies will still occur, however they will line up with existing frequencies and become impossible to notice.
building upon that, you can increase the accurancy of the oscillator frequency by oversampling by an integer, and applying a convolution and decimation to the result.
currently the best method of doing oscillators is the 'minblep' method, where a bandlimited impulse including an inverse of the original impulse is applied over the signal, basically canceling out the aliasing and placing the fractional information at the correct place.
you can also use wavetables, which are still very popular and much easier to get working correctly.
