LinCongN

object LinCongN extends ProductReader[LinCongN]

A non-interpolating sound generator based on the difference equation:

x[n+1] = (a * x[n] + c) % m

The output signal is automatically scaled to a range of [-1, 1].

===Examples===

// default initial parameters
play { LinCongN.ar(MouseX.kr(20, SampleRate.ir)) * 0.2 }
// randomly modulate parameters
play {
 LinCongN.ar(
   LFNoise2.kr(1.0).mulAdd(1e4, 1e4),
   LFNoise2.kr(0.1).mulAdd(0.5, 1.4),
   LFNoise2.kr(0.1).mulAdd(0.1, 0.1),
   LFNoise2.kr(0.1)
 ) * 0.2
}
// as frequency control
play {
 SinOsc.ar(
   LinCongN.ar(
     40,
     LFNoise2.kr(0.1).mulAdd(0.1, 1),
     LFNoise2.kr(0.1).mulAdd(0.1, 0.1),
     LFNoise2.kr(0.1)
   ).mulAdd(500, 600)
 ) * 0.4
}
See also
Companion
class
trait Product
trait Mirror
trait ProductReader[LinCongN]
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(freq: GE, a: GE, c: GE, m: GE, xi: GE): LinCongN
Value Params
a

Multiplier amount

c

Increment amount

freq

Iteration frequency in Hertz

m

Modulus amount

xi

Initial value of x

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