Audio Effects
Wether youβre using a synth or a sample, you can apply any of the following built-in audio effects. As you might suspect, the effects can be chained together, and they accept a pattern string as their argument.
bandf
bpfSets the center frequency of the band-pass filter.
- frequency (number|Pattern): center frequency
s("bd sd,hh*3").bandf("<1000 2000 4000 8000>")bandq
bpqSets the q-factor of the band-pass filter
- q (number|Pattern): q factor
s("bd sd").bandf(500).bandq("<0 1 2 3>")coarse
fake-resampling for lowering the sample rate. Caution: This effect seems to only work in chromium based browsers
- factor (number|Pattern): 1 for original 2 for half, 3 for a third and so on.
s("bd sd,hh*4").coarse("<1 4 8 16 32>")crush
bit crusher effect.
- depth (number|Pattern): between 1 (for drastic reduction in bit-depth) to 16 (for barely no reduction).
s("<bd sd>,hh*3").fast(2).crush("<16 8 7 6 5 4 3 2>")cutoff
lpfApplies the cutoff frequency of the low-pass filter.
- frequency (number|Pattern): audible between 0 and 20000
s("bd sd,hh*3").cutoff("<4000 2000 1000 500 200 100>")gain
Controls the gain by an exponential amount.
- amount (number|Pattern): gain.
s("hh*8").gain(".4!2 1 .4!2 1 .4 1")hcutoff
hpfApplies the cutoff frequency of the high-pass filter.
- frequency (number|Pattern): audible between 0 and 20000
s("bd sd,hh*4").hcutoff("<4000 2000 1000 500 200 100>")hresonance
hpqApplies the resonance of the high-pass filter.
- q (number|Pattern): resonance factor between 0 and 50
s("bd sd,hh*4").hcutoff(2000).hresonance("<0 10 20 30>")pan
Sets position in stereo.
- pan (number|Pattern): between 0 and 1, from left to right (assuming stereo), once round a circle (assuming multichannel)
s("[bd hh]*2").pan("<.5 1 .5 0>")resonance
lpqApplies the cutoff frequency of the low-pass filter.
- q (number|Pattern): resonance factor between 0 and 50
s("bd sd,hh*4").cutoff(2000).resonance("<0 10 20 30>")shape
Wave shaping distortion. CAUTION: it might get loud
- distortion (number|Pattern): between 0 and 1
s("bd sd,hh*4").shape("<0 .2 .4 .6 .8>")velocity
Sets the velocity from 0 to 1. Is multiplied together with gain.
s("hh*8")
.gain(".4!2 1 .4!2 1 .4 1")
.velocity(".4 1")vowel
Formant filter to make things sound like vowels.
- vowel (string|Pattern): You can use a e i o u.
note("c2 <eb2 <g2 g1>>").s('sawtooth')
.vowel("<a e i <o u>>")jux
The jux function creates strange stereo effects, by applying a function to a pattern, but only in the right-hand channel.
s("lt ht mt ht hh").jux(rev)juxBy
juxbyJux with adjustable stereo width. 0 = mono, 1 = full stereo.
s("lt ht mt ht hh").juxBy("<0 .5 1>/2", rev)Global Effects
Local vs Global Effects
While the above listed βlocalβ effects will always create a separate effects chain for each event, global effects use the same chain for all events of the same orbit:
orbit
An orbit is a global parameter context for patterns. Patterns with the same orbit will share the same global effects.
- number (number|Pattern):
stack(
s("hh*3").delay(.5).delaytime(.25).orbit(1),
s("~ sd").delay(.5).delaytime(.125).orbit(2)
)delay
Sets the level of the delay signal.
- level (number|Pattern): between 0 and 1
s("bd").delay("<0 .25 .5 1>")delaytime
Sets the time of the delay effect.
- seconds (number|Pattern): between 0 and Infinity
s("bd").delay(.25).delaytime("<.125 .25 .5 1>").slow(2)delayfeedback
Sets the level of the signal that is fed back into the delay. Caution: Values >= 1 will result in a signal that gets louder and louder! Don't do it
- feedback (number|Pattern): between 0 and 1
s("bd").delay(.25).delayfeedback("<.25 .5 .75 1>").slow(2)room
Sets the level of reverb.
- level (number|Pattern): between 0 and 1
s("bd sd").room("<0 .2 .4 .6 .8 1>")roomsize
sizeSets the room size of the reverb, see room.
- size (number|Pattern): between 0 and 10
s("bd sd").room(.8).roomsize("<0 1 2 4 8>")