103 lines
1.4 KiB
Racket
103 lines
1.4 KiB
Racket
#lang scribble/manual
|
|
@(require (for-label racket))
|
|
|
|
@title{LFPulse}
|
|
pulse oscillator@section{categories}
|
|
UGens>Generators>Deterministic
|
|
@section{related}
|
|
Classes/LFSaw
|
|
|
|
@section{description}
|
|
|
|
A non-band-limited pulse oscillator. Outputs a high value of one and a low value of zero.
|
|
|
|
@section{classmethods}
|
|
|
|
|
|
@section{method}
|
|
ar, kr
|
|
|
|
@section{argument}
|
|
freq
|
|
frequency in Hertz
|
|
|
|
@section{argument}
|
|
iphase
|
|
initial phase offset in cycles ( 0..1 )
|
|
|
|
@section{argument}
|
|
width
|
|
pulse width duty cycle from zero to one.
|
|
|
|
@section{argument}
|
|
mul
|
|
|
|
@section{argument}
|
|
add
|
|
|
|
@section{instancemethods}
|
|
|
|
@section{private}
|
|
signalRange
|
|
|
|
@section{examples}
|
|
|
|
|
|
a plot:
|
|
|
|
@racketblock[
|
|
{ LFPulse.ar(Line.kr(100, 800, 0.1)) }.plot(0.1);
|
|
::
|
|
|
|
50 Hz wave:
|
|
]
|
|
|
|
@racketblock[
|
|
{ LFPulse.ar(50) * 0.1 }.play;
|
|
::
|
|
|
|
modulating frequency:
|
|
]
|
|
|
|
@racketblock[
|
|
{ LFPulse.ar(XLine.kr(1, 200, 10), 0, 0.2, 0.1) }.play;
|
|
::
|
|
|
|
amplitude modulation:
|
|
]
|
|
|
|
@racketblock[
|
|
{ LFPulse.kr(XLine.kr(1, 200, 10), 0, 0.2) * SinOsc.ar(440) * 0.1 }.play;
|
|
::
|
|
|
|
used as both Oscillator and LFO:
|
|
]
|
|
|
|
@racketblock[
|
|
{ LFPulse.ar(LFPulse.kr(3, 0, 0.3, 200, 200), 0, 0.2, 0.1) }.play;
|
|
::
|
|
|
|
scope:
|
|
]
|
|
|
|
@racketblock[
|
|
{ LFPulse.ar(500, 0, MouseX.kr, 0.5) }.scope;
|
|
::
|
|
|
|
compare with band limited Pulse UGen:
|
|
]
|
|
|
|
@racketblock[
|
|
(
|
|
{
|
|
[
|
|
Pulse.ar(100, 0.3, 0.5),
|
|
LFPulse.ar(100, 0, 0.3, 0.5)
|
|
] * 0.2
|
|
}.scope(bufsize: 44100, zoom: 5)
|
|
)
|
|
::
|
|
|
|
]
|
|
|
|
|