ring mod is cheap.  it&#39;s not much more than an [osc~] and a [*~ ]<br><br>table-lookup waveshapers are cheap.  they&#39;re not much more than [tabread~]<br><br>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.   <br>
a chorus can be as simple as a couple of flangers.<br><br>delay is even cheaper, just a [delread~] and [delwrite~], and some [*~ ] to set the feedback amount. <br><br>[vcf~]  is pretty cheap, [lop~] , [bp~] and [hip~] even cheaper still.<br>
<br>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.<br>
<br>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.<br>
<br>a panner is not much more than a pair pf [*~] objects.<br><br><br><br>that&#39;s just some ideas...there are heaps more.  Other things to take note of, if you&#39;re using lots and lots of processes:<br><br>*use control signals instead of audio signals wherever possible.  <br>
<br>*use [switch~] inside patches or subpatches that are not being used.  This frees the cpu for others.<br><br>*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.<br>
<br><br>