[PD] block~ and subpatching

Claude Heiland-Allen claude at mathr.co.uk
Sat Jul 4 19:16:55 CEST 2015


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,


Claude
-- 
http://mathr.co.uk




More information about the Pd-list mailing list