LFGauss

object LFGauss extends ProductReader[LFGauss]

A non-band-limited gaussian function oscillator UGen. Output ranges from minVal to 1. It implements the formula:

f(x) = exp((x - phase).squared / (-2 * width.squared))

where x is to vary in the range -1 to 1 over the period dur . minVal is the initial value at -1. E.g. for default parameters, it is exp(-50) or roughly zero.

===Examples===

// dur and width can be modulated at audio rate
play {
 val dur = SinOsc.ar(MouseX.kr(2, 1000, 1) * Seq(1.0, 1.1)).linLin(-1, 1, 0.0006, 0.01)
 val width = SinOsc.ar(Seq(0.5, 0.55)).linLin(-1, 1, 0.01, 0.3)
 LFGauss.ar(dur, width) * 0.2
}
// several frequencies and widths combined
play {
 val x    = MouseX.kr(1, 0.07, 1)
 val y    = MouseY.kr(1, 3)
 val mod  = LFGauss.ar(x, (-1 to -6 by -1).map(i => y.pow(i)))
 val carr = SinOsc.ar((0 to 5).map(i => 200 * 1.3.pow(i)))
 Mix(carr * mod) * 0.1
}
// test spectrum
play {
 val son = LeakDC.ar(LFGauss.ar(0.005, 0.2))
 BPF.ar(son * 3, MouseX.kr(60, 2000, 1), 0.05)
}
Companion
class
trait Product
trait Mirror
trait ProductReader[LFGauss]
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: LFGauss
def ar(dur: GE, width: GE, phase: GE, loop: GE, doneAction: GE): LFGauss
Value Params
doneAction

evaluated after cycle completes

dur

duration in seconds of a full -1 <= x <= 1 cycle, or the reciprocal of the frequency

loop

if greater than zero, the UGen oscillates. Otherwise it calls doneAction after one cycle.

phase

phase offset

width

relative width of the bell. Best to keep below 0.25 when used as envelope.

def kr: LFGauss
def kr(dur: GE, width: GE, phase: GE, loop: GE, doneAction: GE): LFGauss
Value Params
doneAction

evaluated after cycle completes

dur

duration in seconds of a full -1 <= x <= 1 cycle, or the reciprocal of the frequency

loop

if greater than zero, the UGen oscillates. Otherwise it calls doneAction after one cycle.

phase

phase offset

width

relative width of the bell. Best to keep below 0.25 when used as envelope.

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