// same as TwoPole
play {
val theta = MouseX.kr(0.2*math.Pi, 0.9*math.Pi)
val rho = MouseY.kr(0.6, 0.98)
val b1 = 2.0 * rho * theta.cos
val b2 = -(rho.squared)
SOS.ar(WhiteNoise.ar(Seq(0.05, 0.05)), 1.0, 0.0, 0.0, b1, b2)
}
// used as control signal
play {
val theta = MouseX.kr(0.2*math.Pi, math.Pi)
val rho = MouseY.kr(0.6, 0.99)
val b1 = 2.0 * rho * theta.cos
val b2 = -(rho.squared)
val vib = SOS.kr(LFSaw.kr(3.16), 1.0, 0.0, 0.0, b1, b2)
SinOsc.ar(vib * 200 + 600) * 0.2
}
A second order filter section (biquad) UGen. Filter coefficients are given directly rather than calculated for you. The formula is equivalent to:
Examples
FOS