Helloto , which are the cheapest effects in pd in terms of cpu consumption? Is there any information of this anywhere maybe?
I need to have massive quantity of effects , any idea?
Xiao.
A simple way to check is to use the cpu meter on PD. To see more action, multiply the number of effects you are using.
Even just a large number of [throw~] and [catch~] can cause a bit of load
on the cpu, while direct connections are cheaper.
As for "effects", I guess there really isn't any specific category for
them as far as objects are concerned. I know there are a few objects that
could be considered effects.
On Sun, 30 Sep 2012 09:50:53 +0200, xiaoping lyu xiaoping.lyu@gmail.com
wrote:
Helloto , which are the cheapest effects in pd in terms of cpu
consumption? Is there any information of this anywhere maybe?I need to have massive quantity of effects , any idea?
Xiao
ring mod is cheap. it's not much more than an [osc~] and a [*~ ]
table-lookup waveshapers are cheap. they're not much more than [tabread~]
a flanger can be cheap. just a [delread~] [vd~] pair and something to modulate it - but you can use control objects for the modulation, to further cut CPU cost. a chorus can be as simple as a couple of flangers.
delay is even cheaper, just a [delread~] and [delwrite~], and some [*~ ] to set the feedback amount.
[vcf~] is pretty cheap, [lop~] , [bp~] and [hip~] even cheaper still.
all sorts of distortions can be done very cheaply. [*~ ] going into [clip~] is a simple and nasty digital distortion, or you can do [*~] into [tanh~] for a smoother one. [wrap~] can also be used for distortion effects.
a simple gate can be made with [env~] to detect the signal, and then some basic computations in the control domain to check whether it is rising or falling, for attack and release. Then you just need to use [line~] and [*~] to gate your signal.
a panner is not much more than a pair pf [*~] objects.
that's just some ideas...there are heaps more. Other things to take note of, if you're using lots and lots of processes:
*use control signals instead of audio signals wherever possible.
*use [switch~] inside patches or subpatches that are not being used. This frees the cpu for others.
*whenever possible, re-use a single process, rather than copying it over and over. For example, if you want to make 10 effects that all use [noise~], then instead of creating 10 [noise~] objects, it will be cheaper to create a [send~] after that [noise~] in a parent patch, and then use [receive~] objects in all the effect patches.