SuperCollider CLASSES

LFDNoise3

Dynamic cubic noise
Inherits from: LFNoise0 : UGen : AbstractFunction : Object

Description

Similar to LFNoise2 , it generates polynomially interpolated random values at a rate given by the freq argument, with 3 differences:

If you don't need very high or very low freqs, or use fixed freqs, LFNoise2 is more efficient.

Class Methods

*ar (freq: 500, mul: 1, add: 0)

From superclass: LFNoise0

*kr (freq: 500, mul: 1, add: 0)

From superclass: LFNoise0

Arguments:

freq

Approximate rate at which to generate random values.

mul

Output will be multiplied by this value.

add

This value will be added to the output.

Inherited class methods

Instance Methods

Inherited instance methods

Examples

// try wiggling mouse quickly:
// LFNoise2 overshoots when going from high to low freqs, LFDNoise changes smoothly.

{  SinOsc.ar(LFNoise2.ar(MouseX.kr(0.1, 1000, 1), 200, 500), 0, 0.2)  }.play

{  SinOsc.ar(LFDNoise3.ar(MouseX.kr(0.1, 1000, 1), 200, 500), 0, 0.2)  }.play


// LFNoise quantizes time steps at high freqs, LFDNoise does not:

{ LFNoise2.ar(XLine.kr(2000, 20000, 8), 0.1) }.scope;

{ LFDNoise3.ar(XLine.kr(2000, 20000, 8), 0.1) }.scope;

// use as frequency control
(
{
        SinOsc.ar(
            LFDNoise3.ar(4, 400, 450),
            0, 0.2
        )
}.play;
)
[1] - LFNoise0 , LFNoise1 and LFNoise2 quantize to the nearest integer division of the samplerate, and they poll the freqargument only when scheduled; thus they often seem to hang when freqs get very low.