[PD] Combat aliasing!

Mathieu Bouchard matju at artengine.ca
Thu Apr 1 03:05:00 CEST 2010

On Wed, 31 Mar 2010, Mathieu Bouchard wrote:

> The aliasing comes from a moiré (interference) between the frequency of the 
> sampling and the frequency of whatever is going on. In the case of 
> Karplus-Strong, the choice of the number of samples of delay is an integer, 
> therefore the rounding of those values will be a kind of aliasing, and this 
> aliasing will accumulate as the signal is fed back, because all the 
> fractional-sample delays exceeding or missing are going to add up instead of 
> being compensated by the usual counters.
> If you antialias Karplus-Strong synthesisers, instead, the antialias will act 
> as a lowpass that will attenuate much of the upper range of possible 
> frequencies. For example, a delay by n samples and a half, is quite 
> equivalent to how [rzero~ -1] acts as a kind of low-pass.

and I forgot to say, if you use [vd~] to circumvent [delread~]'s delay 
limitation, you will also find that [vd~] is a lot slower (taking more 
cpu), and that's normal, because [vd~] does antialiasing, whereas 
[delread~] does not. as a result, you can specify fractionary-sample 
delays, and when you do, it sounds similar to changing the setting of 
the [lop~] in your feedback loop, because you can't possibly perform 
fractionary-sample delay without accidental lowpassing.

  _ _ __ ___ _____ ________ _____________ _____________________ ...
| Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801

More information about the Pd-list mailing list