Reference

abs

math

returns the absolute value of the signal

in (): signal input

acos

math

calculates the acos of the input signal

in (): signal input

ad

envelope

AD envelope

trig (0): gate input
att (0.02): attack time
dec (0.1): decay time

add

math

sums the given signals

...in (): signal input

adsr

envelope

ADSR envelope

gate (0): gate input
att (0.02): attack time
dec (0.1): decay time
sus (0.2): sustain level
rel (0.1): release time

and

logic

returns 1 if both inputs are 1

a ():
b ():

apply

meta

Applies the given function to the Node. Useful when a node has to be used multiple times.

ar

envelope

AR envelope

trig (0): gate input
att (0.02): attack time
rel (0.1): release time

argmax

math

returns the index of the maximum of the given signals

...in (): signal input

argmin

math

returns the index of the minimum of the given signals

...in (): signal input

asin

math

calculates the asin of the input signal

in (): signal input

atan

math

calculates the atan of the input signal

in (): signal input

audioin

source
external

External Audio Input, depends on your system input

bipolar

math

convert unipolar [0,1] signal to bipolar [-1,1]

in (): signal input

bool

logic

returns 1 signal is non zero. inspired by genish

a ():

bpf

fx
filter

high pass filter

in (): signal input
cutoff (): cutoff frequency
reso (): resonance

brown

source
noise

Brown noise source

bytebeat

meta

Bytebeat node, expects numbers from 0 to 255

t (): time in samples
code (): bytebeat code with variable `t`

cc

external

CC control

id (0):
value (0):

ceil

math

Rounds the signal up

in (): signal input

clamp

math

Clamps the signal to stay within the given range

in (): signal input
min (): minimum value
max (): maximum value

clip

fx

Hard limits the signal between lo and hi.

input ():
lo ():
hi ():

clockdiv

clock
trigger

Clock signal divider

clock (0): clock input
divisor (2): tempo divisor

cos

math

calculates the cosine of the input signal

in (): signal input

debug

meta

Logs the node to the console

delay

fx

Delay line node

in (0): signal input
time (0):

distort

fx
distortion

Overdrive-style distortion

in (0): signal input
amt (0): distortion amount

div

math

adds the given signals

...in (): signal input

dust

trigger
noise
source

Generates random impulses from 0 to +1.

density (0): average impulses per second

exp

math

raises e to the power of the input signal

in (): signal input

floatbeat

meta

Raw code node, expects numbers from -1 to 1

t (): time in samples
code (): floatbeat code with variable `t`

floor

math

Rounds the signal down

in (): signal input

fold

fx
distortion
limiter

Distort incoming audio signal by "folding"

in (0): signal input
rate (0):

fork

multi-channel

split the signal into n channels

in (): signal input
times ():

greater

logic

returns 1 if input is greater then threshold

in (): signal input
threshold ():

hold

fx

Sample and hold

in (0): signal input
trig (0): trigger input

hpf

fx
filter

high pass filter

in (): signal input
cutoff (): cutoff frequency
reso (): resonance

ifelse

logic

if control is 1, a is returned, otherwise b

control ():
a ():
b ():

impulse

regular
trigger

Regular single sample impulses (0 - 1)

freq (0): frequency
phase (0): phase offset 0 - 1

lag

fx

Smoothes a signal. Good for slide / portamento effects.

in (0): signal input
rate (1): 60 dB lag time in seconds

lcgnoise

source
noise

Lcg white noise source.

next (1): if 0, the noise will hold the previous value. defaults to 1.
reset (0): if 1, the random number generator sequence will reset.

lfnoise

regular
noise

low frequency stepped noise.

freq (): frequency

log

math

calculates the logarithm (base 10) of the input signal

in (): signal input

lower

logic

returns 1 if input is lower then threshold

in (): signal input
threshold ():

lpf

fx
filter

low pass filter

in (): signal input
cutoff (): cutoff frequency
reso (): resonance

map

meta

Applies the given function to all ins if it's poly node. Otherwise it applies the function to itself.

max

math

returns the maximum of the given signals

...in (): signal input

midicc

external
midi

Outputs bipolar value of given midi cc number. initValue can be set to be the output before getting first cc message.

ccnumber (-1):
channel (-1):
initValue (-1):

midifreq

external
midi

Outputs frequency of midi note in. Multiple instances will do voice allocation

channel (-1): Channel filter. Defaults to all channels

midigate

external
midi

outputs gate of midi note in. Multiple instances will do voice allocation

channel (-1):

midinote

math

convert midi number to frequency

midi ():

midivel

external
midi

outputs velocity of midi note in. Multiple instances will do voice allocation

channel (-1):

min

math

returns the minimum of the given signals

...in (): signal input

mix

multi-channel

mixes down multiple channels. Useful to make sure you get a mono or stereo signal out at the end. When mixing down to 2 channels, the input channels are equally distributed over the stereo image, e.g. 3 channels are panned [-1,0,1]

in (): signal input
channels (1): how many channels to mix down to. Only supports 1 and 2

mod

math

calculates the modulo

in (): signal input
modulo ():

module

meta

Creates a module. Like `register`, but the graph viz will hide the internal complexity of the module.

mouseX

external

X position of mouse, bipolar range

mouseY

external

Y position of mouse, bipolar range

mul

math

Multiplies the given signals.

...in (): signal input

n

math

Constant value node. Turns a number into a Node.

value (0):

noise

source
noise

White noise source

next (1): if 0, the noise will hold the previous value. defaults to 1.

not

logic

returns 1 if input is 0, otherwise 0

in (): signal input

or

logic

returns 1 if one or both inputs are 1

a ():
b ():

out

meta

Sends the node to the audio output

pan

multi-channel

pans signal to stereo position. splits signal path in 2

in (): signal input
pos (): bipolar position: -1 = left, 0 = center, 1 = right

perc

envelope

percussive envelope. usable with triggers or gates

gate (): gate input
release ():

pick

multi-channel

picks input of given index

index ():
...inputs ():

pink

source
noise

Pink noise source

pow

math

raises the input to the given power

in (): signal input
power ():

pulse

regular
waveform
source

Pulse wave oscillator

freq (0): frequency
pw (0.5): pulse width 0 - 1

qapf

fx
filter

biQuad All Pass Filter

input ():
freq (): frequency
q (): resonance

qbpf

fx
filter

biQuad Band Pass Filter

input ():
freq (): frequency
q (): resonance

qf

fx
filter

biQuad Filter.

input (0):
type (0): filter type: 0 = lowpass, 1 = highpass, 2 = band pass, 3 = notch, 4 = allpass, 5 = peaking, 6 = lowshelf, 7 = highshelf
freq (500): filter cutoff in Hz
q (1): q factor
gain (1):

qhpf

fx
filter

biQuad High pass filter

input ():
freq (): frequency
q (): resonance

qlpf

fx
filter

biQuad Low Pass Filter

input ():
freq (): frequency
q (): resonance

qnf

fx
filter

biQuad Notch Filter

input ():
freq (): frequency
q (): resonance

range

math

Scales the incoming bipolar value to the given range.

in (): signal input
min (): minimum value
max (): maximum value

rangex

math

exponential range

in (): signal input
min (): minimum value
max (): maximum value

raw

meta

Raw code node, expects floats between -1 and 1

in (): signal input
code (): expression with variable `t` being the elapsed time and `$input` the input.

register

meta

Registers a new Node function. Sets it on the prototype + returns the function itself. Like `module` but doesn't hide complexity in graph viz.

remap

math

Remaps input from one value range to another

in (): signal input
inmin ():
inmax ():
outmin ():
outmax ():

round

math

Rounds the signal to the nearest integer

in (): signal input

saw

regular
waveform
source

Sawtooth wave oscillator with anti aliasing

freq (0): frequency

scope

renders an an oscilloscope of the current point in the graph. expects values between -1 and 1. warning: this feature is still experimental! when using it, make sure to not switch tabs, as it might fry your browser.

select

meta

Find the first occurence of the given type up in the graph and returns the match. Useful to exit a feedback loop at another point.

seq

sequencer

Trigger controlled sequencer

trig (0): trigger input
...step (0): step inputs

sign

math

Returns 1 if positive and -1 if negative. uses Math.sign

in (): signal input

signal

sin

math

calculates the sine of the input signal

in (): signal input

sine

regular
waveform
source

Sine wave oscillator

freq (0): frequency
sync (0): sync input
phase (0): phase offset

slew

fx

Limits the slope of an input signal. The slope is expressed in units per second.

in (0): signal input
up (1): Maximum upward slope in units per second
dn (1): Maximum downward slope in units per second

split

multi-channel

apply fn to an array of signals, one for each channel in input

input ():
fn ():

sub

math

subtracts the given signals

...in (): signal input

tan

math

calculates the tan of the input signal

in (): signal input

thru

time

meta

Returns elapsed time in seconds

tri

regular
waveform
source

Triangle wave oscillator

freq (0): frequency

trig

trigger

Emits a trigger impulse whenever the signal becomes positive. Useful to turn gates into triggers.

input (0):
lo (-1):
hi (1):

unipolar

math

convert bipolar [-1,1] signal to unipolar [0,1]

in (): signal input

xor

logic

returns 1 if exactly one of the inputs is 1

a ():
b ():

zaw

regular
waveform
source

Sawtooth wave oscillator with sharp edges. Use saw for anti aliased variant.

freq (0): frequency