Hi Jacopo,
On 02/07/15 16:35, Jacopo Lovatello wrote:
Hi guys, I've got a doubt about [block~]: I must create an oversampled oscillator that I'm going to filter with an antialiasing filter.
I can't put [block~] where I've got my [phasor~] object, because, in that case, I'm going to oversample also other parameters that I don't want to oversample (like frequency and other stuff that is specified as an audio signal), so I thought to put the filter and [block~] in a subpatch like that: [phasor~] | [pd aa] <- in that I oversample and filter |
[dac~]My doubt is: By doing so I have an oversampled oscillator or an oscillator sampled at 44.1KHz (with aliasing caused by that frequency) that later I'm going to oversample in vain? ('cause I already have aliasing in it?)
The [phasor~] *must* be *inside* the oversampled subpatch, otherwise it will already be aliased at 44kHz (or whatever the outside sample rate is).
Inside the oversampled subpatch, it will still be aliased, but at a much higher sample rate, which means the components that fold back into the audible range will be much quieter.
You still need to filter before downsampling at the end of the oversampled subpatch, because otherwise the components above 22kHz will be aliased again.
So in the main patch:
(parameter signals) | | | [pd aa] | [dac~]
inside [pd aa]:
[block~ ...]
[inlet~] [inlet~] [inlet~] ... | [phasor~] | ... | [anti-aliasing filter that removes all frequencies above 22kHz] | [outlet~]
Thanks and sorry for the bad english.
I hope this helps,