SOS

object SOS extends ProductReader[SOS]

A second order filter section (biquad) UGen. Filter coefficients are given directly rather than calculated for you. The formula is equivalent to:

out(i) = a0 * in(i) + a1 * in(i-1) + a2 * in(i-2) + b1 * out(i-1) + b2 * out(i-2)

===Examples===

// 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
}
See also
Companion
class
trait Product
trait Mirror
trait ProductReader[SOS]
class Object
trait Matchable
class Any

Type members

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Inherited from
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Inherited from
Mirror

Value members

Concrete methods

def ar(in: GE, a0: GE, a1: GE, a2: GE, b1: GE, b2: GE): SOS
Value Params
in

input signal to be filtered

def kr(in: GE, a0: GE, a1: GE, a2: GE, b1: GE, b2: GE): SOS
Value Params
in

input signal to be filtered

def read(in: RefMapIn, key: String, arity: Int): SOS