A UGen that constrains a signal to a given range, by limiting values outside
the range to the range margins. This is similar to the clip2 binary operator
but permits both a lower range value lo and an upper range value hi .
Mathematically, this is equivalent to in.max(lo).min(hi).
Be aware that there seems to be an initialization bug. The following crashes,
indicating that Clip.ar outputs a zero initially:
{{ play { val bar = Integrator.ar(DC.ar(0), coeff = 0.999) val foo =
Clip.ar(bar, lo = 1.0, hi = 44100.0) // .max(1.0) val sum =
RunningSum.ar(DC.ar(0), length = foo) sum.poll(1, "sum") () } }}
Examples
// clip sine wave to modulate timbre
play {
val hi = SinOsc.ar(0.1).linexp(-1, 1, 0.01, 1.0)
Clip.ar(SinOsc.ar(300), 0, hi) * 0.2 / hi
}
A UGen that constrains a signal to a given range, by limiting values outside the range to the range margins. This is similar to the
clip2
binary operator but permits both a lower range valuelo
and an upper range valuehi
.Mathematically, this is equivalent to
in.max(lo).min(hi)
.Be aware that there seems to be an initialization bug. The following crashes, indicating that
Clip.ar
outputs a zero initially:{{ play { val bar = Integrator.ar(DC.ar(0), coeff = 0.999) val foo = Clip.ar(bar, lo = 1.0, hi = 44100.0) // .max(1.0) val sum = RunningSum.ar(DC.ar(0), length = foo) sum.poll(1, "sum") () } }}
Examples
Fold
Wrap