LFPulse

object LFPulse extends ProductReader[LFPulse]

A non-band-limited pulse oscillator UGen. Outputs a high value of one and a low value of zero.

===Examples===

// modulating frequency
play { LFPulse.ar(XLine.kr(1, 200, 10), 0, 0.2) * 0.1 }
// modulating amplitude
play { LFPulse.kr(XLine.kr(1, 200, 10), 0, 0.2) * SinOsc.ar(440) * 0.1 }
// used as both oscillator and LFO
play { LFPulse.ar(LFPulse.kr(3, 0, 0.3).mulAdd(200, 200), 0, 0.2) * 0.1 }
See also
Companion
class
trait Product
trait Mirror
trait ProductReader[LFPulse]
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: LFPulse
def ar(freq: GE, iphase: GE, width: GE): LFPulse
Value Params
freq

oscillator frequency in Hertz

iphase

initial phase offset in cycles ( 0..1 ). If you think of a buffer of one cycle of the waveform, this is the starting offset into this buffer. Hence, an iphase of 0.25 means that you will hear the first impulse after 0.75 periods! If you prefer to specify the perceived delay instead, you could use an iphase of -0.25 + 1 which is more intuitive. Note that the phase is not automatically wrapped into the range of 0..1 , so putting an iphase of -0.25 currently results in a strange initial signal which only stabilizes to the correct behaviour after one period! ''(init-time only)''

width

pulse width duty cycle from zero to one. If you want to specify the width rather in seconds, you can use the formula width = freq * dur , e.g. for a single sample impulse use width = freq * SampleDur.ir .

def kr: LFPulse
def kr(freq: GE, iphase: GE, width: GE): LFPulse
Value Params
freq

oscillator frequency in Hertz

iphase

initial phase offset in cycles ( 0..1 ). If you think of a buffer of one cycle of the waveform, this is the starting offset into this buffer. Hence, an iphase of 0.25 means that you will hear the first impulse after 0.75 periods! If you prefer to specify the perceived delay instead, you could use an iphase of -0.25 + 1 which is more intuitive. Note that the phase is not automatically wrapped into the range of 0..1 , so putting an iphase of -0.25 currently results in a strange initial signal which only stabilizes to the correct behaviour after one period! ''(init-time only)''

width

pulse width duty cycle from zero to one. If you want to specify the width rather in seconds, you can use the formula width = freq * dur , e.g. for a single sample impulse use width = freq * SampleDur.ir .

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