[PD] random oscillation between two values

cyrille henry ch at chnry.net
Sun Aug 22 21:49:29 CEST 2010

```in this situation, i use a "slow" metro, trigering a random with the correct scale, and filter the value with a line3 object
(the time of the line is the same than the metro time)
change "smoothness" with the metro tempo.

cyrille

Le 22/08/2010 21:17, Matteo Sisti Sette a écrit :
> Hi,
>
> In my patches (especially in visual ones) I often need some value to
> randomly "oscillate", or change smoothly, between two extremes, at
> regular intervals (e.g. change every frame).
>
> For this purpose I often use filtered noise: [random] followed by a
> filter of the kind
> y[n]=a*y[n-1]+(1-a)*x[n]
> with 0<a<1
>
> This is fine when I don't need to have a very precise control over the
> range and especially when it doesn't have to be controlled dinamically,
> so I just adjust the "smoothness" and compensate the gain by trial and
> error.
> But when I need to easily control the minimum and maximum and have a
> parameter that controls "smoothness" in a natural way, I am not very
> satisfied with this approach.
>
> Another technique I use is to have a random increment (which can be
> positive or negative) added to the current value; then I can force it to
> "bounce" when it reaches either extreme. Same as above: it works but is
> often unsatisfying.
>
>
> What do you usually use in these situations? I'd prefer a roughly
> uniform distribution of the final result over a gaussian one, or at
> least one that would have a minimum and a maximum without clipping (the
> problem with a gaussian is that you either get a peak in probability of
> the extreme values, or in order to avoid them, you get very low density
> for any value near them)....
>
> I know this is not a well-defined problem, that there are hundreds of
> but I guess many of you have often needed something similar and I'd like
> to hear what are your favourite solutions.
>
>
> thanks
> m.
>
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management ->
> http://lists.puredata.info/listinfo/pd-list
>

```