1.1 KiB
1.1 KiB
Generators
Create sequences of values on the stack.
Arithmetic Range
The .. operator pushes an arithmetic sequence:
1 4 .. ( pushes 1 2 3 4 )
60 67 .. ( pushes 60 61 62 63 64 65 66 67 )
Geometric Range
The geom.. operator creates a geometric sequence:
1 2 4 geom.. ( pushes 1 2 4 8 )
100 0.5 4 geom.. ( pushes 100 50 25 12.5 )
Stack: (start ratio count -- values...)
Generate
The gen word executes a quotation multiple times:
{ 1 6 rand } 4 gen ( 4 random values from 1-6 )
{ coin } 8 gen ( 8 random 0/1 values )
Examples
Random melody:
"pluck" s
{ 48 72 rand } 4 gen 4 choose note
.
Chord from range:
"pad" s
60 67 .. 8 choose note ( random note in octave )
.
Euclidean-style rhythm values:
0 1 0 0 1 0 1 0 ( manual )
{ coin } 8 gen ( random 8-step pattern )
Words
| Word | Stack | Description |
|---|---|---|
.. |
(start end -- values...) | Arithmetic sequence |
geom.. |
(start ratio count -- values...) | Geometric sequence |
gen |
(quot n -- results...) | Execute quotation n times |