29 lines
906 B
Racket
29 lines
906 B
Racket
#lang scribble/manual
|
|
@(require (for-label racket))
|
|
|
|
@title{(phasor trig rate start end resetpos)}
|
|
|
|
|
|
triggered linear ramp between two levels. Starts a linear ramp
|
|
when trig input crosses from non-positive to positive.
|
|
|
|
trig - sets phase to resetPos (default: 0, equivalent to start)
|
|
rate - rate value in 1 / frameDur (at 44.1 kHz sample rate: rate
|
|
1 is eqivalent to 44100/sec)
|
|
start, end - start and end points of ramp
|
|
resetPos - determines where to jump to on recieving a trigger. the
|
|
value at that position can be calculated as follows:
|
|
(end - start) * resetPos
|
|
|
|
phasor controls sine frequency: end frequency matches a second sine wave.
|
|
|
|
|
|
@racketblock[
|
|
(let* ((r (mouse-x kr 0.2 2 1 0.1))
|
|
(t (impulse ar r 0))
|
|
(x (phasor ar t (fdiv r sample-rate) 0 1 0))
|
|
(f (mce2 (lin-lin x 0 1 600 1000) 1000)))
|
|
(audition (out 0 (mul (sin-osc ar f 0) 0.2))))
|
|
]
|
|
|
|
|