Continuous Signals
Signals are patterns with continuous values, meaning they have theoretically infinite steps. They can provide streams of numbers that can be sampled at discrete points in time.
saw
A sawtooth signal between 0 and 1.
note("<c3 [eb3,g3] g2 [g3,bb3]>*8")
.clip(saw.slow(2))n(saw.range(0,8).segment(8))
.scale('C major')sine
A sine signal between 0 and 1.
n(sine.segment(16).range(0,15))
.scale("C:minor")cosine
A cosine signal between 0 and 1.
n(stack(sine,cosine).segment(16).range(0,15))
.scale("C:minor")tri
A triangle signal between 0 and 1.
n(tri.segment(8).range(0,7)).scale("C:minor")square
A square signal between 0 and 1.
n(square.segment(4).range(0,7)).scale("C:minor")rand
A continuous pattern of random numbers, between 0 and 1.
// randomly change the cutoff
s("bd*4,hh*8").cutoff(rand.range(500,8000))Ranges from -1 to 1
There is also saw2, sine2, cosine2, tri2, square2 and rand2 which have a range from -1 to 1!
perlin
Generates a continuous pattern of perlin noise, in the range 0..1.
// randomly change the cutoff
s("bd*4,hh*8").cutoff(perlin.range(500,8000))irand
A continuous pattern of random integers, between 0 and n-1.
- n (number): max value (exclusive)
// randomly select scale notes from 0 - 7 (= C to C)
n(irand(8)).struct("x x*2 x x*3").scale("C:minor")brand
A continuous pattern of 0 or 1 (binary random)
s("hh*10").pan(brand)brandBy
A continuous pattern of 0 or 1 (binary random), with a probability for the value being 1
- probability (number): a number between 0 and 1
s("hh*10").pan(brandBy(0.2))mouseX
The mouse's x position value ranges from 0 to 1.
n(mousex.segment(4).range(0,7)).scale("C:minor")mouseY
The mouse's y position value ranges from 0 to 1.
n(mousey.segment(4).range(0,7)).scale("C:minor")Next up: Random Modifiers