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
bpf
Sets the center frequency of the band-pass filter.
- frequency (number|Pattern): center frequency
s("bd sd,hh*3").bandf("<1000 2000 4000 8000>")
bandq
bpq
Sets 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
lpf
Applies 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
hpf
Applies 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
hpq
Applies 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
lpq
Applies 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
juxby
Jux 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
size
Sets 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>")