Score

group(...) --- Several at Once, and Relative Values

group() gives several sounds (or shapes, texts, boxes) one name. Wherever a name goes, the group's name stands for all its members. Relative values (*0.9, +=0.2) change each member from where it is, so their differences stay.

Syntax

group(pads, [p1, p2, p3]) pads is p1, p2 and p3 group(pads, p1, p2) ... written bare group(all, pads, drums) a group of groups group(pads) who is in it (the console) group(pads, off) gone

synth(uid:pads, amp:*0.9) each pad 10% quieter than it is now synth(uid:pads, pan:+=0.2) each nudged right (-= left) synth(uid:pads, freq:*2) every pad up an octave level(pads, *0.5, 4) each fader to half where it is, over 4 beats level(pads, 0, 8) all faded out hush(pads) gui(pads, width:*2) fx(room, [pads]) all of them through one bus fx(room, reverb:{mix:*1.5}) the bus's own settings, relatively too

Groups

Relative values

written means
*k (or *=k) times k: rate:*0.9 10% slower, amp:*2 twice as loud
+=k plus k: pan:+=0.2
-=k minus k: pan:-=0.2 — pan:-0.2 is still the plain value −0.2

Each counts from what that one has now, so synth(uid:pads, freq:*2) with p1 at 110 Hz and p2 at 165 Hz gives 220 and 330 — the chord goes up an octave and stays as it was voiced. Run it again and it goes up again.

What "now" is:

cue from
say() how the name speaks: rate, speed, amp, pan (1, 1, 1, 0 before any is set)
synth() the voice sounding: its pitch for freq, its amp, pan …
audio() the voice playing: amp, speed, pan
level() the fader where it is
fx() the bus: reverb/delay/filter settings (mix:*1.5), its amp
gui() the box or shape: width, opacity, size, rows, span, trail

Elsewhere a relative value counts from 1 (*) or 0 (+=), with a note in the console.

rate and speed on speech. rate: takes effect from each voice's next sentence (it is made at that pace); speed: bends what is being said now as well — slower and lower together, like tape.

Tip: use ← → or ↑ ↓ to navigate the docs