rsc3/doc/help/ugen/granular/grain-sin.help.scrbl
2022-08-28 12:27:01 +02:00

37 lines
919 B
Racket

#lang scribble/manual
@(require (for-label racket))
@title{(grain-sin nc tr dur freq pan envbuf)}
Granular synthesis with sine tones
nc - the number of channels to output. If 1, mono is returned and
pan is ignored.
tr - a kr or ar trigger to start a new grain. If ar, grains after
the start of the synth are sample accurate.
The following args are polled at grain creation time
dur - size of the grain.
freq - the input to granulate
pan - a value from -1 to 1. Determines where to pan the output in
the same manner as pan-az.
envbuf - the buffer number containing a singal to use for the grain
envelope. -1 uses a built-in Hanning envelope.
@racketblock[
(let* ((x (mouse-x kr -0.5 0.5 0 0.1))
(y (mouse-y kr 0 400 0 0.1))
(n (white-noise kr))
(f (add 440 (mul n y)))
(t (impulse kr 10 0)))
(audition (out 0 (mul (grain-sin 2 t 0.1 f x -1) 0.1))))
]