Axoloti Objects: 1.0.12 Community Library (2,661 objects)

(Updated: Oct 27, 2020 by @cpwitz for the Axoloti Community)

Select library: Factory Library | Community Library (Contributions)

Beware: The object representation on this page is only an approximation and no 100% exact match to the real objects displayed within the Axoloti patcher software!

a773

axocontrol

PB0
PB1
PB8
PB9
joyx
joyy
joyPress
knob1
knob2
knob3
knob4
knob5
knob6
buttonA
buttonB
buttonC

exposes the controls of the MTM axocontrol board

midithru_incl_clock

input
output
led

an object to forward midi from one device to another
note: does not handle sysex or clock

quantizer

note
note
change
b12

quantize note input to a scale

abhoth/wave

polyplay

pos
start
stop
filename
out
end
rate

A variant on the wave/play streaming playback object for mono 16bit .raw (headerless .wav) files. This version has pitch control and works in poly patches, but is less efficient and more memory hungry. Max 6 instances because of memory restrictions.

azaxo/ctrl

ADSRmod

gate
a
d
s
r
env

Attack/decay/sustain/release envelope with only modulation inputs

DialWT

out
value
table

positive constant value dial, factory object with display of number oof wavetable in brds wavetable osc

EnvAHDmod

gate
a
d
env

attack hold decay envelope with modulation inputs, factory object with knobs removed

EnvTX802

Trigger
o
EnvOn
Duration1
Level1
Duration2
Level2
Duration3
Level3
Duration4
Level4
stage
cycles

This is a four phase enveloppe generator like used in the Yamaha TX802 FM synthesizer. Most important feauture is that the end levels of the different pahses can be set.

EnvTX802Mod

Trigger
EnvOn
Duration1
Level1
Duration2
Level2
Duration3
Level3
Duration4
Level4
o
stage
cycles

This is a four phase enveloppe generator like used in the Yamaha TX802 FM synthesizer. Most important feauture is that the end levels of the different phases can be set. This is the version with modulation inputs.

ModVCA

i
m
o

Voltage controlled amplifier control level

OscCtrl

out
Detune
Transpose
Course
Course

Pitch dial

SeaBoardSendMixer5OutSHScale

Trigger
In
GainTimbre
GainColor
GainFrequency
GainReso
GainVCA
OutTimbre
OutColor
OutFrequency
OutReso
OutVCA

5 output send K-rate mixer for Seaboard with latch function and rescale of remaining "space" on the exit value.

SeaBoardSendMixer6OutSHScale

Trigger
In
GainTimbre
GainColor
GainFrequency
GainReso
GainVCA
GainLFO
OutTimbre
OutColor
OutFrequency
OutReso
OutVCA
OutLFO

6 output send K-rate mixer for Seaboard with latch function and rescale of remaining "space" on the exit value.

SeaboardSendMixer5Out

In
GainTimbre
GainColor
GainFrequency
GainReso
GainVCA
OutTimbre
OutColor
OutFrequency
OutReso
OutVCA

5 output send K-rate mixer for Seaboard

SeaboardSendMixer5OutSH

Trigger
In
GainTimbre
GainColor
GainFrequency
GainReso
GainVCA
OutTimbre
OutColor
OutFrequency
OutReso
OutVCA

5 output send K-rate mixer for Seaboard with latch function

SeaboardSendMixer6Out

In
GainOsc
GainTimbre
GainColor
GainFrequency
GainReso
GainVCA
OutOsc
OutTimbre
OutColor
OutFrequency
OutReso
OutVCA

6 output send K-rate mixer for Seaboard

SeaboardSendMixer6OutSH

Trigger
In
GainTimbre
GainColor
GainFrequency
GainReso
GainVCA
GainLFO
OutTimbre
OutColor
OutFrequency
OutReso
OutVCA
OutLFO

5 output send K-rate mixer for Seaboard with latch function

modulator

In
ModIn
ModHeadroom
Out

General purpose modulator object. Used to modulate other object through other objects.

modulator2M

In
ModIn
ModHeadroom
Master1
Master2
Out

General purpose modulator object with two masters. Used to modulate other object through other objects.

modulatorMminM

In
ModIn
ModHeadroom
Master1Min
Master1
Master2
Out

General purpose modulator object with two masters. Used to modulate other object through other objects.

rotator4In

In1
In2
In3
In4
Out

Adds the inputs together and when the value becomes too high or too low subtracts the maximum or minimum value

rotator5In

In1
In2
In3
In4
In5
Out

Adds the inputs together and when the value becomes too high or too low subtracts the maximum or minimum value

rotator6In

In1
In2
In3
In4
In5
In6
Out

Adds the inputs together and when the value becomes too high or too low subtracts the maximum or minimum value

rotator7In

In1
In2
In3
In4
In5
In6
In7
Out

Adds the inputs together and when the value becomes too high or too low subtracts the maximum or minimum value

rotator8In

In1
In2
In3
In4
In5
In6
In7
In8
Out

Adds the inputs together and when the value becomes too high or too low subtracts the maximum or minimum value

azaxo/midi

MidiInKeyboardTracking

note +-
gate
gate2
velocity +
releaseVeocity +
Left Att
Split
Right Att

(no description)

azaxo/midi/ctrl

mpe

note
gate
gate2
velocity
releaseVelocity
pressure
bend
timbre
pitch

Controller input for MIDI Polyphonic Expression. With a small adjustment

azaxo/mix

mixer1mod

bus_in
in1
gain1
out

1 input s-rate mixer changed factory object to mod control

azaxo/osc/brds

wavetables

pitch
timbre
color
wave

"Wavetables" oscillator from Mutable Instruments Braids

azaxo/patch

preset_manager_t

preset
load
save
prefix
preset
load
save
volume
volfade
savemode
pgmchange
channel
presetcc
loadcc
savecc
autoload
load
preset
save
current

Preset save/load manager, threaded version. This is the presetmanager drj/patch/preset_manager_t developped by Are Leistad (DrJustice). I only ammended the channel attribute to run from 0-15.

azaxo/util

connector2x

In1
In2
Out

Simple connector 2 in 1 out

connector4x

In1
In2
In3
In4
Out

Simple connector 4 in 1 out

connector5x

In1
In2
In3
In4
In5
Out

Simple connector 5 in 1 out

connector6x

In1
In2
In3
In4
In5
In6
Out

Simple connector 6 in 1 out

beat/midi/ctrl/lpad/seq

8voice64step

triggerIn
gateA
gateB
gateC
gateD
gateE
gateF
gateG
gateH
device
sync

8 voice 64 step sequencer. select "usb host port 1" in the dropdown to connect to the Launchpad (only tested with Launchpad S).
Via the top-row of buttons the first, second, third, ... 8 steps can be selected (each row represents a single voice -> all 8 voices are displayed at once).
Via the side-row of buttons the first, second, third, ... voice can be selected (the 64 buttons represent the whole sequence). push a button to enable/disable step.
Via the toggle button of the UI you can choose to sync to an extern midi clock.

beat/osc

multiWave

pitch
freq
reset
shape
wave
out
waveform
pitch
shape
amount

multi waveform oscilator: sine, triangle, saw, square
each waveform (except sine) is able to change its shape (e.g. square = pwm).

cpwitz/delay

tape-delay-stereo

in
rate-left
rate-right
rate-comb
l
r
rate-l
rate-r
rate-combined
feedback
filterfreq
dry/wet

A pitch-shifting tape delay effect with saturation. Sounds like cheap bbd delays.

tape-delay

in
ratemod
outlet_1
rate
saturation on
filter on
feedback-buffer
filter
dry/wet

A pitch-shifting tape delay effect with saturation. Sounds like cheap bbd delays.

triggered buffer

in
trigger
out
table

A circular sample buffer referencing a 32b table. Each time trigger input rises above zero a new sample is taken from in and the oldest sample from the buffer is on out. Good for building pitch shifting tape delays.

triggered buffer feedback

in
trigger
feedback
out
table
feedback

A circular sample buffer referencing a 32b table. Each time trigger input rises above zero a new sample is taken from in and the oldest sample from the buffer is on out. Good for building pitch shifting tape delays. Includes parameter and inlet for the buffer'sfeedback level.

cpwitz/demux

demux smooth 8

i
d0
d1
d2
d3
d4
d5
d6
d7
s
o0
o1
o2
o3
o4
o5
o6
o7
risetime
falltime

Smoothing Demultiplexer. Connects inlet i to outlet number s. Other outlets copy their corresponding default inlets. Output values are smoothed exponentially with adjustable rise and fall time.

cpwitz/env

ahd delayed

gate
env
delay
a
d

delayed attack hold decay envelope. Delay parameter determins a time of delay after rising gate until the envelope starts.

cpwitz/lfo

shaped-triangle

pitchmod
reset
shapemod
out
shape
pitch

Continuously shapeable lfo: ramp down/triangle/ramp up. Unipolar output.

tri

pitch
reset
wave
pitch

triangle wave LFO, pitch input

cpwitz/midi

arpeggiator

clock
hold
double
direction
octaves
transpose
notelength
ignore
pitch
velocity
gate
notes
MIDIchannel
direction
notelength
retrigger
octaves
velocity
notes
holding

MIDI arpeggiator. Receives MIDI notes on the channel set with the attribute MIDIchannel (0=all channels). Arpeggio directions: Up, down, up/down, random and play order. Configurable note length and velocity (velocity setting 0 uses the velocity of the played note). "Hold mode " to latch played notes (MIDI sustain pedal also triggers hold). Needs to be clocked from an LFO or MIDI clock input to produce notes. Semitone transpose input. Can add up to 3 octaves to the arpeggiated notes. "Retrigger " checkbox: If the notelength is longer than the clock interval, retriggers the gate every time a new arpeggio note is played. "Ignore " inlet: incoming MIDI notes are ignored as long as input is "high". Special feature: If "ignore" is on and "hold" is re-enabled, the last used latched notes are loaded again.

paraphonic

note1
note2
note3
note4
velocity
gate
notecount
MIDIchannel
retrigger

4 note paraphonic midi input. DISCLAIMER: "Paraphonic" does not mean "polyphonic". If you intend to build a real polyphonic patch, use the recommended "polyphonic subpatch" approach!

This object is designed to build a so-called "paraphonic" synthesizer voice.

The outlets note1-4 deliver the notes of up to four pressed keys. If only one key is pressed, all note outlets send the same note unisono. Up to three additionally pressed keys are distributed over the outlets. More keys than four are simply ignored.

The gate outlet is high as long as any key is pressed. The "retrigger" checkbox turns on retriggering of the gate outlet with every additional keystroke.

The velocity outlet delivers the velocity of the first hit key.

If you just want to make a "duophonic" voice (2 pitches) or "triphonic" (3 pitches) just connect only note1-2 or note1-3 and leave the remaining notes unconnected.

Set the receiving input midi channel with the MIDIchannel attribute. Channel 0 means "listen on all channels".

cpwitz/mix

doubleblend

in
level1
level2

(no description)

cpwitz/osc

sine harmonics

pitch
sub
fund
2nd
3rd
4th
5th
6th
7th
out
sub
fundamental
2nd
3rd
4th
5th
6th
7th

sine wave oscillator with 7 additional harmonics: sub octave, 2nd, 3rd, 4th, 5th, 6th and major 7th (2 octaves up). The intervals are pure intervals and not equally tempered.

deadsy/input

debounce16

i0
i1
i2
i3
i4
i5
i6
i7
i8
i9
i10
i11
i12
i13
i14
i15
o0
o1
o2
o3
o4
o5
o6
o7
o8
o9
o10
o11
o12
o13
o14
o15
period
mode

Debounce 16 bool32 inputs.
period: Increase the period until you get suitable debounce response.
mode: Transition from 0 to 1 fast OR from 1 to 0 fast.

debounce8

i0
i1
i2
i3
i4
i5
i6
i7
o0
o1
o2
o3
o4
o5
o6
o7
period
mode

Debounce 8 bool32 inputs.
period: Increase the period until you get suitable debounce response.
mode: Transition from 0 to 1 fast OR from 1 to 0 fast.

debounce4

i0
i1
i2
i3
o0
o1
o2
o3
period
mode

Debounce 4 bool32 inputs.
period: Increase the period until you get suitable debounce response.
mode: Transition from 0 to 1 fast OR from 1 to 0 fast.

debounce2

i0
i1
o0
o1
period
mode

Debounce 2 bool32 inputs.
period: Increase the period until you get suitable debounce response.
mode: Transition from 0 to 1 fast OR from 1 to 0 fast.

debounce1

i0
o0
period
mode

Debounce 1 bool32 input.
period: Increase the period until you get suitable debounce response.
mode: Transition from 0 to 1 fast OR from 1 to 0 fast.

deadsy/mpr121

mpr121_bool

o0
o1
o2
o3
o4
o5
o6
o7
o8
o9
o10
o11
adr

MPR121 Capacitive Touch Sensor (I2C).
Tested with: https://www.adafruit.com/product/1982
The touch output is the 0/1 status of the touch plates (bits 0..11)

Note:
This object requires a single instance of the factory/gpio/i2c/config object.
This allows multiple mpr121 devices (each with a unique i2c address) to work concurrently.
Tested with I2C1, SCL=PB8, SDA=PB9 (these are the config defaults)

mpr121_int

touch
adr

MPR121 Capacitive Touch Sensor (I2C).
Tested with: https://www.adafruit.com/product/1982
The touch output is the 0/1 status of the touch plates (bits 0..11)

Note:
This object requires a single instance of the factory/gpio/i2c/config object.
This allows multiple mpr121 devices (each with a unique i2c address) to work concurrently.
Tested with I2C1, SCL=PB8, SDA=PB9 (these are the config defaults)

deadsy/ttp229

ttp229_bool

o0
o1
o2
o3
o4
o5
o6
o7
o8
o9
o10
o11
o12
o13
o14
o15

TTP229 Capacitive Touch Sensor (I2C).

http://www.tontek.com.tw/uploads/product/106/TTP229-LSF_V1.0_EN.pdf
https://robotdyn.com/16-keys-capacitive-touch-ttp229-i2c-module.html

The output is 16 bool signals with the 0/1 status of the electrodes (bits 0..15)

Note: This object requires a single instance of the factory/gpio/i2c/config object.
This allows multiple i2c devices (each with a unique i2c address) to work concurrently.
Tested with I2C1, SCL=PB8, SDA=PB9 (these are the config defaults)

ttp229_int

touch

TTP229 Capacitive Touch Sensor (I2C).

http://www.tontek.com.tw/uploads/product/106/TTP229-LSF_V1.0_EN.pdf
https://robotdyn.com/16-keys-capacitive-touch-ttp229-i2c-module.html

The output is an int32 with the 0/1 status of the electrodes (bits 0..15)

Note: This object requires a single instance of the factory/gpio/i2c/config object.
This allows multiple i2c devices (each with a unique i2c address) to work concurrently.
Tested with I2C1, SCL=PB8, SDA=PB9 (these are the config defaults)

djrm/gpio/spi

74HC595_7seg

in
outi
outf

Drive one 7 segment display with a 74HC595

74HC595_7segx2

in
outi
outf

Drive 2x 7segment displays with 2 x 74HC595

74HC595inputsX4

ini
inf
led1
led2
led3
led4
led5
led6
led7
led8
outi
outf
chainouti
chainoutf
0to3

Usefull to drive up to 4 x 74HC595

djrm/logic

counter2_init_start

inc
dec
r
o
c
maximum
init

cyclic up/down counter with initial start value

drj/audio

deglitcher

trig
trig
volume
volfade

Deglitcher, fade out -> trig (blocking operation) -> fade in

deglitcher

trig
left
right
trig
left
right
volfade

Deglitcher, fade out -> trig (blocking operation) -> fade in

out_stereo_vol

left
right
volume
vuLeft
vuRight

Audio output, stereo, volume control, 12dB gain

stereo_vol

left
right
volume
left
right

Stereo volume control, control inlet

stereo_vol

left
right
left
right
volume

Stereo volume control, built in knob

drj/ctrl

dial_pitch

out
pitch

Pitch dial

dial_lfopitch

out
pitch

LFO pitch dial

fadeout_xor

lgain
rgain
lr

Fade out gain factors, either left or right is faded down, the other side stays at unity gain

fadein_xor

lgain
rgain
lr

Fade in gain factors, either left or right is faded up, the other side stays at 0 gain

drj/delay

delay_mono_sync

in
out
feedback
delay
delay
dry/wet

(no description)

delay_st_pp

in_l
in_r
out_l
out_r
pre_filter
lp
hp
hp_enable
ping
feedback
time
time_diff
dry wet

(no description)

delay_st_pp_mod

in_l
in_r
out_l
out_r
pre_filter
lp
hp
hp_enable
ping
feedback
time
time_diff
mod amt
mod freq
mod phase
dry wet

(no description)

delay_st_pp_mod_sync

in_l
in_r
24ppq
clk_select
clk_div
out_l
out_r
pre_filter
lp
hp
hp_enable
ping
feedback
time
time_diff
mod amt
mod freq
mod phase
dry wet
left
right

(no description)

delay_st_pp_sync

in_l
in_r
24ppq
clk_select
clk_div
out_l
out_r
pre_filter
lp
hp
hp_enable
ping
feedback
time
time_diff
dry wet
left
rigth

(no description)

read32_interp_mod

time
tmod
out
delayname
time

Delay read, 32 bit, interpolated, proportional modulation input

read32_interp_sync

time
tmod
clkoverride
muloverride
divoverride
24ppq
out
time
delayname
clocksource
device
smooth
clockmul
clockdiv
time

Syncable delay read, 32 bit, interpolated, proportional time modulation

read32_sync

time
tmod
clkoverride
muloverride
divoverride
24ppq
out
time
delayname
clocksource
device
smooth
clockmul
clockdiv
time

Syncable delay read, 32 bit, non-interpolated, proportional time modulation

read_interp_mod

time
tmod
out
delayname
time

Delay read, 16 bits, interpolated, proportional modulation input

read_interp_sync

time
tmod
clkoverride
muloverride
divoverride
24ppq
out
time
delayname
clocksource
device
smooth
clockmul
clockdiv
time

Syncable delay read, interpolated, proportional time modulation

read_sync

time
tmod
clkoverride
muloverride
divoverride
24ppq
out
time
delayname
clocksource
device
smooth
clockmul
clockdiv
time

Syncable delay read, non-interpolated, proportional time modulation

drj/file

file_size

filename
trig
samples

Fetches the size of a file in 16 bit samples

drj/fx

chorus

in
out
wordsize
interp
delaysize
maxvoices
time
tspread
lfoamt
lfofreq
fspread
mix
voices

Chorus

chorus

in
time
tspread
lfoamt
lfofreq
fspread
mix
voices
out
wordsize
interp
delaysize
maxvoices
time
tspread
lfoamt
lfofreq
fspread
mix
voices

Chorus with built in and external control

chorus

in
time
tspread
lfoamt
lfofreq
fspread
mix
voices
out
wordsize
interp
delaysize
maxvoices

Chorus with control inputs

phaser_32_mod

in
mod
reset
delay
stages
out
lfo
wordsize
maxdelay
maxstages
manual
lfoamt
lfofreq
lfopw
lfowave
feedback
saturate
mix
delay
stages

Phaser, 0 to 32 stages, modulation

phaser_32

in
mod
feedback
saturate
mix
delay
stages
out
wordsize
maxdelay
maxstages

Phaser, 0 to 32 stages, external control

stereo_chorus

in_l
in_r
out_l
out_r
time
tspread
lfoamt
lfofreq
fspread
mix
voices

(no description)

stereo_phaser

in_l
in_r
out_l
out_r
manual
lr_diff
mod amt
mod freq
mod phase
wave
feedback
saturate
mix
delay
stages

(no description)

drj/lfo

sin_2_b

pitch
reset
0
90
pitch

Dual phase sine LFO, bipolar, 0 and 90 degrees, lin-ip, pitch input, phase reset

sin_2_b

pitch
reset
0
120
pitch

Dual phase sine LFO, bipolar, 0 and 120 degrees, lin-ip, pitch input, phase reset

sin_2_p

pitch
reset
0
90
pitch

Dual phase sine LFO, unipolar, 0 and 90 degrees, lin-ip, pitch input, phase reset

sin_2_p

pitch
reset
0
120
pitch

Dual phase sine LFO, unipolar, 0 and 120 degrees, lin-ip, pitch input, phase reset

tri_2_b

pitch
reset
0
90
pitch

Dual phase triangle LFO, bipolar, 0 and 90 degrees, bipolar, pitch input, phase reset

tri_2_b

pitch
reset
0
120
pitch

Dual phase triangle LFO, bipolar, 0 and 120 degrees, bipolar, pitch input, phase reset

tri_2_p

pitch
reset
0
90
pitch

Dual phase triangle LFO, unipolar, 0 and 90 degrees, pitch input, phase reset

tri_2_p

pitch
reset
0
120
pitch

Dual phase triangle LFO, unipolar, 0 and 120 degrees, pitch input, phase reset

lfo_pwm_b

pitch
phase
pwm
reset
pwm
pitch
pw

Bipolar LFO with phase, pwm and reset inputs

lfo_pwm_u

pitch
phase
pwm
reset
pwm
pitch
pw

Unipolar LFO with phase, pwm and reset inputs

lfo_sync

freq
pwm
phase
24ppq
pwm
saw
tri
sine
clock
24ppq
clocksource
device
clockdiv
miditransport
freq
pw
clock

LFO, midi/clock sync, multiple waveforms

multi_wave_sync

freq
pwm
phase
24ppq
out
clock
24ppq
clocksource
device
clockdiv
miditransport
freq
pw
amp
unipolar
wave
clock

LFO, midi/clock sync, selectable waveform

multi_wave

pitch
phase
pwm
am
wave
reset
out
pitch
pw
amp
unipolar
wave

LFO, bipolar, multi wave, modulation inputs

multi_wave

pitch
out
pitch
pw
amp
unipolar
wave

LFO, bipolar, multi wave

dual_multi_wave

pitch
phase
pwm
am
wave
reset
0
90
pitch
pw
amp
unipolar
wave

Quadrature LFO, 0 and 90 degree outputs, bipolar, multi wave, modulation inputs

dual_multi_wave

pitch
0
90
pitch
pw
amp
unipolar
wave

Quadrature LFO, 0 and 90 degree outputs, bipolar, multi wave

sin_ph_b

pitch
phase
reset
sine
pitch

Sine LFO, bipolar, lin-ip, pitch input, phase input, phase reset

sin_ph_p

pitch
phase
reset
sine
pitch

Sine LFO, unipolar, lin-ip, pitch input, phase input, phase reset

sin_4_b

pitch
reset
0
90
180
270
pitch

Quadrature sine LFO, bipolar, lin-ip, pitch input, phase reset

sin_4_p

pitch
reset
0
90
180
270
pitch

Quadrature sine LFO, unipolar, lin-ip, pitch input, phase reset

tri_4_b

pitch
reset
0
90
180
270
pitch

Quadrature triangle LFO, bipolar, pitch input, phase reset

tri_4_p

pitch
reset
0
90
180
270
pitch

Quadrature triangle LFO, unipolar, pitch input, phase reset

saw_up_b

pitch
reset
saw
pitch

Saw wave LFO, rising, bipolar, pitch input, phase reset

saw_up_p

pitch
reset
saw
pitch

Saw wave LFO, rising, unipolar, pitch input, phase reset

saw_dn_b

pitch
reset
saw
pitch

Saw wave LFO, falling, bipolar, pitch input, phase reset

saw_dn_p

pitch
reset
saw
pitch

Saw wave LFO, falling, unipolar, pitch input, phase reset

tri_ph_b

pitch
phase
reset
tri
pitch

Triangle wave LFO, bipolar, pitch, phase and reset inputs

tri_ph_p

pitch
phase
reset
tri
pitch

Triangle wave LFO, unipolar, pitch, phase and reset inputs

sin_3_b

pitch
reset
0
120
240
pitch

Triple phase sine LFO, bipolar, 0, 120 and 240 degrees, lin-ip, pitch input, phase reset

sin_3_p

pitch
reset
0
120
240
pitch

Triple phase sine LFO, unipolar, 0, 120 and 240 degrees, lin-ip, pitch input, phase reset

tri_3_b

pitch
reset
0
120
240
pitch

Dual phase triangle LFO, bipolar, 0, 120 and 240 degrees, bipolar, pitch input, phase reset

tri_3_p

pitch
reset
0
120
240
pitch

Dual phase triangle LFO, unipolar, 0, 120 and 240 degrees, pitch input, phase reset

drj/math

> const i

in
out
value

Greater than constant integer

< const i

in
out
value

Less than constant integer

== const i

in
out
value

Equal to constant integer

!= const i

in
out
value

Unequal to constant integer

glide_fast

in
en
out
time

Fast exponential smooth with enable

inv_pos

in
out

Invert positive range, out = 64.0 - input, in = 0.0 .. 64.0 => 64.0 .. 0.0

inv_pos

in
out

Invert positive range, out = 64.0 - input, in = 0.0 .. 64.0 => 64.0 .. 0.0

inv_neg

in
out

Invert negative range, out = - (64.0 - input), in = 0.0 .. -64.0 => -64.0 .. 0.0

inv_neg

in
out

Invert negative range, out = - (64.0 - input), in = 0.0 .. -64.0 => -64.0 .. 0.0

keyscaler

note
out
offset
scale

Keyboard breakpoint and scaling, k-rate, out = breakpoint + (note * scale)

offset_scale_1

in
out
offset
scale

Offset and scale a signal, k-rate, out = offset + (in * scale)

offset_scale_2

in
out
offset
scale

Offset and scale a signal, s-rate, out = offset + (in * scale)

mov_avg

in
out
length

Moving average, fractional, k-rate

mov_avg

in
out
length

Moving average, integer (no loss of precision), k-rate

mov_avg

in
out
length

Moving average, fractional, s-rate

mov_avg_clk

in
clock
out
length

Moving average, fractional, clocked, k-rate

mov_avg_clk

in
clock
out
length

Moving average, integer (no loss of precision), clocked, k-rate

mul3

mul1
mul2
mul3
out

Multiply 3 numbers together

mul3

mul1
mul2
mul3
out

Multiply 3 numbers together

mul3

mul1
mul2
mul3
out

Multiply 3 numbers together

mul4

mul1
mul2
mul3
mul4
out

Multiply 3 numbers together

mul4

mul1
mul2
mul3
mul4
out

Multiply 4 numbers together

mul4

mul1
mul2
mul3
mul4
out

Multiply 4 numbers together

mul_add

in
mul
add
out

Multiply and add, out = in * mul + add

mul_add

in
mul
add
out

Multiply and add, out = in * mul + add

mul_add

in
mul
add
out

Multiply and add, out = in * mul + add

sum3

in1
in2
in3
out

Sum 3 values at k-rate

sum4

in1
in2
in3
in4
out

Sum 4 values at k-rate

sum5

in1
in2
in3
in4
in5
out

Sum 5 values at k-rate

sum6

in1
in2
in3
in4
in5
in6
out

Sum 6 values at k-rate

sum7

in1
in2
in3
in4
in5
in6
in7
out

Sum 7 values at k-rate

sum8

in1
in2
in3
in4
in5
in6
in7
in8
out

Sum 8 values at k-rate

sum3

in1
in2
in3
out

Sum 3 values at s-rate

sum4

in1
in2
in3
in4
out

Sum 4 values at s-rate

sum5

in1
in2
in3
in4
in5
out

Sum 5 values at s-rate

sum6

in1
in2
in3
in4
in5
in6
out

Sum 6 values at s-rate

sum7

in1
in2
in3
in4
in5
in6
in7
out

Sum 7 values at s-rate

sum8

in1
in2
in3
in4
in5
in6
in7
in8
out

Sum 8 values at s-rate

sum3

in1
in2
in3
out

Sum 3 values at k-rate

sum4

in1
in2
in3
in4
out

Sum 4 values at k-rate

sum5

in1
in2
in3
in4
in5
out

Sum 5 values at k-rate

sum6

in1
in2
in3
in4
in5
in6
out

Sum 6 values at k-rate

sum7

in1
in2
in3
in4
in5
in6
in7
out

Sum 7 values at k-rate

sum8

in1
in2
in3
in4
in5
in6
in7
in8
out

Sum 8 values at k-rate

drj/midi

cc_thin_var

v
txdevice
txchannel
cc
maxrate

Variable rate MIDI CC data output.

clock_rx

24ppq
start
stop
continue
songsel
selected
songpos
position
device

MIDI clock receiver

clock_tx

24ppq
start
stop
continue
songsel
selected
songpos
position
device

MIDI clock transmitter

note_tx

note
velo
trig
device
channel

Midi note transmitter, midi channel as live parameter

nrpn_rx_multi

fb
fp
ib
ip
msb
lsb
chmsb
chlsb
device
channel
nrpn

NRPN receiver, multi format outputs

nrpn_rx_multi2

fb
fp
ib
ip
msb
lsb
nrpn
chmsb
chlsb
device
channel

NRPN receiver, multi parameter, multi format outputs

nrpn_rx_f

fb
fp
device
channel
nrpn

NRPN receiver, bipolar and unipolar fractional outputs

nrpn_rx_i

ib
ip
msb
lsb
device
channel
nrpn

NRPN receiver, bipolar and unipolar integer outputs

drj/mux

mux 12

i0
i1
i2
i3
i4
i5
i6
i7
i8
i9
i10
i11
s
o

input multiplexer. Output is i1 when s < 1, i[i] when....

mux 12

i0
i1
i2
i3
i4
i5
i6
i7
i8
i9
i10
i11
s
o

input multiplexer. Output is i1 when s < 1, i[i] when....

mux 12

i0
i1
i2
i3
i4
i5
i6
i7
i8
i9
i10
i11
s
o

input multiplexer. Output is i1 when s < 1, i[i] when....

mux 12

i0
i1
i2
i3
i4
i5
i6
i7
i8
i9
i10
i11
s
o

input multiplexer. Output is i1 when s < 1, i[i] when....

mux 12

i0
i1
i2
i3
i4
i5
i6
i7
i8
i9
i10
i11
s
o

input multiplexer. Output is i1 when s < 1, i[i] when....

mux 12b

i0
i1
i2
i3
i4
i5
i6
i7
i8
i9
iA
iB
s
o

input multiplexer. Output is i1 when s < 1, i[i] when....

drj/osc

dual_sine

pitch
fm
0
90
pitch

Dual phase sine oscillator, 0 and 90 degrees, lin-ip, pitch input, fm input

quad_sine

pitch
fm
0
90
180
270
pitch

Quadrature sine oscillator, bipolar, 0, 90, 180 and 290 degrees, lin-ip, pitch input, fm input

quad_sine

pitch
fm
0
90
180
270
pitch

Quadrature sine oscillator, unipolar, 0, 90, 180 and 290 degrees, lin-ip, pitch input, fm input

phasor_pm_pr_b

pitch
phase
reset
out
pitch

Phasor with phase and phase reset inputs, bipolar, s-rate

phasor_pm_pr_u

pitch
phase
reset
out
pitch

Phasor with phase and phase reset inputs, unipolar s-rate

sin_pm_pr_b

pitch
phase
reset
out
pitch

Sine oscillator with phase and phase reset inputs, bipolar, s-rate

sin_pm_pr_u

pitch
phase
reset
out
pitch

Sine oscillator with phase and phase reset inputs, unipolar, s-rate

phasor_pm_s_b

pitch
phase
sync
out
pitch

Phasor with phase and sync inputs, bipolar, s-rate

phasor_pm_s_u

pitch
phase
sync
out
pitch

Phasor with phase and sync inputs, unipolar s-rate

sin_pm_s_b

pitch
phase
sync
out
pitch

Sine oscillator with phase and sync inputs, bipolar, s-rate

sin_pm_s_u

pitch
phase
sync
out
pitch

Sine oscillator with phase and sync inputs, unipolar, s-rate

drj/patch

preset_manager

preset
load
save
prefix
preset
load
save
volume
volfade
savemode
pgmchange
channel
presetcc
loadcc
savecc
autoload
load
preset
save
current

Preset save/load manager

preset_manager_t

preset
load
save
prefix
preset
load
save
volume
volfade
savemode
pgmchange
channel
presetcc
loadcc
savecc
autoload
load
preset
save
current

Preset save/load manager, threaded version

drj/seq

bpm_detect

in
bpm
dec
samples
clocksource
device
smooth

BPM detector with smoothing

bpm_gen

reset
out
bpm
tenth
hundredth

BPM generator

bpm_gen

reset
bpm
tenth
hundredth
out

BPM generator, external inputs

clk_div

clk
clk
clockdiv

Clock divider

clk_div_rst

clk
r
clk
clockdiv

Clock divider with reset

clk_mul

clk
clk
clockmul

Clock multiplier

pattern_selector

pattern
clock
start
p1s1
p1s2
p1s3
p1g1
p2s1
p2s2
p2s3
p2g1
p3s1
p3s2
p3s3
p3g1
p4s1
p4s2
p4s3
p4g1
pattern
switch
s1
s2
s3
g1
extpattern
syncclock
syncstart
mute
pattern
current

Step sequencer pattern selector

seq_clk

tempo
gatelength
run
reverse
upndown
endrep
rstsync
rstimm
step
gate
clock
start
tempo
gatelength
seqlength

Sequencer clock controller, analog style

seq_clk_sync

tempo
gatelength
run
reverse
upndown
endrep
firststep
laststep
rstsync
rstimm
clkoverride
divoverride
24ppq
step
gate
clock
start
24ppq
clocksource
device
clockdiv
miditransport
tempo
gatelength
seqlength

Sequencer clock controller, midi/24ppq sync

seq_sync_slave

clock
start
stop
continue
songpos
position
run
beat
step
trig
gate
clocksource
device
bpmsmooth
clockdiv
steps
swing
gate
bpm
tenths

Sequencer sync slave for MIDI and clock pulses

stepseq_4_b

step
chain
out
v1
v2
v3
v4

Step sequencer, bipolar value x 4

stepseq_8_b

step
chain
out
v1
v2
v3
v4
v5
v6
v7
v8

Step sequencer, bipolar value x 8

stepseq_16_b

step
chain
out
v1
v2
v3
v4
v5
v6
v7
v8
v9
v10
v11
v12
v13
v14
v15
v16

Step sequencer, bipolar value x 16

stepseq_4_pitch

step
chain
out
p1
p2
p3
p4

Step sequencer, pitch x 4

stepseq_8_pitch

step
chain
out
p1
p2
p3
p4
p5
p6
p7
p8

Step sequencer, pitch x 8

stepseq_16_pitch

step
chain
out
p1
p2
p3
p4
p5
p6
p7
p8
p9
p10
p11
p12
p13
p14
p15
p16

Step sequencer, pitch x 16

stepseq_4_switch

step
sig1
sig2
sig3
gate1
chain
out
sig1
sig2
sig3
gate1
s1
s2
s3
s4

Step sequencer, switch x 4

stepseq_8_switch

step
sig1
sig2
sig3
gate1
chain
out
sig1
sig2
sig3
gate1
s1
s2
s3
s4
s5
s6
s7
s8

Step sequencer, switch x 8

stepseq_16_switch

step
sig1
sig2
sig3
gate1
chain
out
sig1
sig2
sig3
gate1
s1
s2
s3
s4
s5
s6
s7
s8
s9
s10
s11
s12
s13
s14
s15
s16

Step sequencer, switch x 16

stepseq_4_u

step
chain
out
v1
v2
v3
v4

Step sequencer, unipolar value x 4

stepseq_8_u

step
chain
out
v1
v2
v3
v4
v5
v6
v7
v8

Step sequencer, unipolar value x 8

stepseq_16_u

step
chain
out
v1
v2
v3
v4
v5
v6
v7
v8
v9
v10
v11
v12
v13
v14
v15
v16

Step sequencer, unipolar value x 16

tap_tempo

tap
clock
phasor
clockmul
clockdiv
tap

Tap tempo, mul/div as live parameters

tap_tempo

tap
clock
phasor
clockmul
clockdiv
tap

Tap tempo, mul/div as attributes (lowest CPU usage)

tap_tempo

tap
mul
div
clock
phasor
tap

Tap tempo, mul/div as inputs

drj/switch

fm4op_alg

op1i
op2i
op3i
op4i
op1o
op2o
op3o
op4o
out
algorithm

FM 4 op algorithm router ala TX81Z, but with a feedback path on all leaf operators

par_swap_1

i1
i2
swap
o1
o2
dev1vol
dev2vol

Mono swappable parallel routing switch

par_swap_2

i1l
i1r
i2l
i2r
swap
o1l
o1r
o2l
o2r
dev1vol
dev2vol

Stereo swappable parallel routing switch

radio_switch_2

i0
i1
o0
o1
out
default

2 way radio switch

radio_switch_2n

i0
i1
out
default

2 way radio switch

radio_switch_4

i0
i1
i2
i3
o0
o1
o2
o3
out
default

4 way radio switch

radio_switch_4n

i0
i1
i2
i3
out
default

4 way radio switch

radio_switch_8

i0
i1
i2
i3
i4
i5
i6
i7
o0
o1
o2
o3
o4
o5
o6
o7
out
default

8 way radio switch

radio_switch_8n

i0
i1
i2
i3
i4
i5
i6
i7
out
default

8 way radio switch

ser_par_1

i
i1
i2
parallel
o
o1
o2
dev1vol
dev2vol

Mono serial/parallel routing switch

ser_par_2

il
ir
i1l
i1r
i2l
i2r
parallel
ol
or
o1l
o1r
o2l
o2r
dev1vol
dev2vol

Stereo serial/parallel routing switch

ser_swap_1

i
i1
i2
swap
o
o1
o2
dev1vol
dev2vol

Mono swappable serial routing switch

ser_swap_2

il
ir
i1l
i1r
i2l
i2r
swap
ol
or
o1l
o1r
o2l
o2r
dev1vol
dev2vol

Stereo swappable serial routing switch

euxo/1-0

button1

button1

Reads Euxoloti's Button 1

button2

button2

Reads Euxoloti's Button 2

button3

button3

Reads Euxoloti's Button 3

button4

button4

Reads Euxoloti's Button 4

gat8bitbang

Go1
Go2
Go3
Go4
Go5
Go6
Go7
Go8


This object uses bitbang method to emulate and transmit SPI messages to Gat8 extension.
CS=PA0, SCLK=PB9, MOSI/DIN=PB8 and GND=GND.

LED4 of Euxoloti 1.0 can't be used with this object!

gatein1

gate1

Reads Euxoloti's Gate in 1

gatein2

gate2

Reads Euxoloti's Gate in 2

led1

in

turn euxolotis led1 on-off

led2

in

turn euxolotis led2 on-off

led3

in

turn euxolotis led3 on-off

led4

in

turn euxolotis led4 on-off

potcv

pot1
pot2
pot3
pot4
pot5
pot6
pot7
pot8
cvin1
cvin2
cvin3
cvin4
cvin5
cvin6
cvin7
cvin8


This Object is only for Euxoloti 1.0 (first beta versions).
It reads each Pot and CV In. SPI Config is included.

euxo/1-2/axom

axomi

pot1
pot2
pot3
pot4
pot5
pot6
pot7
pot8
button1
button2
button3
button4
script

script with 2 inputs and 2 outputs, running in a separate thread, you must define "void setup(void){}" and "void loop(void)"

axomo

led1
led2
led3
led4
script

with script you can convert value to midi and send it to Maple Mini.

euxo/1-2/in

cv1

cv1

Reads CVs by Euxoloti

cv2

cv2

Reads CVs by Euxoloti

cv3

cv3

Reads CVs by Euxoloti

cv4

cv4

Reads CVs by Euxoloti

cv5

cv5

Reads CVs by Euxoloti

cv6

cv6

Reads CVs by Euxoloti

cv7

cv7

Reads CVs by Euxoloti

cv8

cv8

Reads CVs by Euxoloti

gatein1

gate1

Reads Euxoloti's Gate in 1

gatein2

gate2

Reads Euxoloti's Gate in 2

gatein3

gate3

Reads Euxoloti's Gate in 3

gatein4

gate4

Reads Euxoloti's Gate in 4

euxo/1-2/midi

button_pot_led

led1
led2
led3
led4
script

moded script2 object from Johannes.
Only for Euxoloti 1.2 with maple mini board connected to AXoloti PA2/3. It will receive midi messages on serial 2 port and routes each message to the internal midi section.
Pots 1-8 = CC# 1-8
Buttons 1-4 = Note# 0-3

Don't forget to paste the script code from github.

button_pot

pot1
pot2
pot3
pot4
pot5
pot6
pot7
pot8
button1
button2
button3
button4

enable serial2( PA2/PA3 = SD2, baudrate: 115200) as extra midi i/o to use with euxoloti. Pot, Button values are transmitted by midi and finally routed to object outlets.

leds

led1
led2
led3
led4

each inlet controls one of euxo's leds.

euxo/1-2/out

gat8

Go1
Go2
Go3
Go4
Go5
Go6
Go7
Go8

Control Gat8 outputs. Use object with Euxoloti Core rev1.2.
It includes the necessay SPI config modification for PC5 as NSS/CS pin.

fretnz/math

remap16

in
out
in1
out1
in2
out2
in3
out3
in4
out4
in5
out5
in6
out6
in7
out7
in8
out8
in9
out9
in10
out10
in11
out11
in12
out12
in13
out13
in14
out14
in15
out15
in16
out16

Re-map 16 note values to 16 other note values.
Great for drumpad controllers.

Based on Simon Iten's (lokki) c-thru axis 49 remapper.

gao/dist

biscuitage_m

a
b
p1
noisegate

For 8 bits signal, mute selected bits

biscuitage_r

a
b
p1
noisegate

For 8 bits signal, reverse selected bits

gao/edrum

bd

trig
decay m
out
freq 1
noise decay
noise level
decay
curve
freq 2
lp
gain

(no description)

clap

trig
outlet_1
pulse hp
pulse hp
ad
ad
fb ad
fb ad
bp
bp
lp
lp
gain

(no description)

cowbell

trig
pitch
outlet_1
ad
ad
bp
bp
gain

(no description)

cymbal

trig
outlet_1
d1
d2
freq 1
freq2
bp
bp
hp
hp
gain

(no description)

hihat

closed velocity
closed
open velocity
open
outlet_1
bp
closed decay
hp closed
hp closed
gain closed
open decay
hp open
hp open
gain open

(no description)

snare

trig
velocity
outlet_1
body decay
noise decay
lp
lp
notch
notch
gain

(no description)

gao/sample

beatplayer2

nslice
pitch
start
reverse
retrig
o
slicesbuffer
slicesindex

An realtime beat slicer. Port of sliceplay~ puredata object from Katja Vetter (http://www.katjaas.nl/beatdetection/beatdetection.html).
Play slice store in slicebuffer/sliceindex tables with beatslicer2 object.

beatslicer

in
trig
pitch
reverse
retrig
o
attack
decay
rec_status
attack_threshold
decay_threshold
silence_threshold
rec
play
retrig

description

beatslicer2

in
record
slicesbuffer
slicesindex
conf
delete_last
power_db_threshold
delta_power_db
silence_db_threshold
record
current_slice_index

An realtime beat slicer. Port of slicerec~ puredata object from Katja Vetter (http://www.katjaas.nl/beatdetection/beatdetection.html).
Record any type of acoustic input material on the fly.

rockafella

frequency
chunk size
loop speed
start
length
loop mode
reverse
outlet_1

(no description)

spTimeExpansion

nslice
pitch
start
loopspeed
chunksize
retrig
o
slicesbuffer
slicesindex

spTimeExpansion

Slice Player (beatslicer companion) with Time Compression/Expansion with looped sampling
See puredata help patch B14.sampler.rockafella.pd.

gao/seq

TESeq

trig
buffer
note
trig
random
rotation
length
hits

Turing Machine Random Looping Sequencer (note) with Euclidean Rhythm Sequencer (rhythm).

https://musicthing.co.uk/random-sequencer-documentation/
https://en.wikipedia.org/wiki/Euclidean_rhythm

TM185Seq

trig
trig
note
random

Turing Machine Random Looping Sequencer (note) with Roland M185 Sequencer style (rhythm).

https://musicthing.co.uk/random-sequencer-documentation/
https://www.matrixsynth.com/2009/05/roland-100m-m185-mkii-sequencer.html

euclidSeq

trig
trig
rotation
length
hits

Euclidean Rhythm Sequencer (rhythm).
https://en.wikipedia.org/wiki/Euclidean_rhythm

turing

initvalue
trigmask
trig
random
initvalue
note
o
o2

Turing Machine Random Looping Sequencer

gav/audio

Object Swap

inmain
in1
in2
outmain
out1
out2
sw

object inlet outlet swap

gav/demux

Chainable Demux

i
d0
d1
d2
d3
s
o0
o1
o2
o3
send

Demultiplexer. Chainable for extension. Just connect outlet send to inlet s in the next object.

gav/diode_clipping

Diode Clipping simulator one

inlet_1
outlet_1
value
amp
value
amp

(no description)

gav/Logic

Dynamic Counter 1

inc
retfirst
restart
o
numstage
p0
p1
p2
p3
p4
p5
p6
p7
retfirst
restart

Dynamic up / down counter.
As each stage count is completed, the next stage count begins in the opposite direction.
Numstage - will determine how many stages will be select from stage 1 only to all 8 stages.
retfirst - will return to the very beginning of count 1 in forward direction when the last count of the last selected stage is complete, if not on, then the direction is changed and count continues fromm last point.
restart - will return to the very beginning stage 1 count 1 in forward direction, toggle parameter was added so a midi cc could be nominated.

The purpose opf this object is to create length when connected to a sequence so it is percieved a less or even non-repetitive pattern.

gav/rot_enc

Rot Enc Selector

trig
dir
mom
o
b
max
preset

Reads a rotary encoder
trig - trigger input on rising edge
dir - dir>0=clockwise, dir<0=anti-clockwise

Rot Enc Value

value
trig
dir
mom
o
b
a
value
min
max
preset

Reads a rotary encoder
trig - trigger input on rising edge
dir - dir>0=clockwise, dir<0=anti-clockwise

Rotary Encoder

trig
dir
o

Reads a rotary encoder
trig - trigger input on rising edge
dir - dir>0=clockwise, dir<0=anti-clockwise
Requires two digital Axoloti GPIO inputs set to "pullup"

Rotary Encoder Bipolar

trig
dir
mom
o
b
max
preset

Reads a rotary encoder
trig - trigger input on rising edge
dir - dir>0=clockwise, dir<0=anti-clockwise
max value represents both negative and possitive, zero always being center.

hc/ctrl

hookmod

in
unhook
out
hooked
value

inlet value passed through after hitting control value. unhooked by rising edge on unhook input.

hc/osc

beatmachine

beat
rate
divider
startpos
rst
x
y
z
out
beat

Bytebeat style "noise" generator, a good description of bytebeat can be found @ http://canonical.org/~kragen/bytebeat/
Provides a number of preset "beats", selecting 0 will use the beat field on the object (make sure this is populated). Beat equations can be found in beatmachine/equations.c

Check the help patch!

hohum/axokey

axokey_core

C
C#
D
D#
E
F
F#
G
G#
A
A#
B
Up
Down
Apad
Bpad

(no description)

axokey_midi

velo
Apad
Bpad
def_velo

(no description)

axokey_monokey

note
gate
Apad
Bpad

(no description)

axokey_polykey

C
C gate
C#
C# gate
D
D gate
D#
D# gate
E
E gate
F
F gate
F#
F# gate
G
G gate
G#
G# gate
A
A gate
A#
A# gate
B
B gate
Apad
Bpad

(no description)

hohum/axopad

axopad

1
2
3
4
5
6
7
8
Ax
Ay
Az
Bx
By
Bz
Ap
Bp

(no description)

hohum/control

axoctrl

PATCH_NAME
MIDI_GATE
#17 MOD
OUT_L
OUT_R
IN_L
IN_R
#6 BUT
#8 PAR
#10 PAR
#11 PAR
#12 PAR
#13 PAR
#18 MOD
LFO

(no description)

axoctrl_button

button
short
long

(no description)

axoctrl_core

#1 LED
#2 LED
#3 LED
#17 MOD
#4 BUT
#5 BUT
#6 BUT
#7 BUT
#8 PAR
#9 PAR
#10 PAR
#11 PAR
#12 PAR
#13 PAR
#14 PAR
#15 PAR
#16 PAR
#18 MOD

(no description)

axoctrl_in

IN_L
IN_R
#6 BUT
#8 PAR
#10 PAR
#11 PAR
#12 PAR
#13 PAR
#18 MOD

(no description)

axoctrl_out

MIDI_GATE
PATCH_NAME
#17 MOD
OUT_L
OUT_R
outlet_1
LFO vol on/off

(no description)

axoctrl_switch

next
previous

(no description)

axoctrl_switcher

(no controls)

(no description)

hohum/disp

auto_muxer

i1
i2
i3
i4
i5
i6
i7
i8
i9
i10
out
index
direction

(no description)

axoctrl_disp

OSC SCOPE
PATCH NAME
LFO_mode
LFO_waveform

(no description)

string_muxer

value
index
text
a1
a2
a3
a4
a5
a6
a7
a8
a9
a10

String selector with value display

hohum/lfo

axoctrl_lfo

TIME_PHASE
SMOOTH
WAVE
MODE
LFO SYNC UP
LFO SYNC DOWN
LFO OUT

(no description)

hohum/mixer

axoctrl_mixer

IN_L
IN_R
LFO
VOL
SIGNAL

(no description)

hug

physical_model_bar

mu
trig
offset
decay
velo
input
o1
wood

Award winning physical modelling engine of a clamped bar. Be aware that the system may get unstable for abrupt parameter changes and wide ranges so test the applied parameter range well. The "wood" attribute scales approximately linear with the CPU requirement.

hug/gpio

dtmf_code

i1
i2
i3
i4
shift
trig
out
tone
code
code

decodes ouput of a dmtf converter chip MT8870 connected to four gpio input pins.

dtmf_shift

i1
i2
i3
i4
is
out
outt

decodes ouput of a dmtf converter chip MT8870 connected to four gpio input pins.

midi_out

Key
Velocity
KeyTrigger
CC
CCValue
script

script that serves as an extra MIDI OUT port

hug/gpio/spi

shiftRegister

in

FOUR 74HC595 SHIFT REGISTERS
by paul

hug/math

octaveShift

up
down
result
trig

octave shifter

jaffa/ctrl

+-5

out8
value

positive integer control

1-8

out5
value

positive integer control

dial i

o
value

Unipolar dial interpolated with linear interpolation from k- to s-rate.

dial i2

o
value

Unipolar dial interpolated with linear interpolation from k- to s-rate.

note2

note1
velo1
trig1
note2
velo2
trig2
d
ch1
ch2

Midi note output

note4

note1
velo1
trig1
note2
velo2
trig2
note3
velo3
trig3
note4
velo4
trig4
d
ch1
ch2
ch3
ch4

Midi note output

note8

note1
velo1
trig1
note2
velo2
trig2
note3
velo3
trig3
note4
velo4
trig4
note5
velo5
trig5
note6
velo6
trig6
note7
velo7
trig7
note8
velo8
trig8
d
ch1
ch2
ch3
ch4
ch5
ch6
ch7
ch8

Midi note output

jaffa/ctrl2

f16m

s
o
nr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

16 bipolar fractional controls fed into a muxer. Use input to select which one of the 16 fractional values to output. Nr output shows which integer value is currently selected.

f16ms

s
o
nr
sel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

16 bipolar fractional controls fed into a muxer. This one also has a build in selector for the muxer. Use input or selector to select which one of the 16 fractional values to output. Nr output shows which integer value is currently selected.

f32m

s
o
nr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

16 bipolar fractional controls fed into a muxer. Use input to select which one of the 16 fractional values to output. Nr output shows which integer value is currently selected.

f32ms

s
o
nr
sel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

16 bipolar fractional controls fed into a muxer. Use input to select which one of the 16 fractional values to output. Nr output shows which integer value is currently selected.

f8

o1
o2
o3
o4
o5
o6
o7
o8
1
2
3
4
5
6
7
8

8 positive integer controls with individual outputs

f8m

s
o
nr
1
2
3
4
5
6
7
8

8 bipolar fractional controls fed into a muxer. Use input to select which one of the 8 fractional values to output. Nr output shows which integer value is currently selected.

f8ms

s
o
nr
sel
1
2
3
4
5
6
7
8

8 bipolar fractional controls fed into a muxer. This one also has a build in selector for the muxer. Use input or selector to select which one of the 8 fractional values to output. Nr output shows which integer value is currently selected.

i16m

s
o
nr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

16 positive integer controls fed into a muxer. Use input to select which one of the 16 integer values to output. Nr output shows which integer value is currently selected.

i16ms

s
o
nr
sel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

16 positive integer controls fed into a muxer. This one also has a build in selector for the muxer. Use input or selector to select which one of the 16 integer values to output. Nr output shows which integer value is currently selected.

i24m

s
o
nr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

32 positive integer controls fed into a muxer. This one also has a build in selector for the muxer. Use input or selector to select which one of the 32 integer values to output. Nr output shows which integer value is currently selected.

i26m

s
o
nr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

32 positive integer controls fed into a muxer. This one also has a build in selector for the muxer. Use input or selector to select which one of the 32 integer values to output. Nr output shows which integer value is currently selected.

i32m

s
o
nr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

32 positive integer controls fed into a muxer. This one also has a build in selector for the muxer. Use input or selector to select which one of the 32 integer values to output. Nr output shows which integer value is currently selected.

i32ms

s
o
nr
sel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

32 positive integer controls fed into a muxer. This one also has a build in selector for the muxer. Use input or selector to select which one of the 32 integer values to output. Nr output shows which integer value is currently selected.

i8

o1
o2
o3
o4
o5
o6
o7
o8
1
2
3
4
5
6
7
8

8 positive integer controls with individual outputs

i8m

s
o
nr
1
2
3
4
5
6
7
8

8 positive integer controls fed into a muxer. Use input to select which one of the 8 integer values to output. Nr output shows which integer value is currently selected.

i8ms

s
o
nr
sel
1
2
3
4
5
6
7
8

8 positive integer controls fed into a muxer. This one also has a build in selector for the muxer. Use input or selector to select which one of the 8 integer values to output. Nr output shows which integer value is currently selected.

t16m

s
o
nr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

16 constant boolean, toggle control fed into a muxer. This one also has a build in selector for the muxer. Use input to select which one of the 16 constant boolean to output. Nr output shows which integer value is currently selected.

t16ms

s
o
nr
sel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

16 constant boolean, toggle control fed into a muxer. This one also has a build in selector for the muxer. Use input or selector to select which one of the 16 constant boolean to output. Nr output shows which integer value is currently selected.

t32m

s
o
nr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

32 constant boolean, toggle control fed into a muxer. This one also has a build in selector for the muxer. Use input to select which one of the 32 constant boolean to output. Nr output shows which integer value is currently selected.

t32ms

s
o
nr
sel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

32 constant boolean, toggle control fed into a muxer. This one also has a build in selector for the muxer. Use input or selector to select which one of the 32 constant boolean to output. Nr output shows which integer value is currently selected.

t8m

s
o
nr
1
2
3
4
5
6
7
8

8 constant boolean, toggle control fed into a muxer. This one also has a build in selector for the muxer. Use input to select which one of the 8 constant boolean to output. Nr output shows which integer value is currently selected.

t8ms

s
o
nr
sel
1
2
3
4
5
6
7
8

8 constant boolean, toggle control fed into a muxer. This one also has a build in selector for the muxer. Use input or selector to select which one of the 8 constant boolean to output. Nr output shows which integer value is currently selected.

jaffa/disp

Vu2

1
2
1
2

select one out of 16 integers +-, with chain i/o

Vu4

1
2
3
4
1
2
3
4

select one out of 16 integers +-, with chain i/o

d4a

1
2
3
4
1
2
3
4

displays bipolar k-rate signals

d4b

1
2
3
4
1
2
3
4

displays bipolar k-rate signals

d4c

1
2
3
4
1
2
3
4

displays bipolar k-rate signals

d4d

1
2
3
4
1
2
3
4

displays bipolar k-rate signals

d4e

1
2
3
4
1
2
3
4

displays bipolar k-rate signals

jaffa/env

Follow2

in
amp
time

envelope follower, linear output
2= 1,3 ms
3= 2,7 ms
4= 5,3 ms
5= 10,6 ms
6= 21,2 ms
7= 42,6 ms
8= 85,3 ms
9= 170,6 ms

ad1

i
t
a
d
o
on
a
d

Attack/decay envelope, linear attack, exponential decay with modulation inputs and build in vca.

"On" button turn envelope on. When "off" input is passed through with no gate.

ad2

i
t
a
d
o
on
a
d
on

Attack/decay envelope, linear attack, exponential decay with modulation inputs and build in vca.

"On" button turn envelope on. When "off" input is passed through with no gate.

adsr1

i
g
o
on
a
d
s
r

Attack/decay/sustain/release envelope with modulation inputs and build in vca.

"On" button turn envelope on. When "off" input is passed through with no gate.

adsr2

i
g
o
on
a
d
s
r
on

Attack/decay/sustain/release envelope with modulation inputs and build in vca.

"On" button turn envelope on. When "off" input is passed through with no gate.

adsr3

i
g
a
d
s
r
o
on
a
d
s
r

Attack/decay/sustain/release envelope with modulation inputs and build in vca.

"On" button turn envelope on. When "off" input is passed through with no gate.

adsr4

i
g
a
d
s
r
o
on
a
d
s
r
on

Attack/decay/sustain/release envelope with modulation inputs and build in vca.

"On" button turn envelope on. When "off" input is passed through with no gate.

d1 lin

i
t
d
o
on
d

decay envelope, linear rampwith modulation inputs and build in vca.

"On" button turn envelope on. When "off" input is passed through with no gate.

d1

i
t
d
o
on
d

decay envelope with modulation inputs and build in vca.

"On" button turn envelope on. When "off" input is passed through with no gate.

d2 lin

i
t
d
o
on
d
on

decay envelope, linear rampwith modulation inputs and build in vca.

"On" button turn envelope on. When "off" input is passed through with no gate.

d2

i
t
d
o
on
d
on

decay envelope with modulation inputs and build in vca.

"On" button turn envelope on. When "off" input is passed through with no gate.

jaffa/filt

MMFilter

In
Out
Cut Off
Resonance
Cl Lp Bp Hp

(no description)

MMFilterP

In
CutModIn
ResoModIn
Out
1.Cl Lp Bp Hp
CutOff1
Reso1
FilterMix
2.Cl Lp Bp Hp
CutOff2
Reso2

(no description)

allpass int 1

in
time
timemod
gain
out
buffsize
interpol
location

A modulatable 32bit schroeder allpass filter with different types of interpolation (for reverbs and diffusers)

allpass int 2

in
two
time
timemod
gain
time2
timemod2
gain2
out
two
buffsize
interpol
location

2modulatable 32bit schroeder allpass filters with different types of interpolation (for reverbs and diffusers)

allpass int 3

in
two
three
time
timemod
gain
time2
timemod2
gain2
time3
timemod3
gain3
out
two
three
buffsize
interpol
location

3 modulatable 32bit schroeder allpass filters with different types of interpolation (for reverbs and diffusers)

allpass int 4 a

in
time
timemod
gain
time2
timemod2
gain2
time3
timemod3
gain3
time4
timemod4
gain4
out
buffsize
interpol
location

4 modulatable 32bit schroeder allpass filters with different types of interpolation (for reverbs and diffusers).
These are connect in 1 serie of 8 allpasses.

allpass int 4

in
two
three
four
time
timemod
gain
time2
timemod2
gain2
time3
timemod3
gain3
time4
timemod4
gain4
out
two
three
four
buffsize
interpol
location

4 modulatable 32bit schroeder allpass filters with different types of interpolation (for reverbs and diffusers)

allpass int 5

in
two
three
four
five
time
timemod
gain
time2
timemod2
gain2
time3
timemod3
gain3
time4
timemod4
gain4
time5
timemod5
gain5
out
two
three
four
five
buffsize
interpol
location

5 modulatable 32bit schroeder allpass filters with different types of interpolation (for reverbs and diffusers)

allpass int 6

in
two
three
four
five
six
time
timemod
gain
time2
timemod2
gain2
time3
timemod3
gain3
time4
timemod4
gain4
time5
timemod5
gain5
time6
timemod6
gain6
out
two
three
four
five
six
buffsize
interpol
location

6 modulatable 32bit schroeder allpass filters with different types of interpolation (for reverbs and diffusers)

allpass int 7

in
two
three
four
five
six
seven
time
timemod
gain
time2
timemod2
gain2
time3
timemod3
gain3
time4
timemod4
gain4
time5
timemod5
gain5
time6
timemod6
gain6
time7
timemod7
gain7
out
two
three
four
five
six
seven
buffsize
interpol
location

7 modulatable 32bit schroeder allpass filters with different types of interpolation (for reverbs and diffusers)

allpass int 8 a

in
time
timemod
gain
time2
timemod2
gain2
time3
timemod3
gain3
time4
timemod4
gain4
time5
timemod5
gain5
time6
timemod6
gain6
time7
timemod7
gain7
time8
timemod8
gain8
out
buffsize
interpol
location

8 modulatable 32bit schroeder allpass filters with different types of interpolation (for reverbs and diffusers).
These are connect in 1 serie of 8 allpasses.

allpass int 8 b

inl
inr
time
timemod
gain
time2
timemod2
gain2
time3
timemod3
gain3
time4
timemod4
gain4
time5
timemod5
gain5
time6
timemod6
gain6
time7
timemod7
gain7
time8
timemod8
gain8
outl
outr
buffsize
interpol
location

8 modulatable 32bit schroeder allpass filters with different types of interpolation (for reverbs and diffusers).
These are connect in 2 parallel series of 4 allpasses. For stereo reverbs.

allpass int 8

in
two
three
four
five
six
seven
eight
time
timemod
gain
time2
timemod2
gain2
time3
timemod3
gain3
time4
timemod4
gain4
time5
timemod5
gain5
time6
timemod6
gain6
time7
timemod7
gain7
time8
timemod8
gain8
out
two
three
four
five
six
seven
eight
buffsize
interpol
location

8 modulatable 32bit schroeder allpass filters with different types of interpolation (for reverbs and diffusers)

ap1

in
freq
out
freq

Allpass filter w. 1st order lowpass filter.

NB. This version of an allpass filter has NO delay, just a straight up allpass filter.

ap2

in
g
out
delay
g

Allpass reverb section. This version uses SD-ram!!!! The factory version that uses SRAM, can maximum load 23 with 1000 samples delay. This version I loaded more than 100 with 1000 samples delay and the patch still compiled. Awesome. Besides that, it is identical to the factory allpass filter.

bp m a

in
pitch
reso
act
out
pitch
reso

2-pole resonant band-pass filter (biquad)

Act inlet turns code on/off. This saves a few percentage of DSP.

hp m a

in
pitch
reso
act
out
pitch
reso

2-pole resonant high-pass filter (biquad)

Act inlet turns code on/off. This saves a few percentage of DSP.

ladder1

i
c
r
o
Cut
Res

24 db Ladder filter.

lp m a

in
pitch
reso
act
out
pitch
reso

2-pole resonant low-pass filter (biquad)

Act inlet turns code on/off. This saves a few percentage of DSP.

mm12db

in
freq
out
on
freq
type

1st order multimode X2 (12db). Lp,Bp,Hp.

mm18db

in
freq
out
on
freq
type

1st order multimode X3 (18db). Lp,Bp,Hp.

mm24db

in
freq
out
on
freq
type

1st order multimode X4 (24db). Lp,Bp,Hp.

mm6db

in
freq
out
on
freq
type

1st order multimode X1 (6db). Lp,Bp,Hp.

mmhp

in
freq
out
on
freq
db

1st order HP filter, 6 to 24 db selector.

mmlp

in
freq
out
on
freq
db

1st order LP filter, 6 to 24 db selector.

jaffa/fx

phaser1

in
time
lfo
out
s
on
mix
feedback
freqa
freqb
timea
timeb
lfoon
lfoam
lfospeed
feedinvert

A phaser with 2 stages.

Use size 256 samples for the table, it sounds best for a phaser.

6-7%

jaffa/math

1hz

out

positive constant value dial

POW3

p
POW

New POW VERY SIMPLE 30-12-2017.

ep1

i
o

This is an equal powered scaled knob. The scaling is based on
an offset and limited cosine, using the last 1/4 of the cosine wave to create a smooth curve, instead of a completely linear 0-64. The same algorihtm is used for the crossfader mix/xfade2 & mix/xfade3.

log2

a
o

logarithm, y=16+8*log2(x)

Version 2:
When the math/log from the factory library is set to zero it sends out -64 value. Which is prbably the right number but in some cases it is unwanted, so I made this version which when set to zero actualt sends out zero.

modulo

i
m
o

add

pyramid

l
s
Sel

This object makes a list, consisting of sequences, which length are based on the amount of steps in the sequence. Example:
1: 1
2:1,2
3:1,2,3
4:1,2,3,4
5:1,2,3,4,5
etc...
Each number is output individually and evenutally it will a pyramid like pattern, like you see above. Can be used for many things.

togam

a
result
am
on

multiply

jaffa/midi

makenote

tr
l
t
v
d
channel
Trigger
Length
Transpose
Velocity

Makenote, an object the handles the 3 parameters associated with standard midi playback, note, velocity and notelength. Its a bit like Pure Data's makenote object, hence the name. There is midi port selector and midi channel build into the object, to make it simple to work with.

jaffa/mix

StMix1

L In
R In
L Out
R Out
St. Gain

(no description)

StMix2

1L
1R
2L
2R
L Out
R Out
1 Gain
2 Gain

(no description)

StMix2M

1L
1R
2L
2R
L Out
R Out
1 Gain
2 Gain
Master

(no description)

StMix3

1L
1R
2L
2R
3L
3R
L Out
R Out
1 Gain
2 Gain
3 Gain

(no description)

StMix3M

1L
1R
2L
2R
3L
3R
L Out
R Out
1 Gain
2 Gain
3 Gain
Master

(no description)

StMix4

1L
1R
2L
2R
3L
3R
4L
4R
L Out
R Out
1 Gain
2 Gain
3 Gain
4 Gain

(no description)

StMix4CM

CL
CR
1L
1R
2L
2R
3L
3R
4L
4R
L Out
R Out
1 Gain
2 Gain
3 Gain
4 Gain
Master

(no description)

StMix4Ch

CL
CR
1L
1R
2L
2R
3L
3R
4L
4R
L Out
R Out
1 Gain
2 Gain
3 Gain
4 Gain

(no description)

StMix4M

1L
1R
2L
2R
3L
3R
4L
4R
L Out
R Out
1 Gain
2 Gain
3 Gain
4 Gain
Master

(no description)

StMix4MCO

CL
CR
1L
1R
2L
2R
3L
3R
4L
4R
1 Gain
2 Gain
3 Gain
4 Gain
Master

(no description)

xfade2

i1
i2
c
o

This is an equal powered crossfader. The crossfade scaling is based on
an offset and limited cosine, using the last 1/4 of the cosine wave to create a smooth crossfade curve, instead of a completely linear crossfader.

xfade3

a1
a2
b1
b2
c
a
b

This is an equal powered crossfader. The crossfade scaling is based on
an offset and limited cosine, using the last 1/4 of the cosine wave to create a smooth crossfade curve, instead of a completely linear crossfader. Stereo version of mix/xfade2.

jaffa/mix2

Mix4sm

m
r
1
2
3
4
m
s
o
1on
v1
s1
2on
v2
s2
3on
v3
s3
4on
v4
s4
return
r
main

4 input s-rate mixer

mx4a

1
2
3
m
ch1
v1
ch2
v2
ch3
v3
Mvol

3 channel mixer.

2% DSP

mx4b

r1l
r1r
1
2
3
s1
ml
mr
CHANNELS
ch1
v1
s1a
ch2
v2
s2a
ch3
v3
s3a
RETURNS
returnaoo
retavol
MAIN
Mvol

3 channel mixer with 1 send with stereo return. There is also send for the subgroup.

All parameters are described if you hoover the mouse over them, so look there for description.

3% DSP

mx4c

1
2
3
4
m
ch1
v1
ch2
v2
ch3
v3
ch4
v4
Mvol

4 channel mixer.

3% DSP

mx4d

r1l
r1r
1
2
3
4
s1
ml
mr
CHANNELS
ch1
v1
s1a
ch2
v2
s2a
ch3
v3
s3a
ch4
v4
s4a
RETURNS
returnaoo
retavol
MAIN
Mvol

4 channel mixer with 1 send with stereo return.

All parameters are described if you hoover the mouse over them, so look there for description.

6% DSP

mx4e

r1l
r1r
r2
1
2
3
4
s1
s2
ml
mr
CHANNELS
ch1
v1
s1a
s1b
ch2
v2
s2a
s2b
ch3
v3
s3a
s3b
ch4
v4
s4a
s4b
RETURNS
returnaoo
retavol
returnboo
retbvol
MAIN
Mvol

5 channel mixer with 2 sends and 1 subgroup. The first send effect has a stereo return, the second one is mono. There is also send for the subgroup.

All channels are mono, but the output of the object is stereo, so you are able to use a stereo send effect. First send is stereo and second is only mono. The send effects are post-channel fader(they are affected by the channel volume).

All parameters are described if you hoover the mouse over them, so look there for description.

12% DSP

mx4f

r1l
r1r
1
2
3
4
5
s1
ml
mr
CHANNELS
ch1
v1
s1a
ch2
v2
s2a
ch3
v3
s3a
ch4
v4
s4a
ch5
v5
s5a
RETURNS
returnaoo
retavol
MAIN
Mvol

5 channel mixer with 1 send with stereo return.

All channels are mono, but the output of the object is stereo, so you are able to use a stereo send effect. The send effects are post-channel fader(they are affected by the channel volume).

All parameters are described if you hoover the mouse over them, so look there for description.

6% DSP

mx4g

r1l
r1r
r2
b1
1
2
3
4
5
s1
s2
b1
ml
mr
CHANNELS
ch1
v1
s1a
s1b
ch2
v2
s2a
s2b
ch3
v3
s3a
s3b
ch4
v4
s4a
s4b
ch5
v5
s5a
s5b
SUBGROUP
sub1vol
sub1sa
sub1sb
RETURNS
returnaoo
retavol
returnboo
retbvol
MAIN
Mvol

5 channel mixer with 2 sends and 1 subgroup. The first send effect has a stereo return, the second one is mono. There is also send for the subgroup.

All channels are mono, but the output of the object is stereo, so you are able to use a stereo send effect. First send is stereo and second is only mono. The send effects are post-channel fader(they are affected by the channel volume).

All parameters are described if you hoover the mouse over them, so look there for description.

12% DSP

mx4h

r1l
r1r
1
2
3
4
5
6
s1
ml
mr
CHANNELS
ch1
v1
s1a
ch2
v2
s2a
ch3
v3
s3a
ch4
v4
s4a
ch5
v5
s5a
ch6
v6
s6a
RETURNS
returnaoo
retavol
MAIN
Mvol

6 channel mixer with 1 send with stereo return. There is also send for the subgroup.

All channels are mono, but the output of the object is stereo, so you are able to use a stereo send effect. The send effects are post-channel fader(they are affected by the channel volume).

All parameters are described if you hoover the mouse over them, so look there for description.

6% DSP

mx4i

r1l
r1r
r2
b1
1
2
3
4
5
6
s1
s2
b1
ml
mr
CHANNELS
ch1
v1
s1a
s1b
ch2
v2
s2a
s2b
ch3
v3
s3a
s3b
ch4
v4
s4a
s4b
ch5
v5
s5a
s5b
ch6
v6
s6a
s6b
SUBGROUP
sub1vol
sub1sa
sub1sb
RETURNS
returnaoo
retavol
returnboo
retbvol
MAIN
Mvol

6 channel mixer with 2 sends and 1 subgroup. The first send effect has a stereo return, the second one is mono. There is also send for the subgroup.

All channels are mono, but the output of the object is stereo, so you are able to use a stereo send effect. First send is stereo and second is only mono. The send effects are post-channel fader(they are affected by the channel volume).

All parameters are described if you hoover the mouse over them, so look there for description.

12% DSP

mx4j

r1l
r1r
r2
b1
b2
1
2
3
4
5
6
s1
s2
b1
b2
ml
mr
CHANNELS
ch1
v1
s1a
s1b
ch2
v2
s2a
s2b
ch3
v3
s3a
s3b
ch4
v4
s4a
s4b
ch5
v5
s5a
s5b
ch6
v6
s6a
s6b
SUBGROUPS
sub1vol
sub1sa
sub1sb
sub2vol
sub2sa
sub2sb
RETURNS
returnaoo
retavol
returnboo
retbvol
MAIN
Mvol

7 channel mixer with 2 sends and 2 subgroups. The first send effect has a stereo return, the second one is mono. There is also sends for the subgroups.

All channels are mono, but the output of the object is stereo, so you are able to use a stereo send effect. First send is stereo and second is only mono. The send effects are post-channel fader(they are affected by the channel volume).

All parameters are described if you hoover the mouse over them, so look there for further description. Also see helpfile on how to set it up.

15% DSP

mx4k

r1l
r1r
r2
b1
b2
1
2
3
4
5
6
7
s1
s2
b1
b2
ml
mr
CHANNELS
ch1
v1
s1a
s1b
ch2
v2
s2a
s2b
ch3
v3
s3a
s3b
ch4
v4
s4a
s4b
ch5
v5
s5a
s5b
ch6
v6
s6a
s6b
ch7
v7
s7a
s7b
SUBGROUPS
sub1vol
sub1sa
sub1sb
sub2vol
sub2sa
sub2sb
RETURNS
returnaoo
retavol
returnboo
retbvol
MAIN
Mvol

7 channel mixer with 2 sends and 2 subgroups. The first send effect has a stereo return, the second one is mono. There is also sends for the subgroups.

All channels are mono, but the output of the object is stereo, so you are able to use a stereo send effect. First send is stereo and second is only mono. The send effects are post-channel fader.

All parameters are described if you hoover the mouse over them, so look there for further description. Also see helpfile on how to set it up.

15% DSP

mx4l

r1l
r1r
r2
b1
b2
1
2
3
4
5
6
7
8
s1
s2
b1
b2
ml
mr
CHANNELS
ch1
v1
s1a
s1b
ch2
v2
s2a
s2b
ch3
v3
s3a
s3b
ch4
v4
s4a
s4b
ch5
v5
s5a
s5b
ch6
v6
s6a
s6b
ch7
v7
s7a
s7b
ch8
v8
s8a
s8b
SUBGROUPS
sub1vol
sub1sa
sub1sb
sub2vol
sub2sa
sub2sb
RETURNS
returnaoo
retavol
returnboo
retbvol
MAIN
Mvol

8 channel mixer with 2 sends and 2 subgroups. The first send effect has a stereo return, the second one is mono. There is also sends for the subgroups. All channels are mono, but the output of the object is stereo, so you are able to use a stereo send effect. First send is stereo and second is only mono. The send effects are post-channel fader(they are affected by the channel volume).

All parameters are described if you hoover the mouse over them, so look there for further descriptions. Also see helpfile on how to set it up.

17% DSP

jaffa/mux

m6b

1
2
3
4
5
6
1o
2o
3o
4o
5o
6o
1
2
3
4
5
6

Muxer with 6 individual in/outs and individual on/off

muxb

i1
i2
s
o
on

input multiplexer. Output is i1 when s is false, i2 otherwise.

With a button to select input i1 or i2.

NB! Input for selecting i1 or i1 ONLY works when button is off!

muxi

i1
i2
s
o
on

input multiplexer. Output is i1 when s is false, i2 otherwise.

With a button to select input i1 or i2.

NB! Input for selecting i1 or i1 ONLY works when button is off!

muxk

i1
i2
s
o
on

input multiplexer. Output is i1 when s is false, i2 otherwise.

With a button to select input i1 or i2.

NB! Input for selecting i1 or i1 ONLY works when button is off!

muxs

i1
i2
s
o
on

input multiplexer. Output is i1 when s is false, i2 otherwise.

With a button to select input i1 or i2.

NB! Input for selecting i1 or i1 ONLY works when button is off!

muxs4

i0
i1
i2
i3
i4
i5
i6
i7
o
Sel

input multiplexer. Output is i1 when s < 1, i[i] when....

jaffa/old

adsr1

i
e
g
a
d
s
r
o
e
on
a
d
s
r

Attack/decay/sustain/release envelope with modulation inputs and build in vca.

NB! Connect the "e" output to the "e" input for the gate to work. (Sorry I am still learning code, so I am not sure how I connect the "e" in and "e" internally in the object yet.

"On" button turn envelope on. When "off" input is passed through with no gate.

jaffa/rand

rp128II

in
rp
off
out
on
pattrn
length
offset

Random pattern player. NB. USES FILES FROM SD-CARD- REMEMBER TO DOWNLOAD THEM FROM MY CONTRIBUTORS PAGE.

Features:
Select pattern, offset & length control for the pattern. 128 random values in each of the patterns. Values are between 0-64.

(New pattrns created 20-4-2017)

jaffa/rev

verb1

l
r
l
r
on
mix
feed

Very simple stereo reverb. Got a metallic touch to it, but still pretty decent sound. 14%

jaffa/sam

simsam1

trig
pitch
pos
out
t
pitch
position
envon
a
d
s
r

Simple sampler with an ADSR envelope.

simsam2

trig
pitch
pos
out
t
envon
pitch
position
d
vol

Simple sampler with pitch, position, decay envelope and volume.

simsam3

trig
pitch
pos
out
t
envon
lpon
pitch
position
d
freq
vol

Simple sampler with pitch, position, decay envelope and volume.

Plus lp1 m lopass filter.

simsam4

trig
pitch
pos
out
t
envon
lpon
hpon
inv
pitch
position
decay
lp
hp
vol

Simple sampler with pitch, position, decay envelope and volume.

Plus lp1 m lopass filter.

jaffa/sat

tanh

i
o
On
Gain

This is a rational approximation of the tanh function. The gain parameter boosts the audio signal into the tanh function, for harder saturation.

jaffa/scale

drawscale

note
s
p1

Scale object. Any incoming value will be scaled to the closest note in the scale.

jaffa/sel

sel b 16 2t D

in
def1
def2
chain
o1
o2
p1
p2
v

select one out of 16 booleans, chainable, 2 tracks

sel b 16 2t pulseD

in
def1
def2
chain
o1
o2
p1
p2
in

select one out of 16 booleans, chainable, 2 tracks, pulse output

sel b 16 4t D

in
def1
def2
def3
def4
chain
o1
o2
o3
o4
p1
p2
p3
p4
v

select one out of 16 booleans, chainable, 4 tracks

sel b 16 4t pulseD

in
def1
def2
def3
def4
chain
o1
o2
o3
o4
p1
p2
p3
p4
in

select one out of 16 booleans, chainable, 4 tracks, pulse output

sel b 16 6t D

in
def1
def2
def3
def4
def5
def6
chain
o1
o2
o3
o4
o5
o6
p1
p2
p3
p4
p5
p6
v

select one out of 16 booleans, chainable, 6 tracks

sel b 16 8t D

in
def1
def2
def3
def4
def5
def6
def7
def8
chain
o1
o2
o3
o4
o5
o6
o7
o8
p1
p2
p3
p4
p5
p6
p7
p8
v

select one out of 16 booleans, chainable, 8 tracks

sel b 16 8t pulseD

in
def1
def2
def3
def4
def5
def6
def7
def8
chain
o1
o2
o3
o4
o5
o6
o7
o8
p1
p2
p3
p4
p5
p6
p7
p8
in

select one out of 16 booleans, chainable, 8 tracks, pulse output

sel b 16 D

in
def
chain
o
b16
v

select one out of 16 booleans, chainable

sel b 16 pulseD

in
def
chain
o
b16
in

select one out of 16 booleans, chainable. Pulse output.

sel fb 16D

in
def
chain
o
b0
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11
b12
b13
b14
b15
in

select one out of 16 bipolar fractionals, with chain i/o

sel fb 32D

in
def
chain
o
b0
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11
b12
b13
b14
b15
b16
b17
b18
b19
b20
b21
b22
b23
b24
b25
b26
b27
b28
b29
b30
b31
in

select one out of 32 bipolar fractionals, with chain i/o

sel fp 16D

in
def
chain
o
b0
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11
b12
b13
b14
b15
in

select one out of 16 positive fractionals, with chain i/o

sel fp 32D

in
def
chain
o
b0
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11
b12
b13
b14
b15
b16
b17
b18
b19
b20
b21
b22
b23
b24
b25
b26
b27
b28
b29
b30
b31
in

select one out of 32 positive fractionals, with chain i/o

sel i 16 +/-64D

in
def
chain
o
i0
i1
i2
i3
i4
i5
i6
i7
i8
i9
i10
i11
i12
i13
i14
i15
in

select one out of 16 integers +-, with chain i/o

sel i 32 +/-64D

in1
def
chain
o
i0
i1
i2
i3
i4
i5
i6
i7
i8
i9
i10
i11
i12
i13
i14
i15
i16
i17
i18
i19
i20
i21
i22
i23
i24
i25
i26
i27
i28
i29
i30
i31
in1

select one out of 16 integers +-, with chain i/o

sel i 64

in
def
chain
o
i0
i1
i2
i3
i4
i5
i6
i7
i8
i9
i10
i11
i12
i13
i14
i15
i16
i17
i18
i19
i20
i21
i22
i23
i24
i25
i26
i27
i28
i29
i30
i31
i32
i33
i34
i35
i36
i37
i38
i39
i40
i41
i42
i43
i44
i45
i46
i47
i48
i49
i50
i51
i52
i53
i54
i55
i56
i57
i58
i59
i60
i61
i62
i63

select one out of 64 integers, with chain i/o

jaffa/stack

is8

i1
i2
i3
i4
i5
i6
i7
i8
o

See help patch for usage !!

Advanced version of the SixSteps oscillator:
* it have a built-in Master oscillator for sync sounds.
* 12 steps instead of 6 (use tiar/osc/wf_12Steps on waveform inlet)
* oversampling by 2 (use tiar/conv/O2_to_SR_59 on the output)


The waveform of the12Steps oscillator is controlled by 12 parameters: the 12 steps levels.
These 12 steps levels must be provided by a tiar/osc/wf_12Steps object connected to the waveform inlet.


This object allows to generate waveforms reminiscent of old pseudo digital synths (such as the RMI and it's digit harmonics based on Walsh functions).

It is **anti aliased** with an algorithm that is based on both BLEPs and DPWs... i think it is quite original and efficient with this kind of waveforms.

(the steppy signal goes through a second order leaky "analytic" integrator, when a transient occurs the state variable of the integrator is updated taking account of the subsample time of the transient - much like BLEPs -... at the end the signal is high passed with a second order differentiator - like a second order DPW...)

jaffa/string

c2

1
2
1
2

constant string

c4

1
2
3
4
1
2
3
4

constant string

c8

1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8

constant string

jaffa/table

play pitch mod

trigger
reverse
loop
pitch
nrofslices
slicelength
selectslice
wave
table
NrOfSlices
Slicelength
SelectSlice
Pitch
Reverse
Loop
NrOfSlices

play audio sample from table with pitch control, starting from position

read int

a
o
table

read from table, nearest neighbour

Outputs an integer value, often VERY high, so it needs to be scaled a bit.

For scaling:
Connect a div256 and a div8 to the integer tables output.

This scales the output value this way:
If a regular table would output 17, the integer table output approximatly 17000.
If a regular table would output 24, the integer table output approximatly 24000.

And so on....

saveload

index
save
table
prefix
suffix

Load from table and save to table, Uses same location for both save and load. Use save inlet to save to sd-card.

table2

filename
trig
index
out
size
init
table
prefix
suffix

A combination of 3 objects:
table/alloc 16b sdram
table/load
string/indexed

IMPORTANT:
Se help file about how to connect!

tablecombo1

index
size
prefix
suffix

A combination of 3 objects:
table/alloc 16b sdram
table/load
string/indexed

tablecombo2

index
volume
size
prefix
suffix
volfade

A combination of 3 objects:
table/alloc 16b sdram
table/load
string/indexed

This version has also got Dr. Justice deglitcher implemented, which mutes all sound from the patch = no BLIIIIP when changing table content.

jaffa/test

tabletry52

index
trig
volume
size
prefix
suffix
volfade

A combination of 3 objects:
table/alloc 16b sdram
table/load
string/indexed

IMPORTANT:
Se help file about how to connect!

jaffa/tools

text

text

Simple text object to keep notes right at your hand, inside the patch.

jaffa/wt

m8v1

pitch
wnr
freq
reset
m
m
t
mainoct
rston
MORPH
pitch
wave1
wave2
wave3
wave4
wave5
wave6
wave7
wave8

play a wavetable, which has been loaded by wave/wavetable load/
crossfade will fade beween waves. (~ double cpu load).
note: you can use as a single wave oscillator by just loadng 1 wave

wtload1

trig
loaded
waves
size
prefix
suffix

load 16bit pwm wavetable raw (no header) of single cycle waves.
use with wave/wavetable play
note: you can just load 1 wave and use as wave oscillator

filename is supplied as inlet, trig to load , check outlet to see if loaded successfully

janifr

lpfbcomb filter sdram

in
fb
damp
out
delay

Freverb style lowpass feedback comb filter 32bit SDRAM

lpfbcomb filter

in
fb
damp
out
delay

Freverb style lowpass feedback comb filter 32bit

janifr/filter

lp ma3+5

in
out

Dual serial moving average low pass filter with window sizes 5 and 3. Attenuation -3dB at 4 kHz and -6 dB at 5 kHz.

jho/delay

read 32b

time
out
delayname
time

delay read, non-interpolated

read 32b

time
out
delayname
time

delay read, non-interpolated

read interp 32b

time
out
delayname
time

delay read, linear interpolated

write 32b

in
size

delayline definition, read with delread~

write sdram 32b

in
size

delayline definition, read it with "delay/read" objects referencing the instance name of this object

jho/filter

allpass m hq

in
mod
out
delay

allpass reverb section with modulation input

allpass m

in
mod
out
delay

allpass reverb section with modulation input

downsample

in_1st
in_2nd
out

Downsampling filter (SINC with Hamming window)

lp 12kHz

in
out

Downsampling filter (SINC with Hamming window)

lp x2

in_1st
in_2nd
out_1st
out_2nd
pitch
Fx2
reso

Oversampled 2-pole resonant low-pass filter (biquad)

notch

in
out
pitch
reso

Notch filter (biquad)

para x2

in_1st
in_2nd
out_1st
out_2nd
pitch
Fx2
reso
gain
ON

Notch filter (biquad)

para

in
out
pitch
reso
gain
on

Notch filter (biquad)

upsample cheap

in
out_1st
out_2nd

Upsampling x2 with linear interpoation

upsample

in
out_1st
out_2nd

Upsampling x2 with linear interpoation

vcf x2

in_1st
in_2nd
frequency
reso
out_1st
out_2nd

Oversampled 2-pole resonant low-pass filter (biquad), filter updated at k-rate

jho/osc

phasor fast sync

pitch
sync
wave
pitch

Phasor with signal rate reset. An abrupt decrease at the sync inlet resets the phase.

jho/stomp

flanger1 32b

in
out
on
fdbk
depth
speed

(no description)

leslie

inlet_1
outlet_1
speed
depth
offset
wobble
xover1
xover2
blend
on

(no description)

phaser

in
out
speed
waveform
depth
offset
blend
on

(no description)

jls/lfo

chaotic_lfo

active
reset
x
y
z
val

Simple chaotic lfo

- parameter "val" is range from oscillation to chaos

lorenz_lfo

active
reset
x
y
z

Lorenz chaotic attractor - lfo
https://en.wikipedia.org/wiki/Lorenz_system

jls/logic

logistic_gate

trig
gate
gate

Chaotic Random Gate - Using two Logistic Maps

lorenz_gate

trig
reset
pos
neg
out

Lorenz chaotic attractor - gate
https://en.wikipedia.org/wiki/Lorenz_system

neuron_gate

trig1
trig2
gate
gate

Simple Neural-Net Gate

sample_hold_gate

in
trig
out
pos
neg

Sample & Hold and Gate

jls/osc

chaotic_osc

active
reset
pitch
x
y
freq
s
r
err

Not well tuned chaotic oscillator

chua_osc

active
reset
x
y
z

Chua chaotic oscillator

https://en.wikipedia.org/wiki/Chua%27s_circuit

lorenz_osc

active
reset
x
y
z

Lorenz chaotic attractor - oscillator

https://en.wikipedia.org/wiki/Lorenz_system

rossler_osc

active
reset
x
y
z

Rossler chaotic attractor - oscillator

https://en.wikipedia.org/wiki/R%C3%B6ssler_attractor

xorsaw_osc

pitch1
pitch2
wave
pitch1
pitch2

Xor saw wave oscillator

jls/seq

peuclid_seq

active
trig
rst
wave
gate
steps
hits
bit

Pseudo euclidean sequencer

structure_seq

active
trig
rst
out

Xor pseudorandom structure sequencer

wolfram_seq

active
trig
rst
wave
bit0
bit1
bit2
bit3
bit4
bit5
bit6
bit7
width
mode
rule
bit0
bit1
bit2
bit3
bit4
bit5
bit6
bit7

Wolfram cellular automata sequencer - https://en.wikipedia.org/wiki/Elementary_cellular_automaton

js

granulator

start
stop
time
pitch
position
out
position
table
size
interval
rand

A Granulator that plays samples from a table using grains. It allows pitch shifting and time stretching. Uses 5 grains and linear interpolation. Works well together with sptnk/table/slicer.

jt

debug_threads

dump

For developers: dumps a list of current threads and their status.

tuning just

detune
root
C
Db
D
Eb
E
F
Gb
G
Ab
A
Bb
B

Tuning table for tonewheels using just intonation.

jt/dist

class a

in
out
drive

"Class A" distortion. Class A refers to an amplifier topology, with asymetrical overdrive properties. This object adds variable DC offset, a subtle highpass filter can be useful before further processing.

jt/drawbars

pulse

velosense
f1
f2
f3
f4
f5
f6
f7
f8
f9

hammond-like drawbars producing pulses on midi note-on.

scope

a1
scope

oscilloscope to watch the drawbars action

switched

startNote
endNote
velosense
f1
f2
f3
f4
f5
f6
f7
f8
f9

Switching drawbars at hammond intervals.
Note that the key switches do not open/close at exactly the same moment, but are spread over maximum 2.666 milliseconds.

jt/env/table

ar

input
attack
release

Attack/release envelope for a amplitude table (with 128 32bit elements). Does not alter the referenced table, but this object can be referenced as amplitude table.

r

input
release

Release envelope for a amplitude table (with 128 32bit elements). Does not alter the referenced table, but this object can be referenced as amplitude table.

jt/filter

iqsplit

in
i
q

Converts an audio signal into an "analytic pair" of In-phase (I) and Quadrature-phase (Q) signals.
This is not a Hilbert filter, a Hilbert genertates the Q signal from an I signal.
Applications include frequency shifting, and envelope following.

The filter is a fixed point implementation of the design by Olli Niemitalo.
http://dsp.stackexchange.com/questions/26966/oscillations-on-hilbert-envelope

vcf4pole

in
pitch
reso
out
pitch
reso

Four pole VCF
The cutoff frequency is limited to 9.4kHz. For higher cutoff frequencies, use the vcf4pole2x version.

vcf4pole2x

in
pitch
reso
out
pitch
reso

Four pole VCF
The cutoff frequency is limited to 9.4kHz. For higher cutoff frequencies, use the vcf4pole2x version.

jt/fx

bode

in
pitchm
up
down
pitch

Bode frequency shifter or SSB modulator.
It shifts the frequency content in a linear way, unlike a pitch shifter.

chorus bode

in
L
R
speed
inten

(no description)

jt/granular

graindelay

in
delay
spread
l
r
grains
grainlength
window
size
delay
spread

granular echo line

graintable

pos
spread
l
r
table
grains
grainlength
window
pos
spread

Plays grains from a 16-bit sdram table.
It is important that the referenced table is 16 bit per sample, and in sdram.
Grains are not transposed.

grainverb

in
delay
spread
l
r
grains
grainlength
window
size
amount
delay
spread
fdbk

granular reverb
a granular delay with feedback

audio

ch1
ch2
ch3
ch4
ch1
ch2
ch3
ch4

Very experimental!
Send/receive audio between linked boards.

jt/midi

play

play
file
device

Plays a standard midi file.
Can only start playback from the beginning of the midi file.

jt/tonewheels

pwm dpw

phase
pwm
wave
amplitudes
tuning
phase
pwm

PWM wave tonewheels
The pwm oscillators are made by subtracting two DPW saw waves (against aliasing).
Range is midi note 24 to 119.

saw cheap phasing

phase
wave
amplitudes
tuning
phase

Saw wave tonewheels, cheap and aliased
The saw oscillators use the 1st order DPW algorithm.

saw cheap

phase
wave
amplitudes
tuning
phase

saw wave tonewheels, cheap and aliased
oscillator range is midi note 0 to 95

saw dpw phasing

phase
wave
amplitudes
tuning
phase

Saw wave tonewheels
The saw oscillators use the 1st order DPW algorithm (against aliasing).
Drifting phase.
Range is midi note 24 to 107.

saw dpw

phase
wave
amplitudes
tuning
phase

Saw wave tonewheels
The saw oscillators use the 1st order DPW algorithm (against aliasing).
Range is midi note 24 to 107.

sine

wave
amplitudes
tuning

Sine wave tonewheels.
Processes note number 24 to 117.
No amplitude interpolation.

tri dpw phasing

phase
wave
amplitudes
tuning
phase

Triangle wave tonewheels
The triangle wave oscillators use the 1st order DPW algorithm (against aliasing).
Range is midi note 24 to 119.

tri dpw

phase
wave
amplitudes
tuning
phase

Triangle wave tonewheels
The triangle wave oscillators use the 1st order DPW algorithm (against aliasing).
Range is midi note 24 to 119.

jt/tuning

adjustable

detune
C
Db
D
Eb
E
F
Gb
G
Ab
A
Bb
B

Freely adjustable chromatic tuning table for tonewheels

equal

detune
C

Equal temperament 12-tone tuning. This is the standard tuning.

hammond

detune

Tuning table for tonewheels using hammond organ ratios.
This does NOT follow the tuning deviation of the upper 7 tonewheels of the B3 as documented at http://www.goodeveca.net/RotorOrgan/ToneWheelSpec.html/

just

detune
root
C
Db
D
Eb
E
F
Gb
G
Ab
A
Bb
B

Tuning table for tonewheels using just intonation.

jv/conv

pitch-randomizer

in
trigger
out
mode
chance

Randomizes the incoming pitch...

jv/lkm1638

lkm1638-buttons-leds

button1
button2
button3
button4
button5
button6
button7
button8

Outputs which buttons on the LKM1638 board are pressed.

lkm1638-buttons

button1
button2
button3
button4
button5
button6
button7
button8

Outputs which buttons on the LKM1638 board are pressed.

lkm1638-display-toggle-leds

toggle1
toggle2
toggle3
toggle4
toggle5
toggle6
toggle7
toggle8
display

Sets a text to the display. Uses the buttons on the LKM1638 as toggles. Lights up the corresponding LEDs.

lkm1638-leds

led1
led2
led3
led4
led5
led6
led7
led8

Turns on the LEDs on the LKM1638 board.

lkm1638-toggles-leds2

toggle1
toggle2
toggle3
toggle4
toggle5
toggle6
toggle7
toggle8

Uses the buttons on the LKM1638 as toggles. Lights up the corresponding LEDs.

jv/math

constrain b input

in
min
max
out

Constrains a value to not exceed a maximum and minimum value.

constrain b

in
out
minimum
maximum

Constrains a value to not exceed a maximum and minimum value.

constrain p input

in
min
max
out

Constrains a value to not exceed a maximum and minimum value.

constrain p

in
out
minimum
maximum

Constrains a value to not exceed a maximum and minimum value.

klab/decode

bin4_to_int

i0
i1
i2
i3
o0

Reads the boolean inputs as 4-bit binary, and outputs the corresponding int (0-15)

bin8_to_int

i0
i1
i2
i3
i4
i5
i6
i7
o0

Reads the boolean inputs as 8-bit binary, and outputs the corresponding int (0-255)

klab/logic

last_rising_4

i0
i1
i2
i3
o0

Outputs an integer between 0 and 3, depending on the last input to see a rising edge.

last_rising_8

i0
i1
i2
i3
i4
i5
i6
i7
o0

Outputs an integer between 0 and 3, depending on the last input to see a rising edge.

logsol/clock/tap.io

tap.io v0.2.2

reset
master
tap
samples
factor
slave
bpm
24ppq
start
tapping
24ppqsmp
barsamples

(no description)

tap.io v0.3.0

reset
master
samples
factor
slave
bpm
24ppq
start
24ppqsmp
barsamples

(no description)

lokki

bassformantvoice

formant 1
formant 2
formant out
bass out
filter range
inversesweep
cutoff min
glide_3
velocity-sens
Q
bassvcf
supersaw
ahd_1
ahd_1
mix_4
humanize
formant shift
mix shift/pitch
noise
aftertouchsmooth

(no description)

sampleredux

in
rate
mask
out
rate
mask

quantize to n bits

lokki/ctrl

btn 4 i

out
o1
o2
o3
o4
b1
b2
b3
b4
indexlatch

positive integer control, vertical radio buttons

i radio 11 h

out
value

positive integer control, horizontal radio buttons

lokki/dist

destroyer

in
dist
out
dist

(no description)

lokki/env

radsr

gate
resetgate
env
a
d
s
r

Attack/decay/sustain/release envelope

scahd

gate
out
a
d
divd
cycle
h

really slow ahd module that can cycle and has a holdtime in cyclemode, the divd control speeds up the decay, so that you can get really slow attacks with moderatly fast decays.

lokki/math

==remap

in
out
hit
in0
out0
in1
out1
in2
out2
in3
out3

remap integer input to other integer output, hit boolean is true when input is "in range". output stays on last integer if not in range.

*c hold

in
out
amp
hold

Multiply (attenuate) with a constant value

*c onoff

in
out
amp
off

Multiply (attenuate) with a constant value

accumulatorsimple

i
trigandrst
o

Saturating accumulator. Adds input to accumulator when signal is positive, resets when signal is 0 or negative.

bitselector

in
bitcontrol
out
bits

disable 16bits of the output individually, control inlet is an andor (^) combined with the selected bits.

muls 16bit

in
out

saturated multiply by 16bit... for those times when you need to squarify the shit out of it.

quantizelive

a
cc
b

quantize to n bits, via cc control.

remapaxis

in
out

c-thru axis 49 selfless to w-h remap

triggerindex 16

b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11
b12
b13
b14
b15
b16
out
indexlatch

trigger an index according to a connected boolean source, index can be momentary or latching

triggerindex 4

b1
b2
b3
b4
out
enc
c1
c2
c3
c4
indexlatch
enc

trigger an index according to a connected boolean source, index can be momentary or latching

triggerindex 8

b1
b2
b3
b4
b5
b6
b7
b8
out
indexlatch

trigger an index according to a connected boolean source, index can be momentary or latching

lokki/midi/in

channelany

channel

outputs the channel of the last played note

channelnote

channel

outputs the channel of the last played note

keyb zone lru omni

note
gate
gate2
velocity
releaseVelocity
startNote
endNote

Monophonic MIDI keyboard note input, gate, velocity and release velocity, least recently used

touch omni

o
trig

Midi channel pressure input

lokki/mix

mix 4 gsc

bus_in
in1
in2
in3
in4
out
gain1

4 input s-rate mixer, shows gain units, single control

mix 5 gsc

bus_in
in1
in2
in3
in4
in5
out
gain1

5 input s-rate mixer, shows gain units, single control

mix 6 gsc

bus_in
in1
in2
in3
in4
in5
in6
out
gain1

6 input s-rate mixer, shows gain units, single control

mix 7 gsc

bus_in
in1
in2
in3
in4
in5
in6
in7
out
gain1

7 input s-rate mixer, shows gain units, single control

mix 8 gsc

bus_in
in1
in2
in3
in4
in5
in6
in7
in8
out
gain1

8 input s-rate mixer, shows gain units, single control

lokki/octaver

divider

a
b

flip flop, "automatic"

squarify

in
out

square up a signal

stitcher

control
wave
b

stitches waveforms

lokki/osc

auduloti

pitch
grainfreq
graindecay
grainfreq2
graindecay2
phasor
pitch
grainfreq
graindecay
grainfreq2
graindecay2
8bit

auduino port to axoloti, auduloti

extenduloti

pitch
grainfreq
graindecay
grainfreq2
graindecay2
phasor
pitch
grainfreq
graindecay
grainfreq2
graindecay2
waveform1
pulsewidth1
waveform2
pulsewidth2
8bit

extended auduino port to axoloti, extenduloti

lokki/patch

name

o1

(no description)

lokki/sel

sel dial 5

s
o
v0
v1
v2
v3
v4

selectable constant. Output is v0 if s<1. v1 if s<2. v2 if s<3. v3 if more.

sel dial b 11

s
o
v0
v1
v2
v3
v4
v5
v6
v7
v8
v9
v10

selectable constant bipolar

sel dial b 25

s
o
v0
v1
v2
v3
v4
v5
v6
v7
v8
v9
v10
v11
v12
v13
v14
v15
v16
v17
v18
v19
v20
v21
v22
v23
v24

selectable constant bipolar

sel dial b 5

s
o
v0
v1
v2
v3
v4

selectable constant bipolar

sel dial b 8

s
o
v0
v1
v2
v3
v4
v5
v6
v7

selectable constant bipolar

lokki/settings

formantsettings

s1
s2
c
formantshift
pitch
c2
f1
f2
f3
f4
f5
a2
a3
a4
a5
smoothxfade
vowelsmooth

select two of 25 filter settings for five bandpass filters and additional vca stage and crossfade between them. filter settings are the vowel formants f1-f5 for a e i o u in different vocal ranges. 0-4:alto, 5-9:bass, 10-14:countertenor, 15-19:soprano, 20-24:tenor. check the help patch for usage.

lokki/string

concat

str1
str2
str3
str4
out
size

concat up to four strings. size must be set to the maximum size of all strings combined, if you set it too low, you are likely to corrupt memory...(patch could get unstable etc.)

concat8

str1
str2
str3
str4
str5
str6
str7
str8
out
size

concat up to eight strings. size must be set to the maximum size of all strings combined, if you set it too low, you are likely to corrupt memory...(patch could get unstable etc.)

lokki/table

allocate 32b 25sliders

i1
o1

table in RAM memory, direct from sliders

matroe/LPadPro

layout

send
layout
output

Sends sysex to change the "layout" on launchpad pro.
0=note
1=drum
2=fader
3=programmers

txt disp

send
text
output
loop
speed

Sends sysex for displaying text on launchpad pro (version 1).

matroe/math

vel sense

vel
sensitivity
envelope
result

Combines some math objects for an easy way to have a velocity sensitivity control

matroe/midi

clock auto

run
rst
bpm
active
external
internal
Aoutput
Boutput
Coutput
Doutput
onA
onB
onC
onD

internal midi clock with auto switching. (A mod of the internal factory objects and one of the thru objects)
use a dial to set the bpm, trigger the run inlet to start the internal clock.

it sends midi out to the outputs if they are turned on.

if external midi clock is received the internal clock stops and switches to the external clock, and it thru's the external clock to the outputs. When the external clock stops you can trigger the run inlet to restart the internal clock

monitor plus

ControlChange
Note
ProgramChange
Bend
PolyPressure
ChannelPressure
Clock
StartStop

mod of factory monitor
Dumps incoming MIDI data to the log. Useful for diagnostics, but do not leave it in a patch for real playing! Occasionally causes disconnects.

modded to include channel touch and clock messages, plus tells you which device/port
dev 1 = DIN

thru CC

device
channel

thru's CCs on the selected channel only

thru ch exclude

input
output
exclude

mod of mark harris' midi thru object.
Thru's all channels EXCEPT the exclude channel.
no clock.

thru ch translate

device
inchannel
outchannel

Midi thru with channel translate,
messages on the inchannel are sent as the outchannel to the device

thru ch

input
output
channel

mod of mark harris' midi thru object. only thru's the selected channel
no clock

thru clock

input
outputA
onA
outputB
onB

Midi clock thru object.
Thru's clock from the input to the outputs. can send to two outputs

thru options 2.0

input
inchannel
output
outchannel
notes
lowestnote
highestnote
ccs
clock
ChPressure
PolyPressure
ProgramCh
bend

super midi thru object with loads of options!

thru shift

shift
device
channel
shiftchannel

midi thru with a shift inlet.
When inlet shift is low it thru's the incoming midi on the selected channel.
if inlet shift is high it thru's the selected channel to the shift channel, if you see what I mean

matroe/midi looper

bendCCtouch

stepunQCC
rec
play
reset
overdub
input
output
channel
bar
table

object that records pitch bend, after touch and midi CCs.
for use with the midi looper objects.
could be used standalone, inlet stepunQCC expects a clock running at 96ppq

clock receive

quantize
active
4ppq
96ppq
bartrigger
recbartrigger
qstep
step
initrig
early
metronom

Midi clock reciever designed for the midi looper objects.
might be useful in other patches...

has a 96ppq output
a trigger every bar.
a trigger half a 16th before every bar. because, y'know... stuff... and junk.
a qstep outlet that counts to twelve at 96ppq.
a step outlet that counts to 16ths in 16ths
an initrig output that triggers on the 2nd 16th after the clock starts. it's, like, well useful mate.
an early output... if this is at 2 it means there's no quantizing (in the looper objects). if it's 0 it means the current position is just before the next 16th. if it's late the current position is just after the next 16th. None of this probably makes any sense. trust me, it's for quantizing stuff.
the metoronom just puts out a 4 to the floor pulse (banging)

note play

on
polyphony
clear
offset
stepunQ
erasenote
table
buffer
bar
voices
channel

Plays midi notes. for use with the midi looper objects.

note rec

early
length
on
record
overdub
clear
offset
polyphony
recshift
Qstep
stepunQ
copy
copyR
erasenote
table
bar
voices
channel

midi note recorder. for use with the midi looper objects

transport

active
offset
96ppq
bartrig
recbartrig
initrig
clipslot
trigger
record
overdub
stop
clear
erase
stepunQP
stepunQR
stepunQCC
copy
copyR
barcount
length
recshift
play
record
overdub
wait
full
reset
cleartrigger
tablesize
erasenote
table
bar
voices
clipslots
channel
output

midi loopertransport module. not much use for much else. has a few 96ppq clocks set to different/changing offsets and handles the controls

mtyas/control

controlrecall

inlet_1
inlet_2
out1
out2
out3
out4

(no description)

elisynth

scope
inlet_2
inlet_3
inlet_4
inlet_5
mode
led
1
2
3
4
grosnumero
grosbouton
5
6
7
8
9
10
11
bouton1
bouton2
12
Rot_1
Rot_1
Rot_1

(no description)

oneknob 2func

in
gate
outlet_1
outlet_2

(no description)

sebti

bouton1
bouton2
bouton3
bouton4
outlet_1
outlet_2
outlet_3
outlet_4
outlet_5
outlet_6
outlet_7
outlet_8
outlet_9
outlet_10
outlet_11
outlet_12
outlet_13
outlet_14
outlet_15

(no description)

tempoclock

tempo
clock_on_off
trigger
square_1

(no description)

mtyas/delay

long-delay

inlet_1
speed
feedback
amount
outlet_1
lowpass_1

(no description)

long-delay2

inlet
speed
feedback
amount
outlet
lowpass_1
hp1_1
lp1_1

(no description)

mtyas/dist

StereoTriDistortion

inLeft
inRight
outLeft
outRight
clean
dist01in
dist02in
dist03in
dist01out
dist02out
dist03out
lp freq out

(no description)

mtyas/reverb

shortverb

inlet_1
outlet_1

(no description)

oscar/ctrl

dial b xtor

out
x
value

xtorable bipolar constant value dial.

Write the name of an xtor manager to add preset capabilities to this control.

dial p xtor

out
x
value

xtorable positive value dial.

Write the name of an xtor manager to add preset capabilities to this control.

hook xtor

in
unhook
out
hooked
x
value

xtorable. Inlet value passed through after hitting control value.

Write the name of an xtor manager to add preset capabilities to this control.

i r16 xtor

out
x
value

xtorable positive integer control, horizontal radio buttons.
Write the name of an xtor manager to add preset capabilities to this control.

i r2 xtor

out
x
value

xtorable positive integer control, horizontal radio buttons.
Write the name of an xtor manager to add preset capabilities to this control.

i r4 xtor

out
x
value

xtorable positive integer control, horizontal radio buttons.
Write the name of an xtor manager to add preset capabilities to this control.

i r8 xtor

out
x
value

xtorable positive integer control, horizontal radio buttons.
Write the name of an xtor manager to add preset capabilities to this control.

i xtor

out
x
value

Xtorable positive integer control.

Write the name of an xtor manager to add preset capabilities to this control.

toggle xtor

o
x
b

Xtorable boolean, toggle control
Write the name of an xtor manager to add preset capabilities to this control.

oscar/delay

delay write kt ms

in
kticks
millis
size

delayline definition, read it with "delay/read" objects referencing the instance name of this object. Returns the right amount of kticks and milliseconds represented by its size attribute.

oscar/osc

supersquare b

pitch
wave
pitch

seven detuned square wave oscillators
Non-bandwith limited. Fixed so it is bipolar.

oscar/patch

xtor manager

preset
prefix
save
load
params
save
load
current

This object manages presets of special xtorable objects and stores them in .xtor files in the sdcard. To use it, write the name of this object as a reference in xtorable controls. The name of the files will be prefix000.xtor, where 000 is the prefix number.

Preset inlet selects preset number, from 0 to 999.
Prefix inlet selects an optional string prefix for the file names.
Save and load are self explanatory.

Params atribute selects the max number of params you plan to store. You can change it later and the preset files will still work. Also, you can leave it bigger than you need, but the smaller it is, the less memory it occupies.

phi/clock

Tbclock7

reset
Lfocv
Active
1tel
3tel/4tel
12/16tel
32tel
resetthr
16/12
1bar
24ppq
LFO
Midi out
Lfo/in/out/off
Triplet
res
binar
triplet
xbar
xBar*x

(no description)

Tbclock8

reset
Lfocv
Clk
Active
1tel
3tel/4tel
12/16tel
32tel
resetthr
16/12
1bar
24ppq
LFO
Midi out
Triplet
res
binar
triplet
xbar
xBar*x

(no description)

Tbclock9

reset
Lfocv
Active
1tel
3tel/4tel
12/16tel
32tel
resetthr
16/12
clksel
1bar
24ppq
LFO
Midi out
Lfo/in/out/off
ClkSel Gpio/int
Triplet
res
binar
triplet
xbar
xBar*x

(no description)

Tbclock91

reset
Lfocv
Active
ppq
1tel
resetthr
16/12
clksel
LFO
Midi out
Lfo/in/out/off
ClkSel Gpio/int
Triplet
res
binar
triplet

(no description)

clockio

active
4ppq
24ppq
16th
1bar
midi In/Out
Run
clock
count

(no description)

midiclox

Reset
Lfo cv
Active
24ppq
Reset-out
Run
in-out-Lfo-off
clock out
Lfo

(no description)

ppq2resolution

24ppq
quant
o1

ppq to note gates quantisation

phi/ctrl

i 1-16

o
value

positive integer control 1-16

i 1-max

out
value

positive integer control

i bp

out
c

subtract/add constant i

i radio 10 h

out
value

positive integer control, horizontal radio buttons

i radio 10 h

out
value

positive integer control, horizontal radio buttons

radio 11 h

out
value

positive integer control, horizontal radio buttons

i radio 12 h

out
value

positive integer control, horizontal radio buttons

i radio 12 v

out
value

positive integer control, vertical radio buttons

i radio 13 h

out
value

positive integer control, horizontal radio buttons

i radio 13 h

out
value

positive integer control, horizontal radio buttons

i radio 14 h

out
value

positive integer control, horizontal radio buttons

i radio 14 h

out
value

positive integer control, horizontal radio buttons

i radio 15 h

out
value

positive integer control, horizontal radio buttons

i radio 15 h

out
value

positive integer control, horizontal radio buttons

i radio 24 v

out
value

positive integer control, horizontal radio buttons

i radio 24 h

out
value

positive integer control, horizontal radio buttons

i radio 3 h

out
value

positive integer control, vertical radio buttons

i radio 3 v

out
value

positive integer control, vertical radio buttons

i radio 5 h

out
value

positive integer control, horizontal radio buttons

i radio 5 v

out
value

positive integer control, horizontal radio buttons

i radio 6 h

out
value

positive integer control, horizontal radio buttons

i radio 6 h

out
value

positive integer control, horizontal radio buttons

i radio 7 h

out
value

positive integer control, horizontal radio buttons

i radio 7 h

out
value

positive integer control, horizontal radio buttons

i radio 9 h

out
value

positive integer control, horizontal radio buttons

i radio 9 h

out
value

positive integer control, horizontal radio buttons

sel dial 16 h

s
o
v0
v1
v2
v3
v4
v5
v6
v7
v8
v9
v10
v11
v12
v13
v14
v15

selectable constant horizontal

phi/delay

ECHO1Y

echo
time
FB
Echoout
dry/wet
HP IN
Time
FbLp
fba

(no description)

delay ctrl2

read
in
lpf
hpf
out
write
In
xfade_1
Out
Fbb
FbGain
gain
lp_1
lpOn
hp_1
hpOn

(no description)

delay write kt sec

in
kticks
sec
size

delayline definition, read it with "delay/read" objects referencing the instance name of this object
with ms output

delay write ms out

in
tics
size

delayline definition, read it with "delay/read" objects referencing the instance name of this object
with ms output

delay write pow out

in
pow
size

delayline definition, read it with "delay/read" objects referencing the instance name of this object
with ms output

delay write sdram kticks

in
kticks
size

delayline definition, read it with "delay/read" objects referencing the instance name of this object
with kticks output

delayctrl

in
read
cross
write
out
In
xfade_1
Out
FB
Cross
LPFB
HPwrite

(no description)

kticks2sec

kticks
sec

description

ms2sec

b
result

multiply

phi/disp

8xchartB

in1
in2
in3
in4
in5
in6
in7
in8
v1
v2
v3
v4
v5
v6
v7
v8

8x bipolar k-rate signal chart plotter

8xchartP

in1
in2
in3
in4
in5
in6
in7
in8
v1
v2
v3
v4
v5
v6
v7
v8

8x polar k-rate signal chart plotter

boolms

trig
bool

Generates a single pulse after a rising edge on trigger input. A new trigger before the pulse finishes at the output, extends the pulse.

boolx4

i1
i2
i3
i4
d1
d2
d3
d4

display bool X4

phi/env

adsr c

gate
env
a
d
s
r
c

Attack/decay/sustain/release envelope

adsr m c

gate
a
d
s
r
o
a
d
s
r
c

Attack/decay/sustain/release envelope with modulation inputs

phi/filter

hp m hq

in
pitch
reso
out
pitch
reso

2-pole resonant high-pass filter (biquad)

lp m hq

in
pitch
reso
out
pitch
reso

2-pole resonant low-pass filter (biquad) 24kHz

lp1 st

inl
inr
outl
outr
freq

1st order lowpass filter stereo

phi/gain

8xvca

v1
a1
v2
a2
v3
a3
v4
a4
v5
a5
v6
a6
v7
a7
v8
a8
o1
o2
o3
o4
o5
o6
o7
o8

8x "voltage controlled amplifier", multiplies v and a inputs, with linear interpolation from k- to s-rate

phi/harmony

matrixscaler f mux

scale
gate in
pitch
Gate Thru
mux
transpose
On
C
C#
D
D#
E
F
F#
G
G#
A
A#
B

(no description)

matrixscaler f

scale
gate in
pitch
Gate Thru
transpose
On
C
C#
D
D#
E
F
F#
G
G#
A
A#
B

(no description)

matrixscaler

s
seq
octave
keyafter
transafter
o
transpose
on
C
Cis
D
Dis
E
F
Fis
G
Gis
A
Ais
B

matrix scaler

matrixscalerbasic

s
o
transpose
on
C
Cis
D
Dis
E
F
Fis
G
Gis
A
Ais
B

matrix scaler

matrixscalerswitch

in
seq
octave
keyafter
transafter
o
in
seq
oct
transpose
on
C
Cis
D
Dis
E
F
Fis
G
Gis
A
Ais
B

matrix scaler

microscl fpb

pitch
out
on
C
Cis
D
Dis
E
F
Fis
G
Gis
A
Ais
B

microscaler with on off switch Fader version

microscl

pitch
gate
mux
out
on
C
Cis
D
Dis
E
F
Fis
G
Gis
A
Ais
B

microscaler works with matrixscaler f mux

microscl2

pitch
out
on
C
Cis
D
Dis
E
F
Fis
G
Gis
A
Ais
B

microscaler with on off switch

scalerf

Seq pre
Oct pre
Key after
Trans after
Gate
pitch
Gate Thru
transpose
On
C
C#
D
D#
E
F
F#
G
G#
A
A#
B

(no description)

phi/lfo

slowlfo2

pitch
div
wave
pitch
div

sine wave LFO, linear interpolated table, pitch input

slowphasor

pitch
div
wave
pitch
div

phasor wave LFO, linear interpolated table, pitch input and octave down input

slowsine

pitch
div
wave
pitch
div

sine wave LFO, linear interpolated table, pitch input

slowsquare

pitch
oct
reset
wave
pitch
oct

square wave LFO, boolean output, frequency input with octave inlet added to oct parameter

square d

pitch
reset
wave
pitch
gate

square wave LFO, boolean output, frequency input

phi/logic

0 filteri

i
o

0 is filterd out

== const i d

in
out
value
trig
in

Equal to constant integer with display

Basic Counter

trig
o
maximum

very basic cyclic up counter

counter i

trig
r
count
o
c

cyclic up counter

counter maxshift

trig
r
max
shift
o
c

cyclic up counter with shift

counter minmax

trig
r
max
min
o
l
c

cyclic up counter with minmax

counter3 max

trig
max
updown
r
o
c

cyclic up/down counter with input for up or down

counter3 minmax

trig
max
min
updown
r
o
l
c

cyclic up down counter with minmax input up/down input

counter3

trig
updown
r
o
c
maximum

cyclic up/down counter with input for up or down

or 4

i1
i2
i3
i4
o

logic OR with 4 inputs

xor 4

i1
i2
i3
i4
o

logic XOR with 4 inputs

phi/math

-+ i

in
out
c

subtract/add constanti

-+i

in
out
c

subtract/add constanti

-+c

in
out
c

subtract/add constant

-+c

in
out
c

subtract/add constant

==0

in1
out

equal==0

+8ins i

i1
i2
i3
i4
i5
i6
i7
i8
o1

(no description)

c 3

o

constant value: 3

div 3f

inlet1
outlet1

description

divmul i

in
half
out

if inlet_in<1 then inlet_in divided by inlet_half else multiply inlet_in with inlet_half

exp i

in
out

pow(2.inlet_in)

minmax i

in1
max
min
out

maximum

mul 12

in
out

unsaturated multiply by 12

mul 3f

inlet1
outlet1

description

oddeven

i
o

when in is odd then bang

oddeven2

i
i1
o

if i odd then oddbang = 1
if even then nobang

if i1 = 1 then its even odd if i2 everey second value if 4 every fourth if i odd exepect odd quantization

oddeven3

i
i1
odd
o
e

if i odd then oddbang an i outlet_o
if even then nobang but oulet o

if i1 = 1 then its even odd if i2 everey second value if 4 every fourth if i odd exepect odd quantization

scale f

in
out
amp
subadd

Multiply (attenuate) with a constant value
then + subadd

smooth8

in1
in2
in3
in4
in5
in6
in7
in8
out1
out2
out3
out4
out5
out6
out7
out8
time1
time2
time3
time4
time5
time6
time7
time8

eight exponential smooth

xfade c

i1
i2
o
c

crossfade between two inputs with knob

phi/midi

clock io

active
4ppq
24ppq
midi In/Out
Run
clock

(no description)

phi/midi/in

cc any disp

value
cc
channel
trig

Receives Midi Continuous Controller messages from any CC number and channel.
Instead of outlets with display_cc

phi/mix

cf1 4

i1
o1
o2
o3
o4
inv1
inv2
inv3
inv4

1 in to 4 out Attenuverters

cf1

i1
o
inv

dual crossfade between inv/noniverted

cf1cv

i1
cv1
o
inv

dual crossfade between inv/noniverted

invcf2

i1
i2
o
inv
inv1

dual crossfade between inv/noniverted

invcf3

i1
i2
i3
o
inv
inv1
inv2

dual crossfade between inv/noniverted

inv-+sm

inlet_1
outlet_1
inv_1
-+c_2
smooth_3
on

(no description)

invcf4

i1
i2
i3
i4
o
inv
inv1
inv2
inv3

quad crossfade between inv/noniverted

mix 2 mono

l
r
out
gain1

stereo to mono s-rate mixer, square gain scale

mix 2add

in1
in2
out
add
gain1
gain2

2 input k-rate mixer with with added gain instead of bus in

mix 2 st2 sq

l1
r1
l2
r2
L
R
gain1
gain2

2 stereo mix sq s-rate mixer, square gain scale

pan st swap m

L
R
c
left
right

stereo pan swap center is mono!left is normal right swapped

mix st sq

l
r
L
R
gain1

1 stereo input s-rate mixer, square gain scale

xfade c

i1
i2
o
c

crossfade between two inputs with knob

xfade drone

i1
o
c

crossfade between inlet(left) and full gain(right)
very use full with vca left= env right = drone

xfade stereo

L1
R1
c
L2
R2
l
r

stereo crossfade between two inputs

phi/osc

slowsine

pitch
freq
phase
oct
wave
pitch
oct

sine wave oscillator

slowsinesync

pitch
freq
phase
sync
oct
wave
pitch
oct

sine wave oscillator, with rising-edge sync input

phi/patch

autopreset

preset
p

apply preset, preset zero = init, and will reset ALL parameters, not just the presets with integrated change

phi/prob

%i sw

trig
reso
o
prob
on
value
v

probabiltiy random i

%bang in

trig
prob
o

probabiltiy bang

%bang inc

trig
prob
b
val
prob

probabiltiy bang

%prob

trig
o
prob

probabiltiy bang

%gate d

trig
o
prob
on

probabiltiy bang

%gate

trig
o
prob

probabiltiy bang

%i sw

trig
reso
o
prob
on
value
v

probabiltiy random i

%latch d

i
o
prob
on

probabilty latch

%latch f

i
o
prob
on

probabilty latch

%latch

i
o
prob

probabilty latch

%prob d

trig
o
prob
on

probabiltiy bang

%rand f

trig
o
prob

probabiltiy random f

%rand i

trig
o
prob
value

probabiltiy random i

%step

i1
o
prob
max

probabiltiy switch inlet i or rnd number i

%sw1_2 hold i

trig
i1
o
a
prob

probabiltiy switch 1-2 i with hold aka filters 0
to save sequencer zeros i1 adds 1, while on the outputs 1 is substracted again.

%sw1_2 hold

trig
i1
o
a
prob

probabiltiy switch 1-2 i with hold aka filters 0
to save sequencer zeros i1 adds 1, while on the outputs 1 is substracted again.

%sw1_2 i

trig
i1
o
a
prob

probabiltiy switch 1-2i with hold filters 0

%sw1_2

trig
i1
o
a
prob

probabiltiy switch 1-2i

%sw1_2f

trig
i1
o
a
prob

probabiltiy switch 1-2i

%sw2_1f

trig
i1
i2
o
prob

probabiltiy switch 2-1f

%sw2_1i

trig
i1
i2
o
prob

probabiltiy switch 2-1i

phi/rand

uniform trig fp

trig
rand

uniform distributed (white) noise, triggered generation. Range 0-64

phi/sel

sel dial 16 h p

s
o
v0
v1
v2
v3
v4
v5
v6
v7
v8
v9
v10
v11
v12
v13
v14
v15

selectable constant horizontal

sel i 16 v

in
def
chain
o
i0
i1
i2
i3
i4
i5
i6
i7
i8
i9
i10
i11
i12
i13
i14
i15

select one out of 16 integers , with chain i vertical and big display /o

sel i 16 vbp

in
def
chain
o
i0
i1
i2
i3
i4
i5
i6
i7
i8
i9
i10
i11
i12
i13
i14
i15

select one out of 16 integers +-, with chain i vertical and big display /o

phi/seq

sequencer tb303

gateext
in
o
g
s
chain
g
oct
gate
slide
o
g
s
in

TB303 type sequencer with glide Gate and Oct outlets. Gate input should be a 50% gate at
inlet_in

phi/spat

pan gain c

i1
left
right
gain
pan

stereo balance (panorama) with gain (amp)

pan st c

L
R
left
right
pan

stereo panning with control

pan st m

L
R
pan
left
right

stereo panning with modulation input

pan st swap c

L
R
left
right
pan

stereo pan swap center is mono!left is normal right swapped

phi/switch

sw 1-2a

i1
o1
o2
s

switch Connects inlet_i1 to outlet o0 when s is false, inlet inlet_i1 to outlet o1 when s is true.

sw 1-2b

i1
o1
o2
s

switch Connects inlet_i1 to outlet o0 when s is false, inlet inlet_i1 to outlet o1 when s is true.

sw 1-2f

i1
o1
o2
s

switch Connects inlet_i1 to outlet o0 when s is false, inlet inlet_i1 to outlet o1 when s is true.

sw 1-2i

i1
o1
o2
s

switch Connects inlet_i1 to outlet o0 when s is false, inlet inlet_i1 to outlet o1 when s is true.

sw 1a

i1
o
b

switch 1b

sw 1b

i1
o
b

switch 1b

sw 1f

i1
o
b

switch 1 f

sw 1i

i1
o
b

sw 1i

sw 2-1a

i1
i2
o
s

switch Connects inlet_i1 to outlet when s is false, inlet inlet_i2 outlet o1 when s is true.

sw 2-1b

i1
i2
o
s

switch Connects inlet_i1 to outlet when s is false, inlet inlet_i2 outlet o1 when s is true.

sw 2-1f

i1
i2
o
s

switch Connects inlet_i1 to outlet when s is false, inlet inlet_i2 outlet o1 when s is true.

sw 2-1i

i1
i2
o
s

switch Connects inlet_i1 to outlet when s is false, inlet inlet_i2 outlet o1 when s is true.

phi/timer

timerhold-0

toggle
t

while 'toggle' is true,timer is counting..
if 'toggle' is false,timer spits out the time.
Zeros are filterd out.

pmj/math

>=

in1
in2
out

greater than or equal

>=

in1
in2
out

greater than or equal

<=

in1
in2
out

less than or equal

<=

in1
in2
out

less than or equal

!=

in1
in2
out

not equal

!=

in1
in2
out

not equal

ptttr/seq

seqrec32

val
inix
intrig
outix
def
out

32-step recording step sequencer. Records value from val to
inix on rising edge to intrig. Outputs outix (or default value).

seqrec64

val
inix
intrig
outix
def
out

64-step recording step sequencer. Records value from val to
inix on rising edge to intrig. Outputs outix (or default value).

rbrt

redraw
mute
holdmap
thin
device
channel

references a table, sends note and velocity when an index of the table changes.
works good with 'holdmap'

slot_params_smps

slot
offset
range
playmode
startpoint
lpr

reference sample information created by 'smplr'.
'slot' sets the sample bank slot to refer to.
'offset' returns the start of the slot in fraction of the table's size,
'range' returns the length.
'playmode' returns the playmode the slot has been recorded with.
'Aux' returns auxiliary information,like the recording startpoint.

rbrt/control

AHD crv

gate
a
d
reset
env
state
curveA
curveD

mod of an object by remco van der most

Attack/decay envelope, curved envelopes.
anti-clockwise: exponential
clockwise: inverse exponential

ahd no m

a
d
gate
reset
env

attack hold decay envelope with modulation inputs

alternate

trig
rst
o1
o2

on a pulse at inlet 'trig' , a pulse is sent alternating at 'o1' or 'o2'.
'rst' will reset the logic, so on the next pulse at 'trig',a pulse is sent at 'o1'.

change b

bool
change
0to1
1to0

Generates a single pulse at 'change' when the input changes;
if there's a transition from 0 to 1, outlet '0to1' will produce a pulse,
else, outlet '1to0'.

click hold S

gate
short
long
stage
long

detect how long a momentary button is held down;
3 stages,no hold,short hold,long hold.
outputs a pulse at the respective outlet on release of the button and the current stage (1 - short hold , 2 - long hold ) out of 'stage'

click hold

gate
no
short
long
stage
short
long
cancel

detect how long a momentary button is held down;
3 stages,no hold,short hold,long hold.
outputs a pulse at the respective outlet on release of the button and the current stage (1 - short hold , 2 - long hold , 0 - no hold or cancel) out of 'stage'

clocker

toggle
t

while 'toggle' is true, 'clocker' is counting and
spits out the current clock.
if 'toggle' is false , 'clocker' puts out 0.

counter r2i

trig
reset
to
o
c
maximum

cyclic up counter

decode &&

i
gate
o0
o1
o2
o3
o4
o5
o6
o7
chain

integer decoder.only outputs if 'gate' is true.

demux_sh 2

in
s
o0
o1

demultiplexer with sample and hold.connect inlet in to outlet number s.
the output value of output number s will be held until the value of inlet in changes.
when s changes,the output value of the previous outlet number s will be held.

demux_sh

in
s
o0
o1
o2
o3

demultiplexer with sample and hold.connect inlet in to outlet number s.
the output value of output number s will be held until the value of inlet in changes.
when s changes,the output value of the previous outlet number s will be held.

dial p set

v
out
value

positive integer control, horizontal radio buttons
inlet 'reset' resets control to zero

dial range

out
range
value

scale a dial to an integer range

dial_reset

reset
out
value
default

bipolar constant value dial.
trigger at inlet 'reset' will set the output to 'default'

doubleclick

trig
oneclick
doubleclick
time

(no description)

encode i 4

b1
b2
b3
b4
out
active

trigger an index according to a connected boolean source, index can be momentary or latching

encode i 8

b1
b2
b3
b4
b5
b6
b7
b8
out
active

trigger an index according to a connected boolean source, index can be momentary or latching

env ahd attr

gate
a
d
reset
env
state
ascale
dscale
declick

mod of attack/hold/decay envelope, linear ramps.
attack/decay times can be scaled with the attributes 'a' and 'd'.
'state' reflects the envelope's state.
if 'attack' is zero,a very short slope defined by 'declick' is used,to avoid clicking

env follow

in
amp
time

envelope follower, linear output

filter f

in
filter
out
b
filter

filter out a defined value.if 'in',doesn't match the value , 'b' == 1.

filter i

in
filter
out
b
filter

filter out a defined value.if 'in',doesn't match the value , 'b' == 1.

flash

flash
flash
speed

(no description)

gate a

control
in
out

multiply

gate f

control
in
out

multiply

gate i

control
in
out

multiply

gate_hold

in
gate
out

while gate is true,in is passed to out.
if gate is false,the last input of in will be held.

gate_hold_i

in
gate
out

while gate is true,in is passed to out.
if gate is false,the last input of in will be held.
integer version.

i radio 2 r

reset
out
value
reset

positive integer control, horizontal radio buttons
inlet 'reset' resets control to zero

i radio 4 r

reset
out
value
reset

positive integer control, horizontal radio buttons
inlet 'reset' resets control to zero

i radio 4 set

set
setTo
out
value

positive integer control, horizontal radio buttons
inlet 'reset' resets control to zero

i radio 8 set

set
setTo
out
value

positive integer control, horizontal radio buttons
inlet 'reset' resets control to zero

kdelay

in
out
delaylength

K-rate delay line, fixed delay time.
simple mod of delay/echo by Johannes Taelman.

modmatrix

amp
mod
target
i0
i1
i2
i3
i4
i5
i6
i7
o0
o1
o2
o3
o4
o5
o6
o7
mod

modulation matrix.
'amp' crossfades between the selected inlet ('target') and the value at inlet 'mod'.

p2t

trig
o

toggle driven by pulses.

pulse delay

kticks
trig
trig
kticks

delays a pulse by a period specified in 'k-ticks'.

range i

in
out
high
low

outputs TRUE when the input is in between 'high' and 'low' (>= AND <=)

range

in
out
high
low

outputs TRUE when the input is in between 'high' and 'low' (>= AND <=)

rec wait

wait
go
nowait
rec
waitstate
go

inlet wait toggles wait-state;if waiting,a pulse at inlet go sets outlet rec to high.another pulse at inlet wait will reset rec to 0.
when waiting,a pulse at inlet wait will reset wait to 0.

replace f

in
out
replace
with

if 'in' == 'replace' , 'out' will be replaced with 'with'.otherwise,'out' = 'in'

replace i

in
out
replace
with

if 'in' == 'replace' , 'out' will be replaced with 'with'.otherwise,'out' = 'in'

rpass f

in
out
b
high
low

outputs the input when the input is in between 'high' and 'low' (>= AND <=).
otherwise,the last input within range is held.

rpass i

in
high
low
out
b
high
low

outputs the input when the input is in between 'high' and 'low' (>= AND <=).
otherwise,the last input within range is held.

sel add

add
in
out
add

if 'inlet add' is high,'add' will be added to the input.
otherwise,the input is passed through

sel i 2

in
out
hi
lo

if 'in' is true , 'out' will be 'high'.otherwise,'out' = 'low'

speedlim attr

in
out
time

limits data rate.useful for debouncing.

speedlim

in
out
d

useful for data thinning (for example de-bouncing buttons). limits the throughput of data to an interval specified by the dial 'd' (in ms)

stimer

toggle
t

while 'toggle' is true,timer is counting..
if 'toggle' is false,timer spits out the time in samples

t2p inv

trig
pulse

Generates a single pulse after a falling edge on trigger input

t2p

trig
pulse

Generates a single pulse after a rising edge on trigger input

threshold

wave
over
threshold

(no description)

timer

toggle
t

while 'toggle' is true,timer is counting..
if 'toggle' is false,timer spits out the time

trigger 2

trig
t1
t2
delay

useful to trigger events in strict order to overcome execution-order troubles.
optionally,with a delay in k-rate ticks in between events.
similar to max/msp 'trigger bang'

trigger 4

trig
t1
t2
t3
t4
delay

useful to trigger events in strict order to overcome execution-order troubles.
optionally,with a delay in k-rate ticks in between events.
similar to max/msp 'trigger bang'

vca han

v
a
o

a VCA with linear to hanning interpolation

wait

wait
go
bypass
go

if 'wait' is high, a pulse at inlet'go' will set outlet 'go' to high.
if 'wait' is low, outlet 'go' is low.

rbrt/data

f2s

fraction
samples
table

returns the length in samples of the fraction of a table

table write i

a
v
trig
table

write to table

tablemul i

index
value
value
table
offset

multiplies integer 'value' with the element 'index' of 'table'.
'offset' is added to 'index'.
integer result.

tableread 4

offset
v0
v1
v2
v3
table
offset

read 8 values from a table,starting from 'offset'

tableread 8 attr

offset
v0
v1
v2
v3
v4
v5
v6
v7
table
offset

read 8 values from a table,starting from 'offset'

tableread 8

offset
v0
v1
v2
v3
v4
v5
v6
v7
table
offset

read 8 values from a table,starting from 'offset'

tablestore 1 i

v0
offset
v0
table

writes and outputs 4 values to a table.

tablestore 1

v0
offset
v0
table

writes and outputs 4 values to a table.

tablestore 4

v0
v1
v2
v3
offset
v0
v1
v2
v3
table

writes and outputs 4 values to a table.

tablestore 8

v0
v1
v2
v3
v4
v5
v6
v7
offset
write
thru
v0
v1
v2
v3
v4
v5
v6
v7
table

writes and outputs 8 values to a table.

tablestore accum

inc
dec
offset
v0
table
increment
mode

writes and outputs 4 values to a table.

tablestore demux 2

in
i
offset
v0
v1
table

writes and outputs values to a table at position 'i' + 'offset'.

tablestore demux 8

in
i
offset
v0
v1
v2
v3
v4
v5
v6
v7
table

writes and outputs values to a table at position 'i' + 'offset'.

tablestore demux

in
i
offset
v0
v1
v2
v3
table
offset

writes and outputs values to a table at position 'i' + 'offset'.

tablestore trig

v
i
trig
v
table

writes and outputs values to a table at position 'i' + 'offset' at the rising edge of 'trig'

tablestore

v0
offset
v0
table
offset

writes and outputs a value to a table if the value changes.

tablewrite 4

v0
v1
v2
v3
offset
write
table
offset
write

if 'write' is ON,writes 4 values to a table,starting from 'offset'

tablewrite 8

v0
v1
v2
v3
v4
v5
v6
v7
offset
write
table
offset
write

if 'write' is ON,writes 8 values to a table,starting from 'offset'

tablewrite

v0
offset
write
table
offset
write

if 'write' is ON,writes a value to a table,starting from 'offset'

tcopy AB

ABBA
A
B
trig
A
B
range

(no description)

tcopy paste

src
copy
dst
paste
table
range

(no description)

tcopy srate

src
dst
trig
src
dst
range

(no description)

tcopy

trig
splat
clear
src
dst
range
done
src
dst
speed
src
dst
range
splat
clear

copy the elements of a table from table 'src' to table 'dst'
the length of the area to copy is defined by 'range',
the read offset is defined by inlet'src' and the write offset by 'dst'
'speed' sets the copying speed in terms of audio-rate (16 is really fast!)
if 'splat' is enabled,tcopy will preserve the original contents of the destination table.
if 'clear' is enabled,tcopy will clear the contents of the table.

tedit 4 b

offset
table
b0
b1
b2
b3

view and edit 4 elements of a table.
'offset' changes the start to display/edit from.

tedit

offset
table
b0
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11
b12
b13
b14
b15
offset

view and edit 16 elements of a table.
'offset' changes the start to display/edit from.

tinit 1

offset
trig
table
offset
v

sets the index of table to the value of the dial at index 'offset'

tinit 16 attr

offset
trig
table
a1
a2
a3
a4
a5
a6
a7
a8
b1
b2
b3
b4
b5
b6
b7
b8

sets the indexes of table to the value of the attributes starting at index 'offset'

tinit 16

offset
trig
table
b0
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11
b12
b13
b14
b15

sets the indexes of table to the value of the sliders starting at index 'offset'

tinit 4 attr

offset
trig
table
a1
a2
a3
a4

sets the indexes of table to the value of the attributes starting at index 'offset'

tinit 4

offset
trig
table
v0
v1
v2
v3

sets the indexes of table to the value of the dials starting at index 'offset'

tinit 8 attr

offset
trig
table
a1
a2
a3
a4
a5
a6
a7
a8

sets the indexes of table to the value of the attributes starting at index 'offset'

tinit 8

offset
trig
table
b0
b1
b2
b3
b4
b5
b6
b7

sets the indexes of table to the value of the sliders starting at index 'offset'

tload

filename
start
trig
table

load table from sdcard

tsave

filename
trig
start
length
done
table

save an area of a table to sd-card,defined in samples

tset bool

offset
table
p1
offset

set 16 elements of a table to 0 or max,starting from 'offset'

tset float

offset
table
b0
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11
b12
b13
b14
b15
offset

set 16 elements of a table to the value of the sliders,starting from 'offset'

wave creator 16

b0
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11
b12
b13
b14
b15
saw
sine
square

wavetable creator.hit 'saw' 'sine' or 'square' to fill with an initial function.
tables are accesible from the 'outside',if you reference the object's name with table/read and such.

wave creator 32

b0
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11
b12
b13
b14
b15
b16
b17
b18
b19
b20
b21
b22
b23
b24
b25
b26
b27
b28
b29
b30
b31
saw
sine
square

wavetable creator.hit 'saw' 'sine' or 'square' to fill with an initial function.
tables are accesible from the 'outside',if you reference the object's name with table/read and such.

rbrt/disp

disp 16b

in
chain
d0
d1
d2
d3
d4
d5
d6
d7
d8
d9
d10
d11
d12
d13
d14
d15

bitwise display of the first 16 bits of 'inlet_in'

disp bool 4

offset
table
d0
d1
d2
d3

display 16 indexes of a table as bools,starting from 'offset'

disp bool 8

offset
table
offset
d0
d1
d2
d3
d4
d5
d6
d7

display 16 indexes of a table as bools,starting from 'offset'

disp bool

offset
table
offset
d0
d1
d2
d3
d4
d5
d6
d7
d8
d9
d10
d11
d12
d13
d14
d15

display 16 indexes of a table as bools,starting from 'offset'

disp float b

offset
table
offset
d0
d1
d2
d3
d4
d5
d6
d7
d8
d9
d10
d11
d12
d13
d14
d15

display 16 indexes of a table as floats,starting from 'offset'.bipolar.

disp float b8

offset
table
offset
d0
d1
d2
d3
d4
d5
d6
d7

display 8 indexes of a table as floats,starting from 'offset'.bipolar.

disp float

offset
table
offset
d0
d1
d2
d3
d4
d5
d6
d7
d8
d9
d10
d11
d12
d13
d14
d15

display 16 indexes of a table as floats,starting from 'offset'.sorry,unipolar only

disp p

in
v

display boolean.if 'in' == true,the display stays ON for some time,thus,a pulse can also be displayed.

print string

string
trig

print object - prints integers on change, max 1/sec

rbrt/fx

filter range

in
basefreq
width
out
basefreq
width

combination of lp1 and hp1.'basefreq' sets the base frequency,'width' sets the frequency range

fuxxass

i1
o
fuzz
level

Fuzz Face emualator (sort of...)

lmnts rev static

l
r
amount
time
diffusion
gain
lowpass
l
r
amount
time
diffusion
gain
lowpass

a reverb effect, based the on elements reverb dsp code open sourced by mutable instruments.
any bugs/issues you find are our own, report on the axoloti forum.

Thanks to Olivier Gillet from Mutable Instruments for open sourcing their code.
http://mutable-instruments.com

sat fat

in
drive
out
drive
fat
smooth

mod of a mod.
A saturator distortion based on dist/soft and filter/lp1 - hp1 by Johannes Taelman,modded by sptnk,modded by me.modded some more.

sat

in
drive
out
drive

mod of a mod.
A saturator distortion based on dist/soft and filter/lp1 - hp1 by Johannes Taelman,modded by sptnk,modded by me.

shaper 16

in
out
b0
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11
b12
b13
b14
b15

cheapo waveshaper.based on 'table/read/interp'.
works as wavetable-oscillator as well.

shaper 8 mod

in
m1
m2
m3
m4
m5
m6
m7
m8
out
p1
p2
p3
p4
p5
p6
p7
p8

cheapo waveshaper.based on 'table/read/interp'.
works as wavetable-oscillator as well.

shaper 8

in
out
p1
p2
p3
p4
p5
p6
p7
p8

cheapo waveshaper.based on 'table/read/interp'.
works as wavetable-oscillator as well.

rbrt/launchpad

color help

index
color
color

a little helper showing which color of a launchpad is assinged to which velocity

launchpad in

matrix
mgate
mtrig
right
rgate
top
tgate

outputs the state of the buttons of a 'novation launchpad' (MKII or mini).
will NOT work with the 'launchpad MK I'
matrix: matrix-button index (from left-top to bottom-right)
mgate: button pressed?
right: right button index (top to bottom)
rgate: pressed?
top: top button index (left to right)
tgate :pressed ?

matrix clear

start
length
clear
device
length
start

clear an area of the 8x8 button matrix on a 'novation launchpad'

matrix disp

offset
start
length
coloron
coloroff
active
redraw
offset
start
coloron
coloroff
blocksize
table
device
blocksize
coloron
coloroff
active
length
start
offset

visual feedback of table data for the novation launchpad (NOT working with a LP mark I)

matrix step edit

offset
start
length
active
trig
matrix
hold
step
mod
blocksize
hold
offset
start
length
active

toggles the elements of a table with the 8x8 matrix of a 'launchpad'
'offset' sets the table index to start at,
'startpad' sets the first pad of the launchpad's active area,
'length' sets the length of the area.
'blocksize' sets the size of the data-block.

matrix toggle

offset
start
length
active
trig
matrix
table
blocksize
offset
start
length
active

toggles the elements of a table with the 8x8 matrix of a 'launchpad'.
'offset' sets the table index to start at,
'startpad' sets the first pad of the launchpad's active area,
'length' sets the length of the area.
'blocksize' sets the size of the data-block.

right disp

on
coloron
coloroff
redraw
device
button
on
off

sets a right row button on the 'launchpad' to the defined color

right row

r0
r1
r2
r3
r4
r5
r6
r7

outputs the state of the right-row buttons of a 'novation launchpad'.
DOES NOT work with the 'LP mark 1'.

slider 7

offset
rows
startrow
color
active
redraw
trig
table
device
color
offset
rows
startrow
active

display and edit indexes of a table starting as horizontal sliders.
7 - step - version,the leftmost button sets the slider to 0.
'offset' = offset in the table to edit/display.
'rows' = how many elements to work on,starting from 'offset'.
'startrow' = row on the launchpad to start displaying on.

slider 8

offset
rows
startrow
color
active
redraw
trig
table
device
color
offset
rows
startrow
active

display and edit indexes of a table starting as horizontal sliders.
8 - step - version,the right row button will set the slider to 0.
'offset' = offset in the table to edit/display.
'rows' = how many elements to work on,starting from 'offset'.
'startrow' = row on the launchpad to start displaying on.

step disp

offset
start
coloron
coloroff
blocksize
color
step
active
redraw
table
device
color
active

display a step counter on a novation launchpad

top disp

on
coloron
coloroff
redraw
device
button
on
off

sets a top row button on the 'launchpad' to the defined color

top row

t0
t1
t2
t3
t4
t5
t6
t7

outputs the state of the top-row buttons of a 'novation launchpad'.
DOES NOT work with the 'LP mark 1'.

rbrt/lfo

modstation

pitch
wave
reset
gate
attack
decay
out
state
ascale
dscale
pitch
unipolar
wave
attack
decay

mod of an object by dr.j
added an envelope as sixth option.
removed some other stuff.

sphasor scaled

smps
rphase
rspeed
1barLength
wave

48000 at 'inlet_smps' will result in a 1 hz-saw-wave.
'1barLength' defines the maximum length of 1 bar in seconds,
longer inputs at 'inlet_smps' will scale up the speed.
a pulse at 'rphase' will reset the phase,
a pulse at 'rspeed' will recalculate the speed.

sphasor

smps
mul
reset
wave

saw wave signal-rate LFO, rising slope, sample input.
48000 at inlet 'smps' will result in a 1 hz-saw-wave.
use 'inlet_mul' to time-scale the output.

square

hz
reset
wave

square wave LFO, boolean output, input in hz
simple mod of 'lfo/square'

rbrt/looper

lcontrol launch

toggle
launch
stop
rec
phase
start
stop_now
play
reset
state

(no description)

lcontrol simple

toggle
rec
start
stop
play
reset

(no description)

ldrive 1shot

offset
range
startpoint
speed
play
pos
spos
stotal
speed
play
table
speed

drives a phasor (saw-wave) for reading/writing data

ldrive flex

offset
range
startpoint
loopstart
speed
1shot
play
r2offset
r2start
pos
count
spos
stotal
sloop
speed
play
table
speed
1shot

drives a phasor (saw-wave) for reading/writing data

ldrive loop

offset
range
startpoint
loopstart
speed
play
r2offset
r2start
pos
count
spos
stotal
sloop
speed
table
speed

drives a phasor (saw-wave) for reading/writing data

ldub

phase
wave
overdub
feedback
fade
table
feedback
attack
hard
release
nofade

adds data to the content of a table,at inlet pos (in fraction of the table's size).feedback controls feedback amount.attack and release control fade in and out.

lrec

wave
phase
rec
slot
sync
offset
range
startpoint
smps
rec
fade
remain
table
slots
attack
hard
release
nofade

records audio to a table with nice fade-ins and -outs.
the table can be divided into 1,2,4 or 8 slots.
when 'sync' is enabled,recording will be synced to phase of the signal connected to 'pos',
and after 'rec' is zero,recording will continue until the starting point is reached.
after recording is done,the length if the recording in samples is sent out,
as well as the length of the recording (in fraction of the table's size).
meanwhile,the input signal is overdubbed and faded out ,so NO CLICKS!
set the length of the fade-out/overdub period with 'release',
the length of the fade-in of the recording with 'attack'.

rangemod

offset
range
omod
rmod
OFFSET
RANGE

(no description)

sb params

slot
offset
range
data
wave

translates sample start-and end information created by 'sb rec' -objects
from samples into fraction of a table,to be used by 'ldrive' - objects

sb rec

wave
slot
arm
rec
delete
defrag
clear
reinit
rec
remain
active
state
table

'arm' will arm the recorder,
'rec' will start recording to the selected slot or, when already recording,start another recording in a selected slot.
when 'arm' is 0 again,recording will stop,and the recorded slots can be played back.
you cannot record into a slot that already contains sample data.
if already recording,recording will continue in the slot you were recording to before.
sample start-and endpoints can be accessed 'from the outside' as a table named as the recorder-object.

rbrt/lpr

clear

clearSlot
slot
clearAll
lpr

(no description)

find empty slot

findEmpty
slot
found
slot
full
lpr

(no description)

lpr launch

slot gate
slot start
wait
master phase
master start
gate

(no description)

lpr

wave
slot
rec
playmode
phase
sync
recstart
recstate
postrec
fadestate
recslot
remain
table
slots
attack
release

records audio to a table with nice fade-ins and -outs.
the table can be divided into 1,2,4 or 8 slots.
when 'sync' is enabled,recording will be synced to phase of the signal connected to 'pos',
and after 'rec' is zero,recording will continue until the starting point is reached.
after recording is done,the length if the recording in samples is sent out,
as well as the length of the recording (in fraction of the table's size).
meanwhile,the input signal is overdubbed and faded out ,so NO CLICKS!
set the length of the fade-out/overdub period with 'release',
the length of the fade-in of the recording with 'attack'.

slot length

slot
smps
smplr

returns the length in samples of a slot

slot params

slot
offset
range
playmode
startpoint
lpr
wave

reference sample information created by 'smplr'.
'slot' sets the sample bank slot to refer to.
'offset' returns the start of the slot in fraction of the table's size,
'range' returns the length.
'playmode' returns the playmode the slot has been recorded with.
'Aux' returns auxiliary information,like the recording startpoint.

rbrt/math

>> i c

in
out
shift

right shift. halves the value n times.n = parameter 'shift'.

>> i

in
shift
out

right shift. halves the value n times.n = inlet 'shift'.

<< i c

in
out
shift

left shift. doubles the value n times.n = parameter 'shift'.

<< i

in
shift
out

left shift. doubles the value n times.n = inlet 'shift'.

* <<

a
b
result
shift

multiply and left-shift

* ifi

in
mul
out

multiplies a 'green integer' at inlet 'in' with a 'blue float' at inlet 'mul'

accum

trig
rst
o

accumulator.adds '1' on trigger. Reset clears the accumulator to zero.

div fff

a
b
float

divides 'blue float' by 'blue float'.result = 'blue float'.output CAN overflow.

div fif

float
int
float

divides 'blue float' by 'green int'.result = 'blue float'

div ifi

a
b
int

divides 'green int' by 'blue float'.result = 'green int'.output CAN overflow.

div iif

a
b
float

divides 'green int' by 'green int'.result = 'blue float'.output CAN overflow.

han half

phase
win

half of a hanning window function, input 0..64

isort

i1
i2
high
low

sorts 2 integers : the higher of the 2 is put out at 'high' , the lower at 'low'

k2f

kticks
freq

converts control-rate ticks to units suitable for setting the frequency of oscillators

limit attr i

in
out
hi
lo

clamps the input between 'high' and 'low'.

limit attr

in
out
hi
lo

clamps the input between 'high' and 'low'.

pow4 attr

in
out
curve

pow4 interpolation,mod of origninal object by toneburst

s2f mul

smps
mul
freq

converts samples to units suitable for setting the frequency of oscillators.
the result is multiplied with inle 'mul'.

s2f

smps
freq

converts samples to units suitable for setting the frequency of oscillators.

scale a

in
out
high
low

scales the input between 'high' and 'low'.bipolar inputs don't reward you with perfectly meaningful results.why is that so...

scale attr b

in
out
hi
lo
input

scales the input between 'high' and 'low'.

scale attr

in
out
hi
lo

scales the input between 'high' and 'low'.

scale i

in
out
inrange
outrange

Experimental::scales an input between 0 and 'inrange' to a value between 0 and 'outrange'.NOT accurate sometimes.CAN 'overflow'

scale m b

in
hi
lo
out
input

scales the input between 'high' and 'low'.bipolar inputs don't reward you with perfectly meaningful results.why is that so...

scale m

in
high
low
out

scales the input between 'high' and 'low'.bipolar inputs don't reward you with perfectly meaningful results.why is that so...

scale

in
high
low
out
high
low

scales the input between 'high' and 'low'.bipolar inputs don't reward you with perfectly meaningful results.why is that so...

sign

in
sign

returns the sign of the input:0 = negative, 1 = unsigned (inlet == zero),2 = positive

smooth attr

in
reset
out
time

exponential smooth.mod of 'smooth' by johannes.

wrappo

in
bits
out

wrap to 0..64 range after multiplying with 2^bits
cheap and dirty mod of 'wrap'

wrp b

a
b

wrap to 0..64 range

wrp

a
b

wrap to 0..64 range

rbrt/midi/in

keyb zone i

note
gate
velocity
releaseVelocity
startNote
endNote

mod of 'keyb zone' by Johannes Thaelmann.
Monophonic MIDI keyboard note input, gate, velocity and release velocity, only responding to a range of notes.
integer note-nr output.

monitor

note
velocity
gate
cc
value

provides in-patcher information about incoming midi-data

note on

note
noteOn
gate
startNote
endNote

noteOn issues a pulse whenever a note-on occurs,
note returns the note number.
hold is 1 if any keys are on hold.

poly cc 8 FULL

startcc
cc0
cc1
cc2
cc3
cc4
cc5
cc6
cc7
startcc

outputs the state of 8 controllers starting from 'startcc'

poly cc 8

startcc
cc0
cc1
cc2
cc3
cc4
cc5
cc6
cc7
startcc

outputs the state of 8 controllers starting from 'startcc'

poly g 8

startnote
g0
g1
g2
g3
g4
g5
g6
g7
startnote

outputs the state of 8 notes,starting from 'startnote'.

poly gv 8

startnote
g0
v0
g1
v1
g2
v2
g3
v3
g4
v4
g5
v5
g6
v6
g7
v7
startnote

outputs the state of 8 notes,starting from 'startnote'.gate and velocity.

table store FULL

offset
startcc
active
chtrig
index
table
startcc
length
offset
active

writes midi controler data to a table.set the start of the range of the controlers to read out with 'startcc',the length of the range with 'length'.
the data is written to the table starting at 'offset'.

table store

offset
startcc
active
chtrig
table
startcc
length
offset
active

writes midi controler data to a table.set the start of the range of the controlers to read out with 'startcc',the length of the range with 'length'.
the data is written to the table starting at 'offset'.

table toggle

offset
startnote
length
active
trig
note
table
blocksize
offset
startnote
length
active

toggle elements of a table with midi-notes.set the range of the notes to use as toggles with 'startnote',the length of the range with 'length'.the start of the area of the table to work on is set with 'offset'.

rbrt/midi/out

cc send 4

v0
v1
v2
v3
startcc
device
channel
startcc

sends 4 midi control changes,starting from 'startcc'

cc send 8

v0
v1
v2
v3
v4
v5
v6
v7
startcc
device
channel
startcc

sends 8 midi control changes,starting from 'startcc'

note send 2

g0
g1
velon
veloff
startnote
device
channel
velon
veloff
startnote

sends 2 notes with velocities defined by 'velon' and 'veloff',starting frim 'startnote'.

note send 4

g0
g1
g2
g3
velon
veloff
startnote
device
channel
velon
veloff
startnote

sends 4 notes with velocities defined by 'velon' and 'veloff',starting frim 'startnote'.

note send

g0
velon
veloff
startnote
device
channel
velon
veloff
startnote

sends a note with velocities defined by 'velon' and 'veloff',starting frim 'startnote'.

table send cc

offset
startcc
redraw
active
table
device
channel
startcc
length
blocksize
active
offset

send data of a table as midi controler data.set the start of the range of the controlers to send with 'startcc',the length of the range with 'length'.useful for controllers capable of bi-directional midi,like 'livid base' or 'novation launchpad'.

table send note

offset
startnote
length
velon
veloff
active
redraw
offset
startnote
velon
veloff
blocksize
table
device
channel
blocksize
velon
veloff
active
offset
startnote
length

send data of a table as midi note messages.if the data == 0,a note with velocity 'veloff' is sent,if the data > 0,velocity 'velon' is sent.
set the start of the range of the notes to send with 'startnote',the length of the range with 'length'.
useful for controllers capable of bi-directional midi,like 'livid base' or 'novation launchpad'.

table send vel

offset
startnote
length
active
redraw
offset
startnote
blocksize
table
device
channel
blocksize
active
offset
startnote
length

send data of a table as midi velocity messages.contents of a table will be scaled to range of 0-127.
set the start of the range of the notes to send with 'startnote',the length of the range with 'length'.
useful for controllers capable of bi-directional midi,like 'livid base' or 'novation launchpad'

vel send 4

startnote
v0
v1
v2
v3
device
channel
startnote

sends 4 note velocities,no gate,no bullshit.for controllers that feel like receiving them.

vel send

startnote
v0
device
channel
startnote

sends note velocities,no gate,no bullshit.for controllers that feel like receiving them.

rbrt/mloop

del note

note
delNote
seq

records notes,as pitch and velocity,to a table with the same name as the object.
after recording,the recorded notes are translated to a sequence with 512ppq resolution.
the maximum recording length is 42 seconds,with a maxium of 512 events (or,256 notes played)
outlet 'length' provides the recording length,in order to drive a 'ktransport' -object.
use 'note play' to play the sequence.

del step

delete
index
seq
hold

records notes,as pitch and velocity,to a table with the same name as the object.
after recording,the recorded notes are translated to a sequence with 512ppq resolution.
the maximum recording length is 42 seconds,with a maxium of 512 events (or,256 notes played)
outlet 'length' provides the recording length,in order to drive a 'ktransport' -object.
use 'note play' to play the sequence.

play n

index
play
stopall
note
velo
seq

play back a sequence recorded with 'note rec'

rec n sdram

rec
note
velo
dub
index
length

records notes,as pitch and velocity,to a table with the same name as the object.
after recording,the recorded notes are translated to a sequence with 512ppq resolution.
the maximum recording length is 42 seconds,with a maxium of 512 events (or,256 notes played)
outlet 'length' provides the recording length,in order to drive a 'ktransport' -object.
use 'note play' to play the sequence.

write 16

startNote
trig
clear
seq
a1
a2
a3
a4
a5
a6
a7
a8
b1
b2
b3
b4
b5
b6
b7
b8
clear

sets the indexes of table to the value of the attributes starting at index 'offset'

rbrt/old

1shot

offset
range
start
speed
play
pos
play
table
speed

one-shot readout of table data

brain

slot
trig
copy
move
delete
defrag
clear
filename
load
save
delete
test
wave

edits a bank of samples recorded with 'smplr'.
'slot' sets the slot to work on,
'copy','move' and 'delete' have to be triggered via 'trig'.
'defrag' will clear unused sample data and compact the referred table.
'clear' will clear the data.

brain+

slot
trig
copy
move
delete
defrag
clear
filename
load
save
delete
test
wave
params
blocksize

edits a bank of samples recorded with 'smplr'.
'slot' sets the slot to work on,
'copy','move' and 'delete' have to be triggered via 'trig'.
'defrag' will clear unused sample data and compact the referred table.
'clear' will clear the data.

brain++

slot
trig
copy
move
delete
defrag
clear
filename
load
save
delete
test
wave
params
blocksize
aux1
aux2
aux3
aux4
auxes

edits a bank of samples recorded with 'smplr'.
'slot' sets the slot to work on,
'copy','move' and 'delete' have to be triggered via 'trig'.
'defrag' will clear unused sample data and compact the referred table.
'clear' will clear the data.

dialmatrix 1 4

in0
s

demultiplexes incoming data to 4 dials.the target is set by the inlet 's'.
the dials have to be named '0' , '1' , '2' ,'3'.

dialmatrix 4 16

in0
in1
in2
in3
s

demultiplexes data incoming on 4 inlets to 16 dials named in the format 'rowcolumn'.
the 'rows' are wired to the inlets 'in0' to 'in3',the 'column' is defined by the inlet 's'
(so for example 4 dials receiving from in2 have to be named '20' '21' '22' and '23')

dialmatrix 8 16

in0
in1
in2
in3
in4
in5
in6
in7
s

demultiplexes data incoming on 8 inlets to 16 dials named in the format 'rowcolumn'.
the 'rows' are wired to the inlets 'in0' to 'in3',the 'column' is defined by the inlet 's'
(so for example 8 dials receiving from in2 have to be named '20' '21' '22' '23' '24' '25' '26' and '27')

dialmatrix 8 32

in0
in1
in2
in3
in4
in5
in6
in7
s

demultiplexes data incoming on 8 inlets to 32 dials named in the format 'rowcolumn'.
the 'rows' are wired to the inlets 'in0' to 'in3',the 'column' is defined by the inlet 's'
(so for example 4 dials receiving from in2 have to be named '20' '21' '22' and '23')

dialmatrix 8 64

in0
in1
in2
in3
in4
in5
in6
in7
s

demultiplexes data incoming on 8 inlets to 64 dials named in the format 'rowcolumn'.
the 'rows' are wired to the inlets 'in0' to 'in3',the 'column' is defined by the inlet 's'
(so for example 4 dials receiving from in2 have to be named '20' '21' '22' '23' '24' '25' '26' and '27')

edit

slot
trig
copy
move
delete
defrag
clear
delete
smplr
wave

edits a bank of samples recorded with 'smplr'.
'slot' sets the slot to work on,
'copy','move' and 'delete' have to be triggered via 'trig'.
'defrag' will clear unused sample data and compact the referred table.
'clear' will clear the data.

edit+

slot
trig
copy
move
delete
defrag
clear
delete
smplr
wave
params
blocksize

edits a bank of samples recorded with 'smplr'.
'slot' sets the slot to work on,
'copy','move' and 'delete' have to be triggered via 'trig'.
'defrag' will clear unused sample data and compact the referred table.
'clear' will clear the data.
additionally,a table containing other parameters linked to the slot has to be defined.
editing actions also affect this table,
blocksize defines the size of the block of data linked to the sample slot.

fb 16 ccs

offset
active
table
device
channel
i0
i1
i2
i3
i4
i5
i6
i7
i8
i9
i10
i11
i12
i13
i14
i15
active

visual feedback of table data for bidirectional midi-controllers (f.i. novation launchpad,livid base).
16 elements of a table are mapped to midi-cc's.

fb 4 notes

offset
velon
redraw
table
device
channel
i0
i1
i2
i3
on
off

visual feedback of table data for bidirectional midi-controllers (f.i. novation launchpad,livid base).
4 elements of a table are mapped to midi - notes.

fb 8 ccs

offset
active
table
device
channel
i0
i1
i2
i3
i4
i5
i6
i7
active

visual feedback of table data for bidirectional midi-controllers (f.i. novation launchpad,livid base).
8 elements of a table are mapped to midi-cc's.

fb 8 notes

offset
velon
redraw
table
device
channel
i0
i1
i2
i3
i4
i5
i6
i7
on
off

visual feedback of table data for bidirectional midi-controllers (f.i. novation launchpad,livid base).
8 elements of a table are mapped to midi - notes.

filter i

in
out
c

filter out a defined value

keyb zone poly

clear
currentNote
currentGate
currentVelo
noteOn
noteOff
notecount
hold
startNote
endNote
channel
noteshift

an approach to midi polyphony.a 'map' of currently active notes is stored in a table with the same name as the object that can be referenced from 'outside'.
currentNote,gate and velo correspond to the actual events,noteOn issues a pulse whenever a note-on occurs.
notecount puts out the number of notes curently on hold,hold is 1 if any keys are on hold.

keyb zone poly

clear
currentNote
currentGate
currentVelo
noteOn
noteOff
notecount
hold
startNote
endNote

an approach to midi polyphony.a 'map' of currently active notes is stored in a table with the same name as the object that can be referenced from 'outside'.
currentNote,gate and velo correspond to the actual events,noteOn issues a pulse whenever a note-on occurs.
notecount puts out the number of notes curently on hold,hold is 1 if any keys are on hold.

ktransport

kticks
factor
mode
reset
phase
step
24ppq
steps
factor
mode

sort of a transport for sequencing.
3000 at inlet 'kticks' will result in a 1hz wave ranging from 0 to 64.
also,a position between 0 and the value of 'steps' is put out,as well as 24ppq - pulses.
'factor' sets a multiplikation or divison factor,while 'mode' selects whether to multiply or divide the 'tempo'.

ldrive multi

offset
range
startpoint
loopstart
speed
play
reset
pos
count
smps
table
speed

drives a phasor (saw-wave) for reading/writing data

ldrive

range
loopstart
speed
play
reset
pos
count
smps
table
speed

drives a phasor (saw-wave) for reading/writing data

ldub

pos
wave
overdub
feedback
table
feedback

adds data to the content of a table,at inlet pos (in fraction of the table's size).feedback controls feedback amount.

lmangle mod

offset
range
startpoint
speed
looplength
loopstart
play
reset
pos
count
smps
table
range
speed
looplength
loopstart
palindromic

drives a phasor (saw-wave) for reading/writing data.
phase always stays inside the range defined by 'offset' and 'range'

lmangle

offset
range
startpoint
speed
looplength
loopstart
play
reset
pos
count
smps
table
speed
palindromic

drives a phasor (saw-wave) for reading/writing data.
phase always stays inside the range defined by 'offset' and 'range'

loop_drive multi

offset
range
freq
start
reset
slot

drives the transport for reading/writing data from/to tables.
the phase is translated to an index,defined by 'range' and 'offset'
the speed is defined by 'freq'.
the phase will be reset to 'start' when re-setting
the phase

loop_drive

range
freq
reset
pos

drives the transport for reading/writing data from/to tables.
tempo in hz and length of the recording is translated to index in fraction of table size

loop_drive+ multi

offset
range
speed
startpoint
loopstart
reset
pos
count
smps
table

drives a phasor (saw-wave) for reading/writing data

loop_drive+

range
speed
loopstart
reset
pos
count
smps
table

drives a phasor (saw-wave) for reading/writing data

loop_dub

pos
wave
overdub
table

adds data to the content of a table,at inlet pos (in fraction of the table's size)

loop_mangle

offset
range
speed
looplength
loopstart
reset
pos
count
table

drives a phasor (saw-wave) for reading/writing data

loop_master

wave
rec
range
freq
table

records audio to a table.after recording is done,the tempo if the recording in hz is sent out,
as well as the length of the recording (in fraction of the table's size)

loop_multi

wave
pos
rec
slot
sync
offset
range
freq
start
rec
table
slots

records audio to a table.
the table can be divided into 1,2,4 or 8 slots.
when 'sync' is enabled,recording will be synced to phase of the signal connected to 'pos',
and after 'rec' is zero,recording will continue until the starting point is reached.
after recording is done,the tempo if the recording in hz is sent out,
as well as the length of the recording (in fraction of the table's size).

loop_multi_stereo

waveL
waveR
pos
rec
slot
sync
offset
range
freq
start
rec
tableL
tableR
slots

records audio to a table.
the table can be divided into 1,2,4 or 8 slots.
when 'sync' is enabled,recording will be synced to phase of the signal connected to 'pos',
and after 'rec' is zero,recording will continue until the starting point is reached.
after recording is done,the tempo if the recording in hz is sent out,
as well as the length of the recording (in fraction of the table's size).

loop_play

offset
range
speed
startpoint
loopstart
play
reset
out
count
smps
table

reads a table and outputs the data as audio,looped and interpolated.

loop_slave_1

pos
wave
rec
recstate
table

write to table,at inlet pos (in fraction of the table's size)
will record for exactly 1 phase (well,bar...)

loop_sync

wait
pos
start
trig

if 'wait' is high,'loop_sync' will wait until the signal at 'pos' reaches the value defined by 'start'.
the, a pulse is put out at outlet 'trig'.

looper_FB_mono

wave
rec
play
dub
feedback
wave
table

a looper with overdub and feedback

looper_FB_stereo

waveL
waveR
rec
play
dub
feedback
waveL
waveR
tableL
tableR

a looper with overdub,stereo version

looper_OD_mono

wave
rec
play
dub
wave
pos
length
table

a looper with overdub,has sync outputs for playback position and loop length (in samples)

lrec fade alt

wave
rec
range
smps
state
main
fade
attack
release
hard

records audio to a table.after recording is done,the length of the recording in samples is sent out,
as well as the length of the recording (in fraction of the table's size).
'lrec fade alt' is writing the fade-out to an alternative buffer.

lrec fade

wave
rec
range
smps
state
table
attack
release
hard

records audio to a table.after recording is done,the length of the recording in samples is sent out,
as well as the length of the recording (in fraction of the table's size)

lrec multi fade

wave
pos
rec
slot
sync
offset
range
startpoint
smps
rec
state
table
slots
attack
hard
release

records audio to a table with nice fade-ins and -outs.
the table can be divided into 1,2,4 or 8 slots.
when 'sync' is enabled,recording will be synced to phase of the signal connected to 'pos',
and after 'rec' is zero,recording will continue until the starting point is reached.
after recording is done,the length if the recording in samples is sent out,
as well as the length of the recording (in fraction of the table's size).
meanwhile,the input signal is overdubbed and faded out ,so NO CLICKS!
set the length of the fade-out/overdub period with 'release',
the length of the fade-in of the recording with 'attack'.

lrec multi

wave
pos
rec
slot
sync
offset
range
startpoint
smps
rec
table
slots

records audio to a table.
the table can be divided into 1,2,4 or 8 slots.
when 'sync' is enabled,recording will be synced to phase of the signal connected to 'pos',
and after 'rec' is zero,recording will continue until the starting point is reached.
after recording is done,the length if the recording in samples is sent out,
as well as the length of the recording (in fraction of the table's size).

lrec

wave
rec
range
smps
table

records audio to a table.after recording is done,the length of the recording in samples is sent out,
as well as the length of the recording (in fraction of the table's size)

note poly

note
velo
device
channel

sends a note / a velocity when either changes

note poly

note
velo
noteOn
noteOff
gate
startNote
endNote
channel

useful for polyphonic midi.
noteOn issues a pulse whenever a note-on occurs,
note returns the note number.
same for note off.
hold is 1 if any keys are on hold.

notehold_fixed

gate
trig
device
channel
note
velon
veloff

Midi note hold.if 'gate' is true,'velon' is held on 'trig'.if 'gate' is false,'veloff' is held on 'trig'.

notehold_free

note
velo
trig
device
channel

Midi note hold

read step

offset
index
value
trig
vhold
table
offset

read from table.
'value' = value at index.
'trig' = puts out a pulse if 'value' > 0.
'vhold' = the current value,held until next 'trig'.

recmodes

slot
loopRec
sync
phase
sliceArm
sliceRec
DISABLE
slot
arm
rec
playmode
smplr
loopFlag
sliceFlag

a helper for different recording modes for 'smplr'.
'loopRec' will record into the selected slot,as long as 'loopRec' is high,
no new slices will be created.
in addition,'loopRec' will check if the selected slot is empty.if not,
the object will search for the next empty slot.
'sliceArm' will arm 'smplr' to record to the selected slot,
'sliceRec' will start recording to that slot if it's empty.

replace bool

in
high
low
out
high
low

if 'in' is true , 'out' will be replaced with 'high'.otherwise,'out' = 'low'

seq midi feedback 16

offset
step
delay
velon
table
device
channel
i0
i1
i2
i3
i4
i5
i6
i7
i8
i9
i10
i11
i12
i13
i14
i15
on
off
clock
step

visual feedback of table data for bidirectional midi-controllers (f.i. novation launchpad,livid base).
16 elements of a table are mapped to midi - notes.

seq midi feedback 8

offset
step
delay
velon
table
device
channel
i0
i1
i2
i3
i4
i5
i6
i7
on
off
clock
step

visual feedback of table data for bidirectional midi-controllers (f.i. novation launchpad,livid base).
8 elements of a table are mapped to midi - notes.

seq midi feedback 8steps

step
delay
table
device
channel
i0
i1
i2
i3
i4
i5
i6
i7
step

visual feedback of step-sequencer position for bidirectional midi-controllers (f.i. novation launchpad,livid base).
the value at inlet 'step' are mapped to 8 midi-notes.

slot length

slot
smps
smplr

returns the length in samples of a slot

slot params

slot
offset
range
playmode
Aux
smplr
wave

reference sample information created by 'smplr'.
'slot' sets the sample bank slot to refer to.
'offset' returns the start of the slot in fraction of the table's size,
'range' returns the length.
'playmode' returns the playmode the slot has been recorded with.
'Aux' returns auxiliary information,like the recording startpoint.

slot playmode

slot
set
mode
playmode
smplr

reference sample information created by 'smplr'.
'slot' sets the sample bank slot to refer to.
'offset' returns the start of the slot in fraction of the table's size,
'range' returns the length.
'playmode' returns the playmode the slot has been recorded with.
'Aux' returns auxiliary information,like the recording startpoint.

smplr sdram

wave
slot
arm
rec
playmode
Aux
clear
recstart
recstate
fadestate
recslot
remain
slotFull
wave
attack
release

'arm' will arm the recorder,
'rec' will start recording to the selected slot or, when already recording,start another recording in a selected slot.
you cannot record into a slot that already contains sample data.
if already recording,recording will continue in the slot you were recording to before.
when 'arm' is 0 again,recording will stop.
sample start-and endpoints can be accessed 'from the outside' via the recorder-objects name.

smplr test

wave
slot
arm
rec
playmode
Aux
recstart
recstate
fadestate
recslot
remain
slotFull
brain
wave
attack
release

'arm' will arm the recorder,
'rec' will start recording to the selected slot or, when already recording,start another recording in a selected slot.
you cannot record into a slot that already contains sample data.
if already recording,recording will continue in the slot you were recording to before.
when 'arm' is 0 again,recording will stop.
sample start-and endpoints can be accessed 'from the outside' via the recorder-objects name.

smplr

wave
slot
arm
rec
playmode
Aux
clear
recstart
recstate
fadestate
recslot
remain
slotFull
wave
attack
release

'arm' will arm the recorder,
'rec' will start recording to the selected slot or, when already recording,start another recording in a selected slot.
you cannot record into a slot that already contains sample data.
if already recording,recording will continue in the slot you were recording to before.
when 'arm' is 0 again,recording will stop.
sample start-and endpoints can be accessed 'from the outside' via the recorder-objects name.

steptoggle

a
v
trig
feedback
table

useful for step sequencing.if the table at index '+a' == 0 , index 'a+' will be set to value 'v'. if 'a+' is NOT 0, it will be set to 0.

stransport

smps
factor
mode
reset
phase
step
24ppq
steps
factor
mode

sort of a transport for sequencing.
48000 at inlet 'smps' will result in a 1hz wave ranging from 0 to 64.
also,a position between 0 and the value of 'steps' is put out,as well as 24ppq - pulses.
'factor' sets a multiplikation or divison factor,while 'mode' selects whether to multiply or divide the 'tempo'.

tclear

offset
range
trig
done
table
offset
range
value

re-set the elements of a table starting at 'offset'.
the length of the area to re-set is defined by 'range'.
brutally working at audio-rate.

tcopy

src
dst
range
trig
done
src
dst
range
splat

copy the elements of a table from table 'src' to table 'dst'
the length of the area to copy is defined by 'range',
the read offset is defined by inlet'src' and the write offset by 'dst'
brutally working at audio-rate.
if 'splat' is enabled,tcopy will prevserve the original contents of the destination table

timepoint

phase
pos
trig

puts out a pulse when 'phase' reaches the value defined by 'pos'

rbrt/osc

phasor div

freq
reset
divider
wave

saw wave signal-rate LFO, rising slope, frequency input.lets call it 'phasor'.copy-pasted from 'lfo/saw lin' by Johannes.
inlet 'divider' will left-shift the value of inlet 'freq' n times.

phasor

freq
reset
wave

saw wave signal-rate LFO, rising slope, frequency input.lets call it 'phasor'.copy-pasted from 'lfo/saw lin' by Johannes.

sphasor mul

smps
mul
reset
wave

saw wave signal-rate LFO, rising slope, sample input.
48000 at inlet 'smps' will result in a 1hz-saw-wave.
inlet 'mul' sets a multiplier.

sphasor

smps
reset
wave

saw wave signal-rate LFO, rising slope, sample input.
48000 at inlet 'smps' will result in a 1hz-saw-wave.

rbrt/patching

automux b 2

i0
i1
o

input collector.outputs an input's value if it changes.

automux b 4

i0
i1
i2
i3
o

input collector.outputs an input's value if it changes.

automux b 8

i0
i1
i2
i3
i4
i5
i6
i7
o

input collector.outputs an input's value if it changes.

automux f 2

i0
i1
o

input collector.outputs an input's value if it changes.

automux f 4

i0
i1
i2
i3
o

input collector.outputs an input's value if it changes.

automux f 8

i0
i1
i2
i3
i4
i5
i6
i7
o

input collector.outputs an input's value if it changes.

automux i 2

i0
i1
o

input collector.outputs an input's value if it changes.

automux i 4

i0
i1
i2
i3
o

input collector.outputs an input's value if it changes.

automux i 8

i0
i1
i2
i3
i4
i5
i6
i7
o

input collector.outputs an input's value if it changes.

bang

pulse
bang

Generates a single pulse when the button is pressed
similar to PD / Max/Msp 'bang'

default

trig
test

(no description)

i2k

i
o

convert integer to 'k-rate float'

k2i

i
o

convert 'k-rate float' to integer

load1

on

puts out a 'bool 1' after a patcher is going 'live'.

loadbang

pulse

Generates a single pulse when a patcher is loaded.
similar to PD / Max/Msp 'loadbang'

pass b

in
out

passes in to out.thats all it does.

pass f

in
out

passes in to out.thats all it does.

pass i

in
out

passes in to out.thats all it does.

receive a

out
sender

delay read, non-interpolated

receive string

string
trig
sender

(no description)

retrig

in
trig
out

copies inlet 'in' to outlet 'out'.
if 'trig' is high,puts out a fixed value of -666 ,THEN outputs and keeps the value at inlet 'in'.

send a sdram

in

delayline definition, read it with "delay/read" objects referencing the instance name of this object

send a

in

delayline definition, read it with "delay/read" objects referencing the instance name of this object

send string

string
trig

send (to recv object), integer type

rbrt/poly

envstate

note
envstate
statemap

works only inside a polyphonic sub-patch.
routes note and velocity to a specific voice,
and gives feedback to the 'mother-object' about the current playback state of that voice.
inlet 'envstate' provides 'polyhandler slave' with information about the state of a
release-envelope if there is one.
otherwise ,'polyhandler slave' will work without

holdmap sdram toggle

note
velo
toggle
toggle

creates a table named like the object that can be referenced in the patcher and creates a 'map' of all notes currently held down,including velocities.
no 'aftertouch'.

holdmap sdram

note
velo

creates a table named like the object that can be referenced in the patcher and creates a 'map' of all notes currently held down,including velocities.
no 'aftertouch'.

holdmap send

redraw
mute
holdmap
thin
device
channel

references a table, sends note and velocity when an index of the table changes.
works good with 'holdmap'

holdmap

note
velo

creates a table named like the object that can be referenced in the patcher and creates a 'map' of all notes currently held down,including velocities.
no 'aftertouch'.

keyb zone poly

note
velo
hold
gate
noteOn
noteOff
startNote
endNote
channel
noteshift

useful for polyphonic midi.
noteOn issues a pulse whenever a note-on occurs,
note returns the note number, with 'noteshift' added (or substracted)
same for note off.
hold is 1 if any keys are on hold.
gate is true when velocity > 0

midicheck

bypass
note
velo
used
note
velo
holdmap

when a note is already active in a different midi-stream
which is mapped to a 'holdmap' - object, 'midicheck' will
output a 1 at 'outlet_used'.
useful for muting midi-streams.

midimute

mute
muteOnOnly
note
velo
note
velo

collects 3 midi-streams into one.
each stream can be muted.
buttons 'muteNoteOnOnly' set whether all messages of an input stream or muted or only note-ons.

midimux 2

mute1
muteOnOnly1
note1
velo1
mute2
muteOnOnly2
note2
velo2
note
velo

collects 3 midi-streams into one.
each stream can be muted.
buttons 'muteNoteOnOnly' set whether all messages of an input stream or muted or only note-ons.

midimux 3

mute1
muteOnOnly1
note1
velo1
mute2
muteOnOnly2
note2
velo2
mute3
muteOnOnly3
note3
velo3
note
velo

collects 3 midi-streams into one.
each stream can be muted.
buttons 'muteNoteOnOnly' set whether all messages of an input stream or muted or only note-ons.

midimux 4

mute1
muteOnOnly1
note1
velo1
mute2
muteOnOnly2
note2
velo2
mute3
muteOnOnly3
note3
velo3
mute4
muteOnOnly4
note4
velo4
note
velo

collects 3 midi-streams into one.
each stream can be muted.
buttons 'muteNoteOnOnly' set whether all messages of an input stream or muted or only note-ons.

note out poly

note
velo
device
channel

sends a note / a velocity when either changes

notefilter

active
filter
note
velo
note
velo

when a note is already active in a different midi-stream
which is mapped to a 'holdmap' - object, 'midicheck' will
output a 1 at 'outlet_used'.
useful for muting midi-streams.

polymaster latch

note
velo
stopnote
stop
startnote
start
note
velo
target
polyphony
playmode
loopFlag
blocksize
index
steal
ignoreZeroSlots

controls a polyphonic subpatch,and receives information about the current state of all voices inside that patch via 'polyhandler slave'
unlike a 'normal' polyphonic subpatch, starting a note that is already playing will re-trigger that note,instead of playing that note with another voice.
if 'kill' is enabled,notes that are on release will be stopped.
'polyhandler latch' references a table with information about the 'playback mode'.
'latchFlag' sets which value in that table defines the 'latch - mode'.
in latch-mode,note-ons will toggle the respective note on and off,
note-offs are ignored.
'blocksize' refers how big a block of parameters is for each voice,
'index' sets where inside that block the information about the 'playback mode' is stored

polymaster smplr

note
velo
stopnote
stop
startnote
start
note
velo
target
polyphony
smplr
loopFlag
steal

controls a polyphonic subpatch,and receives information about the current state of all voices inside that patch via 'polyhandler slave'
unlike a 'normal' polyphonic subpatch, starting a note that is already playing will re-trigger that note,instead of playing that note with another voice.
if 'kill' is enabled,notes that are on release will be stopped.
'polyhandler latch' references a table with information about the 'playback mode'.
'latchFlag' sets which value in that table defines the 'latch - mode'.
in latch-mode,note-ons will toggle the respective note on and off,
note-offs are ignored.
'blocksize' refers how big a block of parameters is for each voice,
'index' sets where inside that block the information about the 'playback mode' is stored

polymaster

note
velo
stopnote
stop
startnote
start
note
velo
target
test
polyphony
steal

controls a polyphonic subpatch,and receives information about the current state of all voices inside that patch via 'polyhandler slave'
unlike a 'normal' polyphonic subpatch, starting a note that is already playing will re-trigger that note,instead of playing that note with another voice.
if 'kill' is enabled,notes that are on release will be stopped.
'polyhandler latch' references a table with information about the 'playback mode'.
'latchFlag' sets which value in that table defines the 'latch - mode'.
in latch-mode,note-ons will toggle the respective note on and off,
note-offs are ignored.
'blocksize' refers how big a block of parameters is for each voice,
'index' sets where inside that block the information about the 'playback mode' is stored

polyslave ahd

stop
attack
release
note
velo
gate
retrig
env
state
polymaster
retrigger
ascale
rscale
dclick

works only inside a polyphonic sub-patch.
routes note and velocity to a specific voice,
and gives feedback to the 'mother-object' about the current playback state of that voice.
inlet 'envstate' provides 'polyhandler slave' with information about the state of a
release-envelope if there is one.
otherwise ,'polyhandler slave' will work without

polyslave

stop
envstate
note
velo
gate
retrig
polymaster

works only inside a polyphonic sub-patch.
routes note and velocity to a specific voice,
and gives feedback to the 'mother-object' about the current playback state of that voice.
inlet 'envstate' provides 'polyhandler slave' with information about the state of a
release-envelope if there is one.
otherwise ,'polyhandler slave' will work without

translate note

note
note

translates integer note and velocity to 'blue float'

translate velo

velo
velo

translates integer note and velocity to 'blue float'

translate

note
velo
note
velo

translates integer note and velocity to 'blue float'

rbrt/push

cursor get

left
right
up
down

outputs the state of 8 controllers starting from 'startcc'

enc 1 t o 8 u table+

offset
fine
copyToAll
holdOnly
excludeHold
protect
slot
table
pads
blocksize
holdmap

Receives Midi Continuous Controller messages from any CC number and channel.

enc 1 to 8 table b

offset
fine
mode0
mode1
mode2
mode3
mode4
mode5
mode6
mode7
table

Receives Midi Continuous Controller messages from any CC number and channel.

enc 1 to 8 table massmod

offset
fine
mode0
mode1
mode2
mode3
mode4
mode5
mode6
mode7
massmod
table
blocksize

Receives Midi Continuous Controller messages from any CC number and channel.

enc 1 to 8 u table

offset
fine
table

Receives Midi Continuous Controller messages from any CC number and channel.

enc 1 to 8 u

v0
v1
v2
v3
v4
v5
v6
v7
fine
v0
v1
v2
v3
v4
v5
v6
v7

(no description)

enc left 1

v
up
down

(no description)

enc left 2

v

(no description)

led cell text

text
redraw
mute
row
column
LEDmaster

(no description)

led cell value b

in
mode
redraw
mute
mode
row
column
LEDmaster

(no description)

led clear

clear
row
clearAll
LED

(no description)

led master sdram

thin

(no description)

led master

thin

(no description)

led row text attr

redraw
row
mute
LEDmaster
row
cell0
cell1
cell2
cell3
cell4
cell5
cell6
cell7

(no description)

led row text

redraw
row
text0
text1
text2
text3
text4
text5
text6
text7
mute
test
LEDmaster
row

(no description)

led row value b attr

redraw
row
mute
v0
v1
v2
v3
v4
v5
v6
v7
LEDmaster
row
mode0
mode1
mode2
mode3
mode4
mode5
mode6
mode7

(no description)

led row value b

redraw
row
mute
v0
mode0
v1
mode1
v2
mode2
v3
mode3
v4
mode4
v5
mode5
v6
mode6
v7
mode7
LEDmaster
row

(no description)

led row value u

redraw
row
mute
v0
v1
v2
v3
v4
v5
v6
v7
LEDmaster
row

(no description)

led row value ubf attr

redraw
row
mute
v0
v1
v2
v3
v4
v5
v6
v7
LEDmaster
row
mode0
mode1
mode2
mode3
mode4
mode5
mode6
mode7

(no description)

led value b 2 bar

in
mode
out
trig

(no description)

led value b 2 bar attr

in
out
trig
mode

(no description)

led value u 2 bar

in
out
trig

(no description)

left block 1 get

b0
b1

outputs the state of 8 controllers starting from 'startcc'

left block 2 get

b0
b1
b2
b3

outputs the state of 8 controllers starting from 'startcc'

left block 2 set

b0
b1
b2
b3

(no description)

matrix colors attr

toggle
color
colorOn
onBrightness
colorOff
offBrightness

(no description)

matrix colors

color
brightness
color
colors

(no description)

matrix get

pad
velo
gate
padOn
padOff
hold

useful for polyphonic midi.
noteOn issues a pulse whenever a note-on occurs,
note returns the note number, with 'noteshift' added (or substracted)
same for note off.
hold is 1 if any keys are on hold.
gate is true when velocity > 0

matrix set colormap

select
pad
redraw
mute
colormap
blocksize
index
statemap
brtOn
brtOff
holdmap
clrHold
brtHold
clrSelect
brtSelect
thin

sends a note / a velocity when either changes

matrix set holdmap

select
pad
onClr
offClr
selClr
redraw
mute
holdmap
thin

sends a note / a velocity when either changes

matrix set playmodes

select
pad
redraw
mute
playmode
blocksize
index
clrMode1
clrMode2
clrMode3
statemap
brtOn
brtOff
holdmap
clrHold
brtHold
clrSelect
brtSelect
thin

sends a note / a velocity when either changes

right block 1 get

b0
b1

outputs the state of 8 controllers starting from 'startcc'

right block 1 set

b0
b1

(no description)

right block 2 get

b0
b1
b2
b3
b4
b5

outputs the state of 8 controllers starting from 'startcc'

right block 2 set

b0
b1
b2
b3
b4
b5

(no description)

right block 3 get

b0
b1
b2
b3
b4
b5
b6
b7
b8
b9

outputs the state of 8 controllers starting from 'startcc'

right block 3 set

b0
b1
b2
b3
b4
b5
b6
b7
b8
b9

(no description)

right row colors

toggle
color
colorOn
onBright
onFlash
colorOff
offBright
offFlash

(no description)

right row get

b0
b1
b2
b3
b4
b5
b6
b7

outputs the state of 8 controllers starting from 'startcc'

right row set

b0
b1
b2
b3
b4
b5
b6
b7

(no description)

small colors

toggle
color
onBright
onFlash
offBright
offFlash

(no description)

text edit

left
right
inc
dec
delete
clear
display
string

constant string

top 1 colors attr

toggle
color
colorOn
onBright
onFlash
colorOff
offBright
offFlash

(no description)

top 1 colors

toggle
colorOn
onBright
onFlash
colorOff
offBright
offFlash
color

(no description)

top 1 get

b0
b1
b2
b3
b4
b5
b6
b7

outputs the state of 8 controllers starting from 'startcc'

top 1 set

b0
b1
b2
b3
b4
b5
b6
b7

(no description)

top 2 colors

toggle
color
colorOn
onBrightness
colorOff
offBrightness

(no description)

top 2 get

b0
b1
b2
b3
b4
b5
b6
b7

outputs the state of 8 controllers starting from 'startcc'

top 2 set

b0
b1
b2
b3
b4
b5
b6
b7

(no description)

rbrt/SD

api

(no controls)

..contains several functions and references to libraries that handle SD-card IO.
all put into one object to save precious SRAM.
called 'api' because the functions can be 'called' from outside.

browse

getIndex
filter
name
trig
SDapi
directory
thin

returns the name of an index in a directory (if existing)
'filter' specifies a filetype to filter.
when 'filter' is active, the returned name will have the filetype-extension removed.
'directory' can be either 'root' or 'local'.
'thin' limits how often you can ask for a name.

save load table area

filename
save
start
length
load
offset
table
SDapi

saves an area of a table,specified by 'start' and 'length' , to SD-card.
OR,loads a file from SD-card to a position specified by 'offset'.

save load table

filename
save
load
table
SDapi

saves/loads an entire table to SD-card

rbrt/sdrive

1 shot

offset
range
direction
transpose
trigger
stop
phase
play
wave
direction

drives a phasor (saw-wave) for reading/writing data

flex

offset
range
loopstart
direction
transpose
play
trigger
resetORstop
phase
play
wave
direction

drives a phasor (saw-wave) for reading/writing data

loop min

offset
range
direction
transpose
play
reset
phase
wave
direction

drives a phasor (saw-wave) for reading/writing data

loop

offset
range
loopstart
direction
transpose
play
reset
phase
wave
direction

drives a phasor (saw-wave) for reading/writing data

phase 2 smps

phase
smps
table

(no description)

rbrt/seq

blocksize

in
out
blocksize

multiplies steps from a sequencer-clock to match the number of parameters each step of your sequence is using.(== 'blocksize')

ktransport f

kticks
factor
reset
pos
phase
step
24ppq
kticks
steps
factor

sort of a transport for sequencing.
3000 at inlet 'kticks' will result in a 1hz wave ranging from 0 to 64.
also,a position between 0 and the value of 'steps' is put out,as well as 24ppq - pulses.
'factor' sets a multiplikation factor,where 'factor' < 1 results in a division.
'reset' resets the phase to the value at inlet 'pos'.
outlet 'kticks'== the length in kticks after the scaling.

ktransport

kticks
factor
mode
reset
topos
phase
step
24ppq
steps
factor
mode

sort of a transport for sequencing.
3000 at inlet 'kticks' will result in a 1hz wave ranging from 0 to 64.
also,a position between 0 and the value of 'steps' is put out,as well as 24ppq - pulses.
'factor' sets a multiplikation or divison factor,while 'mode' selects whether to multiply or divide the 'tempo'.

note play

index
play
stopall
note
velocity
table

play back a sequence recorded with 'note rec'

note rec

rec
trigger
note
velo
length
index

records notes,as pitch and velocity,to a table with the same name as the object.
after recording,the recorded notes are translated to a sequence with 512ppq resolution.
the maximum recording length is 42 seconds,with a maxium of 512 events (or,256 notes played)
outlet 'length' provides the recording length,in order to drive a 'ktransport' -object.
use 'note play' to play the sequence.

step read H 4

offset
step
trig
h0
h1
h2
h3
table
offset

reads a block of 4 elements from a table ,starting at 'step'.
'trig' = puts out a pulse if the first element of the block is greater than 0.
'h0' - 'h3' = the 4 values at index 'step' + index of the output,
IF 'trig' is 'true'.

step read H 8

offset
step
trig
h0
h1
h2
h3
h4
h5
h6
h7
table
offset

reads a block of 8 elements from a table ,starting at 'step'.
'trig' = puts out a pulse if the first element of the block is greater than 0.
'h0' - 'h7' = the 8 values at index 'step' + index of the output,
IF 'trig' is 'true'.

step read M 8

offset
step
trig
m0
m1
m2
m3
m4
m5
m6
m7
table
offset

reads a block of 8 elements from a table ,starting at 'step'.
'trig' = puts out a pulse if the first element of the block is greater than 0.
'm0' - 'm7' = the 8 values at index 'step' + index of the output.

step read M4

offset
step
trig
m0
m1
m2
m3
table
offset

reads a block of 4 elements from a table ,starting at 'step'.
'trig' = puts out a pulse if the first element of the block is greater than 0.
'm0' - 'm3' = the 4 values at index 'step' + index of the output.

step read

offset
step
trig
value
vhold
table
offset

read from table.
'value' = value at index.
'trig' = puts out a pulse if 'value' > 0.
'vhold' = the current value,held until next 'trig'.

step set

offset
index
trig
value
table
ifon

set an element inside a table to 'value'.if parameter 'ifon' is high,the element will only be set to 'value' if it's > 0.

step toggle

offset
index
toggle
value
state
table
value

toggles an element of a table : if the element at index == 0,the element is set to the dial 'value'.
if the element > 0 ,the element is set to 0.

step write 4

offset
step
v0
v1
v2
v3
rec
table
offset

if the value at an inlet changes,it's written to the table at inlet 'step'.
if 'rec' is on,after the values changes for the first time,it will be written to the table at inlet
'step' ALL THE TIME (if it changes or not...)
useful for live-recording of modulation data.

step write 8

offset
step
v0
v1
v2
v3
v4
v5
v6
v7
rec
table
offset

if the value at an inlet changes,it's written to the table at inlet 'step'.
if 'rec' is on,after the values changes for the first time,it will be written to the table at inlet
'step' ALL THE TIME (if it changes or not...)
useful for live-recording of modulation data.

step write

offset
step
v
rec
table
offset

if the value at an inlet changes,it's written to the table at inlet 'step'.
if 'rec' is on,after the values changes for the first time,it will be written to the table at inlet
'step' ALL THE TIME (if it changes or not...)
useful for live-recording of modulation data.

stransport f

smps
factor
reset
pos
phase
step
24ppq
smps
steps
factor

sort of a transport for sequencing.
48000 at inlet 'smps' will result in a 1hz wave ranging from 0 to 64.
also,a position between 0 and the value of 'steps' is put out,as well as 24ppq - pulses.
'factor' sets a multiplikation factor,where 'factor' < 1 results in a division.
'reset' resets the phase to the value at inlet 'pos'.
outlet 'smps'== the length in samples after the scaling.

stransport

smps
factor
mode
reset
topos
phase
step
24ppq
steps
factor
mode

sort of a transport for sequencing.
48000 at inlet 'smps' will result in a 1hz wave ranging from 0 to 64.
also,a position between 0 and the value of 'steps' is put out,as well as 24ppq - pulses.
'factor' sets a multiplikation or divison factor,while 'mode' selects whether to multiply or divide the 'tempo'.

timepoint

phase
pos
trig

puts out a pulse when 'phase' reaches the value defined by 'pos'

rbrt/smplr

IO

filename
save
load
delete
trash
sampleName
saveSample
offset
range
loadSample
toSlot
smplr
SDapi
directory
loadSlotAndDefrag

(no description)

rec

wave
slot
arm
rec
playmode
Aux
recstart
recstate
fadestate
recslot
remain
slotFull
smplr
attack
release

'arm' will arm the recorder,
'rec' will start recording to the selected slot or, when already recording,start another recording in a selected slot.
you cannot record into a slot that already contains sample data.
if already recording,recording will continue in the slot you were recording to before.
when 'arm' is 0 again,recording will stop.
sample start-and endpoints can be accessed 'from the outside' via the recorder-objects name.

slot adr

slot
adr

reference sample information created by 'smplr'.
'slot' sets the sample bank slot to refer to.
'offset' returns the start of the slot in fraction of the table's size,
'range' returns the length.
'playmode' returns the playmode the slot has been recorded with.
'Aux' returns auxiliary information,like the recording startpoint.

slot length

slot
offset
range
smplr

reference sample information created by 'smplr'.
'slot' sets the sample bank slot to refer to.
'offset' returns the start of the slot in fraction of the table's size,
'range' returns the length.
'playmode' returns the playmode the slot has been recorded with.
'Aux' returns auxiliary information,like the recording startpoint.

slot param at index

slot
v
smplr
index

reference sample information created by 'smplr'.
'slot' sets the sample bank slot to refer to.
'offset' returns the start of the slot in fraction of the table's size,
'range' returns the length.
'playmode' returns the playmode the slot has been recorded with.
'Aux' returns auxiliary information,like the recording startpoint.

slot params

slot
offset
range
playmode
Aux
smplr

reference sample information created by 'smplr'.
'slot' sets the sample bank slot to refer to.
'offset' returns the start of the slot in fraction of the table's size,
'range' returns the length.
'playmode' returns the playmode the slot has been recorded with.
'Aux' returns auxiliary information,like the recording startpoint.

slot playmode

slot
mode
smplr

reference sample information created by 'smplr'.
'slot' sets the sample bank slot to refer to.
'offset' returns the start of the slot in fraction of the table's size,
'range' returns the length.
'playmode' returns the playmode the slot has been recorded with.
'Aux' returns auxiliary information,like the recording startpoint.

smplr

slot
trig
copy
move
delete
defrag
clear
delete
wave

edits a bank of samples recorded with 'smplr'.
'slot' sets the slot to work on,
'copy','move' and 'delete' have to be triggered via 'trig'.
'defrag' will clear unused sample data and compact the referred table.
'clear' will clear the data.

rbrt/sstation

IO

saveAll
loadAll
slot
saveSlot
loadSlot
fn1
fn2
fn3
fn4
fn5
fn6
done
test
smplr

save and load table to sdcard

drive min

offset
range
direction
transpose
play
reset
phase
direction
smplr

drives a phasor (saw-wave) for reading/writing data

master

slot
trig
copy
move
delete
clear
defrag
test
delete
size

'arm' will arm the recorder,
'rec' will start recording to the selected slot or, when already recording,start another recording in a selected slot.
you cannot record into a slot that already contains sample data.
if already recording,recording will continue in the slot you were recording to before.
when 'arm' is 0 again,recording will stop.
sample start-and endpoints can be accessed 'from the outside' via the recorder-objects name.

master_test

slot
trig
copy
move
delete
clear
defrag
save
load
test
delete
done
size

'arm' will arm the recorder,
'rec' will start recording to the selected slot or, when already recording,start another recording in a selected slot.
you cannot record into a slot that already contains sample data.
if already recording,recording will continue in the slot you were recording to before.
when 'arm' is 0 again,recording will stop.
sample start-and endpoints can be accessed 'from the outside' via the recorder-objects name.

play interp

a
o
smplr

read from table, linear interpolated

recmodes

slot
loopRec
sync
phase
sliceArm
sliceRec
DISABLE
slot
arm
rec
playmode
smplr
loopFlag
sliceFlag

a helper for different recording modes for 'smplr'.
'loopRec' will record into the selected slot,as long as 'loopRec' is high,
no new slices will be created.
in addition,'loopRec' will check if the selected slot is empty.if not,
the object will search for the next empty slot.
'sliceArm' will arm 'smplr' to record to the selected slot,
'sliceRec' will start recording to that slot if it's empty.

slot

slot
offset
range
playmode
Aux
smplr

reference sample information created by 'smplr'.
'slot' sets the sample bank slot to refer to.
'offset' returns the start of the slot in fraction of the table's size,
'range' returns the length.
'playmode' returns the playmode the slot has been recorded with.
'Aux' returns auxiliary information,like the recording startpoint.

srec

wave
slot
arm
rec
playmode
Aux
recstart
recstate
fadestate
recslot
remain
slotFull
test
smplr
attack
release

'arm' will arm the recorder,
'rec' will start recording to the selected slot or, when already recording,start another recording in a selected slot.
you cannot record into a slot that already contains sample data.
if already recording,recording will continue in the slot you were recording to before.
when 'arm' is 0 again,recording will stop.
sample start-and endpoints can be accessed 'from the outside' via the recorder-objects name.

rbrt/string

append

in
out
append
maxLength

constant string

choose 4

sel
out
maxLength
str0
str1
str2
str3

constant string

fixed length

out
str
maxLength

constant string

int 2 char

int
char

converts an int to the corrsponding ASCII-char

prefix 000

index
out
prefix
maxLength

generates string: prefix000suffix

prepend

in
out
prepend
maxLength

constant string

scroll v 8

offset
v0
v1
v2
v3
v4
v5
v6
v7
line1
line2
line3
line4
str0
str1
str2
str3
str4
str5
str6
str7

a mod of tiar/HW/strbar for an OLED-display,
change 'offset' to scroll through a lot of lines vertically.

string 4 caps

caps
text0
text1
text2
text3
str0
str1
str2
str3

constant string

string 4

text0
text1
text2
text3
maxLength
str0
str1
str2
str3

constant string

string 8 caps

caps
text0
text1
text2
text3
text4
text5
text6
text7
maxLength
str0
str1
str2
str3
str4
str5
str6
str7

constant string

string 8

text0
text1
text2
text3
text4
text5
text6
text7
maxLength
str0
str1
str2
str3
str4
str5
str6
str7

constant string

suffix 1

str1
out
suffix

appends a suffix to an input-string.
BEWARE:maximum length of input and suffix may not exceed 16 characters.

suffix 4

str1
out1
out2
out3
out4
suffix1
suffix2
suffix3
suffix4
maxLength

appends a suffix to an input-string.
BEWARE:maximum length of input and suffix may not exceed 16 characters.

text entry

add
undoAdd
delete
inc
dec
clear
disp
out
trig
maxLength
flash
char

funny little text-entry tool for user interfacing,
with a cute flashing cursor

rbrt/testing

1shot nointerp

offset
range
startpoint
direction
play
wave
phase
play
spos
slength
table
direction

drives a phasor (saw-wave) for reading/writing data

1shot_new

offset
range
startpoint
speed
play
pos
spos
stotal
speed
play
table
speed

drives a phasor (saw-wave) for reading/writing data

32 slider line

b0
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11
b12
b13
b14
b15
b16
b17
b18
b19
b20
b21
b22
b23
b24
b25
b26
b27
b28
b29
b30
b31

allocate a 32-byte table in ram,direct from sliders.initializes to a line from -64 to 64.

AXO buttons_leds

Lgreen
Lred
Mgreen
Mred
Rgreen
Rred
buttonL
buttonM
buttonR

(no description)

AXO encoders

inc1
dec1
but1
inc2
dec2
but2

(no description)

AXO mic

MIC in left

(no description)

SDapi

(no controls)

(no description)

brain_lpr 3

slot
trig
copy
move
pitchUp
pitchDown
delete
defrag
clear
delete
wave
params
blocksize

edits a bank of samples recorded with 'smplr'.
'slot' sets the slot to work on,
'copy','move' and 'delete' have to be triggered via 'trig'.
'defrag' will clear unused sample data and compact the referred table.
'clear' will clear the data.

brain_lpr

slot
trig
copy
move
delete
defrag
clear
load
save
delFile
delete
wave
params
blocksize
aux1
aux2
aux3
auxes

edits a bank of samples recorded with 'smplr'.
'slot' sets the slot to work on,
'copy','move' and 'delete' have to be triggered via 'trig'.
'defrag' will clear unused sample data and compact the referred table.
'clear' will clear the data.

brain_lpr_2

slot
trig
copy
move
pitchUp
pitchDown
delete
defrag
clear
load
save
delFile
delete
wave
params
blocksize
aux1
aux2
aux3
auxes

edits a bank of samples recorded with 'smplr'.
'slot' sets the slot to work on,
'copy','move' and 'delete' have to be triggered via 'trig'.
'defrag' will clear unused sample data and compact the referred table.
'clear' will clear the data.

brainlist

getDir
index
test
OUT1
out2
out3
trig
flist

load table from sdcard

demux_sh 2

in
s
o0
o1

demultiplexer with sample and hold.connect inlet in to outlet number s.
the output value of output number s will be held until the value of inlet in changes.
when s changes,the output value of the previous outlet number s will be held.

dir

getDir
index
delete
fn
test
out1
out2
out3
out4
trig
filter

load table from sdcard

dirlist

getDir
index
delete
test
OUT1
out2
out3
out4
trig
filter

load table from sdcard

fplay_s

pos
start
stop
outl
outr
end
fn

streaming playback of a stereo .wav file from sdcard (testing)

fsaveload

filename
load
offset
save
start
length
table
SDapi

(no description)

getdir_new

index
test
out
trig
filter
SDapi
directory

load table from sdcard

keyb zone poly II

clear
currentNote
currentGate
currentVelo
noteOn
noteOff
notecount
hold
startNote
endNote
noteshift

an approach to midi polyphony.a 'map' of currently active notes is stored in a table with the same name as the object that can be referenced from 'outside'.
currentNote,gate and velo correspond to the actual events,noteOn issues a pulse whenever a note-on occurs.
notecount puts out the number of notes curently on hold,hold is 1 if any keys are on hold.

ldrive interp

offset
range
startpoint
loopstart
speed
play
r2zero
r2start
wave
phase
count
spos
stotal
sloop
speed
table
speed

drives a phasor (saw-wave) for reading/writing data

ldrive multi NEW

offset
range
startpoint
loopstart
speed
play
r2zero
r2start
pos
count
spos
stotal
sloop
speed
table
speed

drives a phasor (saw-wave) for reading/writing data

ldrive multi test

offset
range
startpoint
loopstart
speed
play
reset
pos
count
kpos
kmul
kdiv
length
test
table
speed
mul
div

drives a phasor (saw-wave) for reading/writing data

ldrive new 3

offset
range
startpoint
loopstart
speed
r2zero
r2start
pos
count
spos
slength
table
speed

drives a phasor (saw-wave) for reading/writing data

ldrive nointerp

offset
range
startpoint
loopstart
direction
play
r2zero
r2start
wave
phase
count
spos
stotal
sloop
table
direction

drives a phasor (saw-wave) for reading/writing data

ldrive test2

offset
range
startpoint
loopstart
speed
play
r2zero
r2start
pos
count
spos
slength
table
speed

drives a phasor (saw-wave) for reading/writing data

ldrive_new full

offset
range
startpoint
loopstart
speed
1shot
play
r2offset
r2start
pos
count
spos
stotal
sloop
speed
play
table
speed
1shot

drives a phasor (saw-wave) for reading/writing data

ldrive_new light

offset
range
startpoint
speed
play
r2offset
r2start
pos
count
spos
stotal
speed
play
table
speed

drives a phasor (saw-wave) for reading/writing data

ldrive_new2

offset
range
startpoint
loopstart
speed
1shot
play
r2offset
r2start
pos
count
spos
stotal
sloop
speed
play
table
speed
1shot

drives a phasor (saw-wave) for reading/writing data

ldrive_smps

offset
range
direction
transpose
play
reset
smps
wave
direction

drives a phasor (saw-wave) for reading/writing data

ldub_NEW

pos
wave
overdub
feedback
attack
release
state
table
feedback
attack
hard
release
nofade

adds data to the content of a table,at inlet pos (in fraction of the table's size).feedback controls feedback amount.
set the length of the fade-out period with 'release',
the length of the fade-in of the recording with 'attack'.

led cell text NEW

text
redraw
mute
test
row
column
LEDmaster

(no description)

led cell text

text
mute
LED
row
column

(no description)

led cell value NEW

in
mute
LED
row
column
mode

(no description)

led cell value u

in
mute
LED
row
column

(no description)

led clear

clear
row
clearAll
LED

(no description)

led enc

row
v0
v1
v2
v3
v4
v5
v6
v7
mute
redraw

(no description)

led master NEW

thin

(no description)

led master sdram NEW

thin

(no description)

led master

thin

(no description)

led row new

redraw
row
mute
LEDmaster
row

(no description)

led row text

redraw
row
text0
text1
text2
text3
text4
text5
text6
text7
mute
test
LEDmaster
row

(no description)

led row v u

redraw
row
v0
v1
v2
v3
v4
v5
v6
v7
mute
LED

(no description)

led row value u

redraw
row
v0
v1
v2
v3
v4
v5
v6
v7
mute
LEDmaster
row

(no description)

led text attr NEW

redraw
row
mute
LEDmaster
row
cell0
cell1
cell2
cell3
cell4
cell5
cell6
cell7

(no description)

led text

trig
row
text0
text1
text2
text3
text4
text5
text6
text7

(no description)

led value ubf NEW

redraw
row
mute
v0
v1
v2
v3
v4
v5
v6
v7
LEDmaster
row
mode0
mode1
mode2
mode3
mode4
mode5
mode6
mode7

(no description)

loop control

mode
rec
toggle
phase
start_in
master_start
stop
start_out
play
r2offset
r2start
waiting

(no description)

loop synced phasor

count
slength
speed
smps
reset

(no description)

lphasor

spos
slength
phase

divides a playback position by a length and bit-shifts the result 6 times to the left,in order to drive a phasor

lrec multi fade_new

wave
phase
rec
slot
sync
offset
range
startpoint
smps
rec
state
table
slots
attack
hard
release
nofade

records audio to a table with nice fade-ins and -outs.
the table can be divided into 1,2,4 or 8 slots.
when 'sync' is enabled,recording will be synced to phase of the signal connected to 'pos',
and after 'rec' is zero,recording will continue until the starting point is reached.
after recording is done,the length if the recording in samples is sent out,
as well as the length of the recording (in fraction of the table's size).
meanwhile,the input signal is overdubbed and faded out ,so NO CLICKS!
set the length of the fade-out/overdub period with 'release',
the length of the fade-in of the recording with 'attack'.

lrec multi_new

wave
phase
rec
slot
sync
offset
range
startpoint
smps
rec
table
slots

records audio to a table.
the table can be divided into 1,2,4 or 8 slots.
when 'sync' is enabled,recording will be synced to phase of the signal connected to 'pos',
and after 'rec' is zero,recording will continue until the starting point is reached.
after recording is done,the length if the recording in samples is sent out,
as well as the length of the recording (in fraction of the table's size).

lrec_new2

wave
phase
rec
slot
sync
attack
release
offset
range
startpoint
smps
rec
state
remain
table
slots
attack
hard
release
nofade

records audio to a table with nice fade-ins and -outs.
the table can be divided into 1,2,4 or 8 slots.
when 'sync' is enabled,recording will be synced to phase of the signal connected to 'pos',
and after 'rec' is zero,recording will continue until the starting point is reached.
after recording is done,the length if the recording in samples is sent out,
as well as the length of the recording (in fraction of the table's size).
meanwhile,the input signal is overdubbed and faded out ,so NO CLICKS!
set the length of the fade-out/overdub period with 'release',
the length of the fade-in of the recording with 'attack'.

lsync new

wait
stop
pos
start
trig
wait

if 'wait' is high,'loop_sync' will wait until the signal at 'pos' reaches the value defined by 'start'.
then, a pulse is put out at outlet 'trig'.

lsync

wait
pos
start
trig

if 'wait' is high,'loop_sync' will wait until the signal at 'pos' reaches the value defined by 'start'.
then, a pulse is put out at outlet 'trig'.

math API

(no controls)

(no description)

math pow4

in
out
curve

(no description)

math scale

in
out
hi
lo

scales the input between 'high' and 'low'.

my new AXO sub

Lgreen
Lred
Mgreen
Mred
Rgreen
Rred
buttonL
buttonM
buttonR

(no description)

polyhandler III

clear
mute
note
trigger
currentNote
currentGate
currentVelo
noteOn
noteOff
notecount
hold
test
startNote
endNote
noteshift
playing
active
maxpoly
latch
blocksize
index
device
channel

an approach to midi polyphony.a 'map' of currently active notes is stored in a table with the same name as the object that can be referenced from 'outside'.
currentNote,gate and velo correspond to the actual events,noteOn issues a pulse whenever a note-on occurs.
notecount puts out the number of notes curently on hold,hold is 1 if any keys are on hold.

polyhandler

note
trigger
mute
note
velo
noteOn
noteOff
gate
busymap
startNote
endNote
channel
trigger
noteshift

(no description)

pp

(no controls)

(no description)

read interp fract

phase
offset
range
out
table

read from table, linear interpolated.'offset' and 'range' define the area inside the table to read from.

read_interp_smps

smps
wave
wave

read from table, linear interpolated

readir_3

getDir
index
delete
test
OUT1
out2
out3
out4
trig
filter

load table from sdcard

scale uni

in
offset
scale
out
offset
scale

Offset and scale a signal, k-rate, out = offset + (in * scale)

sh 16 _inter

in
out
b0
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11
b12
b13
b14
b15

cheapo waveshaper.based on 'table/read/interp'.
works as wavetable-oscillator as well.

sh

in
out
b0
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11
b12
b13
b14
b15

cheapo waveshaper.based on 'table/read/interp'.
works as wavetable-oscillator as well.

shaper 16 sin

in
out
b0
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11
b12
b13
b14
b15

cheapo waveshaper.based on 'table/read/interp'.
works as wavetable-oscillator as well.

shaper interp

table
b0
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11
b12
b13
b14
b15

set 16 elements of a table to the value of the sliders,starting from 'offset'

sl new

filename
load
offset
save
start
length
table

(no description)

smplr save

filename
load
save
smplr
directory

(no description)

splay_interp

offset
range
direction
transpose
play
reset
wave
wave

drives a phasor (saw-wave) for reading/writing data

sstation saveload

save
load
fn1
fn2
fn3
fn4
fn5
fn6
done
test
smplr

save and load table to sdcard

tablestore

v0
v1
v2
v3
offset
v0
v1
v2
v3
table

writes and outputs 4 values to a table.

tload

filename
trig
start
length
slot
wave
data

load table from sdcard

tsave

filename
trig
start
length
test
wave

save table to sdcard

tsave2

filename
trig
start
length
test
wave

save table to sdcard

tsaveload 6

save
load
fn1
fn2
fn3
fn4
fn5
fn6
done
test
count
t1
t2
t3
t4
t5
t6

save and load table to sdcard

tsaveload

save
load
done
test
count
t1
fn1
t2
fn2
t3
fn3
t4
fn4
t5
fn5
t6
fn6

save and load table to sdcard

tserial 6

save
load
filename
test
table

save and load table to sdcard

tserial

save
load
filename
test
table

save and load table to sdcard

ricard/disp

lcdctrl

d4
d5
d6
d7
rs
e
qsize

external lcd control

lcdprint

printstring
trig
lcdctrl

print string on trigger

ricard/gpio/in

165ctrl v

data
clock
latch
inh
bits
rate

external digital input pin control
v version: variable rate control

165in

out
port
bit

external digital output pin control

digital_ext

out
pad
mode

Reads a digital input pin. 3.3V logic maximum, extended port range!

ricard/gpio/out

595ctrl

data
clock
latch
oe
bits

external digital output pin control

595out

in
port
bit

external digital output pin control

ricard/logic

bitval 9

b0
b1
b2
b3
b4
b5
b6
b7
b8
value

Output an integer corresponding to the input bits set, 9 bit input

qdecode

a
b
up
down
step
ctrl

quadrature encoder decoder

qdecodectrl

rate
debounce
factor
thresh

(no description)

ricard/osc

EPTRAsymTri

pitch
symm
wave
pitch

Low CPU Anti Aliased Asymmetric Triangle using second order EPTR algoroithm (one correction point per transition).

EPTRSaw

pitch
saw
pitch

Low CPU Anti Aliased Sawtooth using second order EPTR algoroithm (one correction point).

EPTRTri

pitch
tri
pitch

Low CPU Anti Aliased Triangle using second order EPTR algoroithm (one correction point per transition).

PTRPulse

pitch
pw
pulse
pitch
pw

Low CPU Anti Aliased Pulse Wave oscillator using third order Polynomial Transition Region algoiritm.

PTRSaw

pitch
saw
pitch

Low CPU Anti Aliased Sawtooth using third order Polynomial Transition Region algoiritm.

skran/data

tablereadud

offset
v0
v1
v2
v3
v4
v5
v6
v7
v8
v9
v10
table
offset

read 8 values from a table,starting from 'offset'

tablewriteud

v0
v1
v2
v3
v4
v5
v6
v7
v8
v9
v10
write
offset
table
offset
write

if 'write' is ON,writes 8 values to a table,starting from 'offset'

skran/logc

or 8

i1
i2
i3
i4
i5
i6
i7
i8
o

logic OR with 8 inputs

skran/logic

or 8

i1
i2
i3
i4
i5
i6
i7
i8
o

logic OR with 4 inputs

skran/math

+ 8

in1
in2
in3
in4
in5
in6
in7
in8
out

add

skran/mixctrl

mutesolo

mute
solo
xsolo1
xsolo2
xsolo3
xsolo4
xsolo5
xsolo6
xsolo7
xsolo8
o

8 channel mute/solo control

sptnk/beta

euclid live

in
default
length
notes
chain
out

Euclidean rhythm generator. Chainable. Notes specifics the number of active steps, length the number of steps of the sequence. Inlet in specifics what step to read, like sel i 16/32 or disp/ibar . If outside the range the default inlet will be outputted (like said objects).
Dynamic algorithm, 10% dsp load worst case with 63 notes and 64 rests.

sptnk/conv

ftom

f
m

(no description)

sptnk/detect

0x k f

in
smp
trig
f

Detects the number of samples between zero crossings, and when a zero crossing occurs trig outputs a pulse. Frequency output in axoloti frequency format.

0x k

in
smp
trig

Detects the number of samples between zero crossings, and when a zero crossing occurs trig outputs a pulse.

0x s f

in
smp
f
trig

Detects the number of samples between zero crossings and calculates the frequency in axoloti format.

0x s

in
smp
trig

Detects the number of samples between zero crossings.

period mono f

in
smp
f
trig
max
min
tol

Detects (or at least it tries) the period (number of samples) of the input, based on zero crossings and mean value. Frequency is outputted in axoloti format

period mono

in
smp
trig
max
min
tol

Detects (or at least it tries) the period (number of samples) of the input, based on zero crossings and mean value.

sptnk/disp

freq

freq
Hz

Displays the frequency (in Hz) of a mtof value

sptnk/edrum

kick drum

t
pitch
out
decay
pitchdecay
pitchenvamt
basepitch
click

Consistent kick drum object

sptnk/effect

bitcrusher s m

a
nmod
b
bits

quantize to n bits

fold 1

in
m
chain
feed
out
chain
m
chain
feed

Polynomial waveshaper with mild wavefolding happening. Useful for dank memes

fold 2

in
m
chain
feed
out
chain
m
chain
feed

Wavefolding wavefolder waveshaper distortion based on polynomial waveshaping, with some attempts to make it mildly antialiased by integration. Sounds like sinefolding, but danker.

hard 1

in
out
amt

Antialiased (more or less) hard clipping saturation + crossover distortion, based on the function sgn(x)*(ax^2)*(ax^2+3)/(ax^2+1)^2

hard 2

in
out
gain

Pseudo-tanh (hyperbolic tangent) waveshaper distortion. It can go from soft to hard clipping. Powerful enough signals can leak over. Antialiased.

noise gate

in
out
Treshold
envelope
envelope

(no description)

sample and hold

in
freq
scaling
out
freq
scaling

Sample and hold module. Frequency adjust hold time (the higher the frequency, the finer the grain), while scaling routes the current sample amplitude to the hold time (unusual for a bitcrusher, but might add some character).
Linear frequency scaling. The object is based on Johannes dist/samplehold cheap and osc/sine lin

sat ur hate 2

in
shape
feed
pitch
out
filter
shape
feed
tame
filter type
pitch

Antialiased polynomial waveshaper distortion. y = Kx -(1-K)x^3 . Code is hackable.

sat ur hate

in
out
feed
filter
postfilter
highpass

A saturator distortion based on dist/soft and filter/lp1 - hp1 by Johannes Taelman.
A soft saturator is cascaded with a filter (lowpass or highpass).
You can feed the output of the filter back into the input with the feed knob and change the filter cutoff with the filter knob.
postfilter allows you to pick up the sound after filtering; highpass changes the filter from lowpass to highpass.

waveshaper 16p coefs sliders

coefs
b0
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11
b12
b13
b14
b15

Coefficient generator for waveshaper 16p object

waveshaper 16p f

in
coefs
feed
pitch
chain
out
chain
feed
pitch
chain

Wavetable type waveshaper distortion. Uses pre integration as an attempt to reduce antialiasing. Every waveshaper input is lowpassed (6db)

waveshaper 16p scope

coefs
wave

Waveshape visualizer for waveshaper 16p objects

waveshaper 16p

in
coefs
feed
out
chain
feed

Wavetable type waveshaper distortion. Uses pre integration as an attempt to reduce antialiasing.

sptnk/filter

morph

in
pitch
reso
mode
out
pitch
reso
mode

2-pole resonant morphing filter (biquad). You can morph between lowpass, bandpass and highpass.

vowel

Audio In
Formant Mod (+/-)
Output
Formant
Filter 1
Filter 2
Filter 3
Formant Mix
Formant Mix
Formant Mix
Master gain

(no description)

sptnk/logic

comparator Doepfer A167

in1
in2
out
inv
sum
Gain1
Gain2
Offset
Hysteresis
cmp

Doepfer A167 like comparator.

Compares two inlets after scaling + offsetting them (remember to set gain 1 and gain 2 to some number, otherwise you'll get no output!

outlet 1 outputs a bool signal if signal 1>signal 2 (+all subsequent offsetting and hysteresing)
Outlet 2 is the inverted of outlet 1

encode 16

b0
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11
b12
b13
b14
b15
sign
out

binary encoder (16 bit plus sign bit)

encode 4

b0
b1
b2
b3
sign
out

binary encoder (4 bit plus sign)

encode 8

b0
b1
b2
b3
b4
b5
b6
b7
sign
out

binary encoder (8 bit plus sign) i0

shift register 2d

in
x
y
left
right
up
down
reset
default
out
reg

A 2D shift register. Can be used for cartesian sequencers.

shift register

in
lshift
rshift
reset
default
out
msb
lsb

Shift register. It can do SISO and SIPO. Also, it is possible to reset to a default register

sptnk/looper

length bpm

length
quarters
table
quarters
bpm
fine
length
warning

This object provides a length for the looper/pos object. Allows to use the looper in a kaoss pad / kaossilator fashion.

play

pos
o1
o2
o3
o4
table

Read from 4x8bit table (32bit)

pos m

play
hold
length
num
den
mulstart
pos
startpos
endpos
table
num
den
mulstart

Phase generator for the loop recorder object. Essential to avoid horrible noises.
Modulation inlets for num, den and mulstart parameters (override)

pos speed m

play
hold
length
num
den
mulstart
speed
pos
startpos
endpos
table
num
den
mulstart
speed

Phase generator for the loop recorder object. Essential to avoid horrible noises.
Mod inlets for num, den and mulstart params (override). Speed multiplier

pos

play
hold
length
pos
startpos
endpos
table
num
den
mulstart

Phase generator for the loop recorder object. Essential to avoid horrible noises.

pos2phase

pos
startpos
endpos
percent

Converts a position input to a phase (percent) output. Useful for visual indication of the loop position.

pos2ppq

pos
length
quarters
startpos
pos4ppq
pos24ppq

Converts a position input to a ppq output. Useful for syncing to other objects.
The 24ppq signal automatically resets when position goes back to 0 (so it won't go infinite)

protect

i1
i2
i3
i4
protect
d1
d2
d3
d4

Protect number generator for the protect input in the table record object.

record speed

w1
w2
w3
w4
pos
protect
mode
startpos
endpos
table

Record 4 tracks of audio into a 32bit table.
Each track occupies 8bit in size.
This implementation allows stretched playback.

record

w1
w2
w3
w4
pos
protect
mode
table

Record 4 tracks of audio into a 32bit table.
Each track occupies 8bit in size.

sptnk/math

2d mapper mod

x
y
a
b
c
z
function
a
b
c
sat

A 2-variable scalar function, with several algorithms. Output is z = f(x,y). Q27 format is used for powers, while sine functions are mapped from 0 to 2^27
Interpolated mod inputs

2d mapper

x
y
z
function
a
b
c
sat

A 2-variable scalar function, with several algorithms. Output is z = f(x,y). Q27 format is used for powers, while sine functions are mapped from 0 to 2^27

cartesian2polar k

x
y
phase
modulus

Converts a pair of cartesian coordinates into polar, K-rate
Angles are mapped from 0,360 to 0,64.
The arctan function is an approximation taken from http://www.embedded.com/design/other/4216719/Performing-efficient-arctangent-approximation , with a slightly modified coefficient.

cartesian2polar s

x
y
phase
modulus

Converts a pair of cartesian coordinates into polar, S-rate
Angles are mapped from 0,360 to 0,64.
The arctan function is an approximation taken from http://www.embedded.com/design/other/4216719/Performing-efficient-arctangent-approximation , with a slightly modified coefficient.

combinator s

i1
i2
o
shift1
shift2
operation
shift3

Combine two signals (after bitshifting them) with bitwise operations (and, or, xor) plus final bitshifting

combinator

i1
i2
o
shift1
shift2
operation
shift3

Combine two signals (after bitshifting them) with bitwise operations (and, or, xor) plus final bitshifting

cylindrical2cartesian k

phase
radius
z
x
y
z

Converts a set of cylindrical coordinates into cartesian.

cylindrical2cartesian s

phase
radius
z
x
y
z

Converts a set of cylindrical coordinates into cartesian. S-rate

grid k

pitch
rows
cols
x
y
pitch
rows
cols
bipolar

Generates a 2d grid, for further lissajous applications. K-rate .

grid

pitch
rows
cols
x
y
pitch
rows
cols
bipolar

Generates a 2d grid, for further lissajous applications.

knee 2

in
x1
y1
x2
y2
out
x1
y1
x2
y2

3-piece polygonal curve, in the shape of a double knee

knee h k

in
mod
out
amp

Continuous slope with two angular coefficients (knee shape). Knob determines the horizontal position of the knee. Mod input allows to edit the position live. K-rate

knee h s

in
mod
out
amp

Continuous slope with two angular coefficients (knee shape). Knob determines the horizontal position of the knee. Mod input allows to edit the position live. S-rate

knee k

in
mod
out
amp

Continuous slope with two angular coefficients (knee shape). Knob determines the height of the knee. Mod input allows to edit the knee live. K-rate

knee s

in
mod
out
amp

Continuous slope with two angular coefficients (knee shape). Knob determines the height of the knee. Mod input allows to edit the knee live. S-rate

knee

in
y0
x0
m
out
y0
x0
m
pos

Knee shape.

math shaper

in
z0
z1
z2
z3
p0
p1
p2
p3
out
zeros
poles
z0
z1
z2
z3
p0
p1
p2
p3

A waveshaper object based on the division of two 4th-order polynomials, real radices only.

polar2cartesian k

phase
radius
x
y

Converts a pair of polar coordinates into cartesian.

polar2cartesian s

phase
radius
x
y

Converts a pair of polar coordinates into cartesian. S-rate.

projection s

x
y
z
scale
eye
Px
Py
plane
scale
eye

Projects a 3D coordinate in a 2D system. Plane attribute allows to select which coordinate to project (the remaining coordinate corresponds to the eye coordinate). S-rate
Scale and eye are interpolated.

projection

x
y
z
scale
eye
Px
Py
plane
scale
eye

Projects a 3D coordinate in a 2D system. Plane attribute allows to select which coordinate to project (the remaining coordinate corresponds to the eye coordinate).

rectangular window k m

in
cmod
wmod
out
inv
center
width

Rectangular window, with variable center and width. Mod inputs

rectangular window k

in
out
inv
center
width

Rectangular window, with variable center and width

rectangular window s fm

in
cmod
wmod
out
inv
center
width

Rectangular window, with variable center and width. S-rate mod inputs

rectangular window s m

in
cmod
wmod
out
inv
center
width

Rectangular window, with variable center and width. K-rate mod inputs

rectangular window s

in
out
inv
center
width

Rectangular window, with variable center and width.

rot 2d k

x
y
theta
x
y
theta

Rotates a 2D coordinate by an angle theta.

rot 2d

x
y
theta
x
y
theta

Rotates a 2d coordinate by an angle theta.

rot 3d k

x
y
z
theta
x
y
z
axis
theta

Rotates a 3d coordinate by an angle theta.

rot 3d

x
y
z
theta
x
y
z
axis
theta

Rotates a 3d coordinate by an angle theta.

sine dist window

in
out
size

Adjustable distorted sine window.

sine window

in
out
size

Adjustable sine-shaped window. Pretty heavyweight

spherical2cartesian s

radius
theta
phi
x
y
z

Converts a set of spherical coordinates into cartesian. S-rate

spherical2cartesian

radius
theta
phi
x
y
z

Converts a set of spherical coordinates into cartesian.

trapezoidal window

in
out
size

Trapezoidal window

sptnk/misc

jazz r

mode
alteration
offset
I
II
III
IV
V
VI
VII

Generates the seven notes of a scale. You can select the mode between the 4 modes of the diatonic scale and the alteration of the scale. Relative values

jazz

root
mode
alteration
offset
I
II
III
IV
V
VI
VII

Generates the seven notes of a scale based on a root pitch. You can select the mode between the 4 modes of the diatonic scale and the alteration of the scale.

scale

root
I
II
III
IV
V
VI
VII
mode

Generates the 7 notes of the selected scale relative to a root pitch

sptnk/osc

4op FM

pitch
env1
env2
env3
env4
matrix4
out
matrix4
pitch
op1p
op2p
op3p
op4p
op1mix
op2mix
op3mix
op4mix
mode

4 operator FM/PM synthesizer, with freely configurable modulation path. See help file.

Tags: fm pm synthesizer matrix 4 operator

lissajous

pitch
freq
x
y
radius
xmul
ymul
x
y
pitch
x
y
radius
xmul
ymul
phase

Lissajous oscillator: generates a pair of x/y coordinates based on sinusoidal signals.

mandelbrot

pitch
Re
Im
Re
Im
iterations
re
im
pitch
limit
3oct
autoadjust
interp

Oscillator based on the Mandelbrot fractal iteration (z' = z^2 + c), where z is the variable of iteration (meaning that the output of each iteration is the input of the next one) and c a user defined complex number (in the form Re + Im*i)

This object does not model faithfully the actual function, which has an extreme dynamic range, but it tries to "tame the beast" and make it somewhat usable for sound generation. Neither the parameters map exactly 1 to 1 the points of the complex plane, they're scaled differently.

Parameter list:
re : the real part of the complex number
im : the imaginary part ' ' ' ' ' ' ' '

pitch : the pitch of the oscillator. Notice that in some zones of the complex plane the function iterates at multiples of the pitch. Use autoadjust to overcome this problem

limit : the size of the bailout window. Basically, any iteration that escapes from this window will reset the oscillator to 0. This parameter also adjusts the output gain of the osc. If a complex number does not produce any sound you might try lowering this number

3oct : pitch the oscillator down 3 octaves (might be useful)

autoadjust : try to pitch the oscillator correctly (this won't work properly if the current iteration does not diverge.

interp: interpolate between values.

multi

pitch
shape
soften
out
pitch
shape
soften

Morphing saw - square - sine oscillator, low cpu load, low aliasing

sine sync cheap

master
slave
reset
o1
o2
master
slave

Dual sine oscillator. Slave osc (o2) is hardsynced to master osc (o1). Both oscillators can be phase-reset

sine sync

master
slave
reset
o1
o2
master
slave

Dual sine oscillator. Slave osc (o2) is hardsynced to master osc (o1). Both oscillators can be phase-reset. Bandlimited (blep)

vosim FM

Pitch CV
FM mod
Folds Mod
Out
Formant osc
FM osc
FM amount
Folds
Window type

(no description)

vosim

Pitch CV
Folds Mod
Out
Formant osc
Folds
Window type

(no description)

sptnk/sel

matrix row 4

i
default
chain
o
v1
v2
v3
v4

selectable constant. Output is v1 if i=0, v2 if i=1, v3 if i=2, v4 if i=3. Chainable, created to be used in conjunction with 4op fm object

sptnk/sequencer

24ppq to bpm

24ppq
bpm
mill
1000bpm

This object can be used to detect the bpm speed of a midi clock signal expressed in 24ppq.
Outlets:
-bpm - outputs the integer part of the bpm
-mill - outputs the fractional part of the bpm
-1000bpm - outputs bpm*100

24ppq to phase 64

24ppq
pos64q

This object generates a phase signal that goes from 0 to 64 in 64 beats (16 bars) when fed with a 24ppq signal.

24ppq to pos

24ppq
4th
16th
8thT
24ppqrem
length
cue

Converts a 24ppq counter signal into different subdivisions: quarters, sixteenths and triplet eights.
Length parameter can be used to set the length (in quarters) before resetting the counter (works exactly like divremc.
Cue parameter offsets the incoming signal by a constant number of ppqs.
24ppqrem outputs the cued and divided 24ppq signal.

inlet -> +cue -> divremc -> 24ppqrem -> other outputs

24ppq2click

24ppq
o

Metronome object.
Provides a click when connected to 24ppq input.

chorder adv

pitch
sel
enable
p1
t1
p2
t2
p3
t3
p4
t4
p5
t5
p6
t6
p7
t7
p8
t8
shift1
chord1
shift2
chord2
shift3
chord3
shift4
chord4
shift5
chord5
shift6
chord6
shift7
chord7
shift8
chord8

Stores 8 chords in memory. Maximum chord size: 8 notes (lower notes have higher priority).

Inlets:
pitch -> the base pitch on which the selected chord is constructed
sel -> chord selector (input must go from 0 to 7, otherwise nothing will be outputted.
enable -> acts like a master note on. If not enabled all output triggers are set to 0. If enabled, the triggers corresponding to active notes will output 1.

Outlets:
p1, p2, .. p8 -> output the pitch cv for the corresponding note. Only active notes will be changed, the others will remain to the previous state.
t1, t2, .. t8 -> output the trigger value for the corresponding note. If the note is active output=1, if inactive output=0

Parameters:

chord1, chord2, .... chord8 -> allow to edit individual notes per chord and chord parameters:
[1][2][3][4][5][6][7][8][9][10][11][12] correspond to semitones. If, for example you want to build a major chord on the root note, you'll have to check 1,4 and 7. If you want to build a sus2 chord 1,3 and 7. You can figure out the rest.
[13] shifts active odd outlets (1, 3, 5, 7) up by one octave
[14] shifts active even outlets (1, 3, 5, 7) up by one octave
[15] shifts odd notes (1, 3, 5, 7, 9, 11) up by one octave
[16] shifts even notes (2, 4, 6, 8, 10, 12) up by one octave

chorder

pitch
sel
enable
p1
t1
p2
t2
p3
t3
p4
t4
p5
t5
p6
t6
p7
t7
p8
t8
chord1
chord2
chord3
chord4
chord5
chord6
chord7
chord8

Stores 8 chords in memory. Maximum chord size: 8 notes (lower notes have higher priority).

Inlets:
pitch -> the base pitch on which the selected chord is constructed
sel -> chord selector (input must go from 0 to 7, otherwise nothing will be outputted.
enable -> acts like a master note on. If not enabled all output triggers are set to 0. If enabled, the triggers corresponding to active notes will output 1.

Outlets:
p1, p2, .. p8 -> output the pitch cv for the corresponding note. Only active notes will be changed, the others will remain to the previous state.
t1, t2, .. t8 -> output the trigger value for the corresponding note. If the note is active output=1, if inactive output=0

Parameters:

chord1, chord2, .... chord8 -> allow to edit individual notes per chord and chord parameters:
[1][2][3][4][5][6][7][8][9][10][11][12] correspond to semitones. If, for example you want to build a major chord on the root note, you'll have to check 1,4 and 7. If you want to build a sus2 chord 1,3 and 7. You can figure out the rest.
[13] shifts active odd outlets (1, 3, 5, 7) up by one octave
[14] shifts active even outlets (1, 3, 5, 7) up by one octave
[15] shifts odd notes (1, 3, 5, 7, 9, 11) up by one octave
[16] shifts even notes (2, 4, 6, 8, 10, 12) up by one octave

clock out dual

run
rst
active
pos4ppq
pos24ppq
device
secondary
bpm
secondary

Midi clock master, also outputs Midi clock, start, stop, and continue messages on two separate Midi devices.
The secondary device can be switched on or off (when off, the behavior is identical to the midi/out/clock by Johannes.

Based on midi/out/clock by Johannes Taelman.

euclid length out

in
default
chain
out
enc
notes
length

Euclidean rhythm generator. Chainable. Notes specifics the number of active steps, length the number of steps of the sequence (maximum sequence length=31). Inlet in specifics what step to read, like sel i 16/32 or disp/ibar . If outside the range the default inlet will be outputted (like said objects).
Dynamic algorithm, therefore variable dsp load with different configurations. Additional outlet outputs an integer represention of the current sequence: you can decode the number with multiple logic/decode bin 8 chained

euclid length

in
default
chain
out
notes
length

Euclidean rhythm generator. Chainable. Notes specifics the number of active steps, length the number of steps of the sequence. Inlet in specifics what step to read, like sel i 16/32 or disp/ibar . If outside the range the default inlet will be outputted (like said objects).
Dynamic algorithm, 10% dsp load worst case with 63 notes and 64 rests.

euclid

in
default
chain
out
notes
rests

Euclidean rhythm generator. Chainable. Notes specifics the number of active steps, rests the number of rests. Inlet in specifics what step to read, like sel i 16/32 or disp/ibar . If outside the range the default inlet will be outputted (like said objects).
Dynamic algorithm, 10% dsp load worst case with 63 notes and 64 rests.

fibonacci a*b

i1
i2
trig
r
o

A variation on the Fibonacci sequencer. Every time trig is activated, the sequencer goes one cycle forward. At every cycle the output is calculated with the formula o=i1*i2, where i2 is the first preceding output, and i1 is the second preceding output. At reset i1=1 , i2=2 unless i1 and i2 are connected.

fibonacci

i1
i2
trig
r
o

Fibonacci sequencer. Every time trig is activated, the sequencer goes one cycle forward. At every cycle the output is calculated with the formula o=i1+i2, where i2 is the first preceding output, and i1 is the second preceding output. At reset i1=0 , i2=1 unless i1 and i2 are connected.

maestro

24ppq
pitch
velocity
cue
length
strongDiv
mediumDiv
weakDiv
mediumBypass
weakBypass
oddBypass
strongStart
activeNotes
gateMode
rootNote
scale
alteration
seed
algorithm
octaves
harmony
usesHarmony

First instance of a melody generator, based on euclidean rhytms.
This object requires a Ph.D in aerospace engineering for basic operation.

Input: 24ppq (connect to some 24ppq counter signal)
Output: pitch and velocity.
3 levels of velocity are outputted, corresponding to the 3 accent levels (strong, medium and weak).

Parameter list::::
Cue: adds a constant number to the 24ppq signal before processing it, useful to fine-sync the object.
length: sets the length in quarters of the melody
strongDiv, mediumDiv, weakDiv: set the denominators for the velocity subdivisions
mediumBypass, weakBypass: bypass medium and weak beats (in case you don't need velocities)
oddBypass: skip all the odd beats during the euclidean subdivision.
strongStart: use in conjunction with oddBypass to force the first beat to be strong velocity
activenotes: set the number of notes for the melody (this will also change the rhythm, since it operates on the euclidean subdivision.
gateMode: sets the length of notes
rootNote: pretty straightworward
scale: select a scale between the modes of the diatonic scale
alteration: change some notes in the scale (see parameter)
seed: parameter for melody algorithms
algorithm: select an algorithm between a list
octaves: number of octaves excursion for the melody
harmony: in some algorithms you can decide to use particular harmonizations (triads, quartal, fifths, sixths and stuff like that). Algos that use this parameter are indicated by the usesHarmony led

This last part will be improved over time. You can write your own algorithm, just put it in local data in the calculatepitch function.

mandelbrot

Im
Re
trig
reset
Im
Re
Im
Re
power

Mandelbrot based iterator: generates a sequence of numbers iterating the fundamental mandelbrot equation z' = z^n +c , where z is the "old" number, n is an integer (>1) and c is a complex constant.

pseudo factorial

i0
a
trig
r
o

Pseudo factorial sequencer. Every time trig is activated, the sequencer goes one cycle forward. At every cycle the output is calculated with the formula o=i*(i+a+1), where i is the preceding output. At reset i=1 unless i0 is connected.

sequencer16

Clock In
Reset
Backwards
Value 1
Value 2
Value 3
Value 4
Value 5
Value 6
Value 7
Value 8
Value 9
Value 10
Value 11
Value 12
Value 13
Value 14
Value 15
Value 16
Current Step
CV out
Trigger out
Gate out
Restart
Manual step select
Latch to trigger
Backwards reset mode
Manual step
Trigger sequencer
Gate sequencer
Sequence length

(no description)

sptnk/split

split 2 overlap

in
o1
o2
cutoff
overlap

Split the incoming signal in two, based on the amplitude, with hard overlap.

split 2

in
o1
o2
cutoff

Split the incoming signal in two, based on the amplitude.

split 3 overlap

in
o1
o2
o3
cutoff1
cutoff2
overlap

Split the incoming signal in three, based on the amplitude, with hard overlap.

split 3

in
o1
o2
o3
cutoff1
cutoff2

Split the incoming signal in three, based on the amplitude.

split 4 symm

in
o1
o2
o3
o4
cutoff

Split the incoming signal in three, based on the amplitude.

sptnk/table

arcsin_t

size

allocate 16bit table with arcsin shape in SDRAM memory, -128.00 .. 127.99

arcsinh_t

size
value

allocate 16bit table with hyperbolic arcsine shape in SDRAM memory, -128.00 .. 127.99

arctan_t

size
value

allocate 16bit table with arctan shape in SDRAM memory, -128.00 .. 127.99

crossover_c_t

size
value

allocate 16bit table with cubic crossover shape in SDRAM memory, -128.00 .. 127.99

crossover_hard_t

size
value

allocate 16bit table with hard crossover shape in SDRAM memory, -128.00 .. 127.99

crossover_p_t

size
value

allocate 16bit table with parabolic crossover shape in SDRAM memory, -128.00 .. 127.99

granular player 1

attack
decay
density
playback
pos
reset
o
alloc
table
grains
attack
decay
density
playback
pos
gainreduction

Very basic (and inefficient and cheap) granular player. Dynamic DSP load (increases with attack, decay and density parameters)
Reads a table specified in attribute table with a fixed maximum number of grains.

Use green outlet for debug.

granular player 2 stereo

attack
decay
density
playback
pos
reset
l
r
alloc
table
grains
attack
decay
density
playback
pos
gainreduction

Granular sample player, second version. This one is slightly resource cheaper and allows for a denser grain distribution. Playback scaling is different from granular player 1 (see parameter info) and the maximum grain number is now 64

granular player 2

attack
decay
density
playback
pos
reset
o
alloc
table
grains
attack
decay
density
playback
pos
gainreduction

Granular sample player, second version. This one is slightly resource cheaper and allows for a denser grain distribution. Playback scaling is different from granular player 1 (see parameter info) and the maximum grain number is now 64

granular player 4 stereo

hold
density
playback
pos
reset
l
r
alloc
table
grains
hold
density
playback
pos
gainreduction

cheap granular player, with rectangular envelope for grains (hold parameter instead of attack and decay)

granular player 4

hold
density
playback
pos
reset
o
alloc
table
grains
hold
density
playback
pos
gainreduction

granular player, cheaper version. rectangular window with only hold parameter instead of attack and decay

read lissajous

pitch
fm
phase
gain
offset
x
y
tmul
xmul
ymul
x
y
table
pitch
phase
gain
offset
x
y
tmul
xmul
ymul

Reads a table and "wraps it around a circle". Basically it draws the table content along a circular path. Can be useful for some lissajous experiments.

slicer i

sel
trig
defphase
defpos
start
len
speed
reverse
sel
trig
phase
pos
size

Sample slicer.
This object is to be used in conjunction with table/read and such objects.
It produces two ramp signals (phase can be fed inside a window object, pos can go into a conv/interp and then into table/read interp to enable playback), and is easily chainable.
The object is programmed to play the sample at the correct speed, based on the sized of the sample (hence the size menu).
You can specify the start position and the (relative) length of the slice.
Speed allows to tune the sample playback speed (not chromatically, unfortunately), reverse enables reversed playback.
In case you want to chain several object, you can select the sample to play by feeding an integer (0, 1, 2 ...) inside sel inlet.

slicer

sel
trig
defphase
defpos
sel
trig
phase
pos
size
start
len
speed
reverse

Sample slicer.
This object is to be used in conjunction with table/read and such objects.
It produces two ramp signals (phase can be fed inside a window object, pos can go into a conv/interp and then into table/read interp to enable playback), and is easily chainable.
The object is programmed to play the sample at the correct speed, based on the sized of the sample (hence the size menu).
You can specify the start position and the (relative) length of the slice.
Speed allows to tune the sample playback speed (not chromatically, unfortunately), reverse enables reversed playback.
In case you want to chain several object, you can select the sample to play by feeding an integer (0, 1, 2 ...) inside sel inlet.

sss

2Dtablemorph

pitch
mix1
mix2
FM
sync
out
divide1
divide2
table
pitch
FMW
waveform
mix1
quant1
start1
step1
mix2
quant2
start2
step2

2D wavetable morph oscillator.
This oscillator uses the waveformGenerator module for generating it's waveforms.
With the mix-inputs/knobs, you morph through the different waveforms.
-quant sets the amount of waveforms that will be morphed through when mix goes from minimum to maximum.
-start sets the start-position in the table when mix is at zero
-step sets the step-size through the table, skipping in-between waveforms (wrapping back to 0 when above maximum available waveforms)

For easy use, use my qtsLFO4 for controlling the mix. Connect the divide-output to the D-input (divide) of the qtsLFO4.
When using saw/ramp, set it to bipolar, as the input is wrapped up/back down again when the input is below 0 or above 64 (turning it into a triangle-shape)

nestAS1

size
size
delayname
scatter
size
mode

modulatable nested scatter/allpass function for delaylines.
Can be used with the factory delayline module to add diffusion to a delay

sss/audio

StOutShelved

left
right
volume
mid
shelf
feed
vuLeft
vuRight

Audio output, stereo
has inbuild volume control and filter-shelving to adjust the spectral slope
The filter can easily go into self-oscillation when the high shelf is accentuated.

StOutVol

left
right
volume
vuLeft
vuRight

Audio output, stereo
has inbuild volume control

sss/conv

16Kto1A

i1
i2
i3
i4
i5
i6
i7
i8
i9
i10
i11
i12
i13
i14
i15
i16
out

convert 16 control rate inputs into 1 audio rate output

1Ato16K

in
o1
o2
o3
o4
o5
o6
o7
o8
o9
o10
o11
o12
o13
o14
o15
o16

convert 1 audio rate input into 16 control rate outputs

audio2pitch

audio
pitch
khz
samples
base

description

audio2pitchfreq

in
pitch
frqAvg
freq
damp
avg

audio-rate pitch detector module with "average" function for krate signals.

"damp" dampens the input signal to remove higher harmonics from interfering with the detection.
"avg" sets the "averager" length->records all zero-crossings into an array and takes the average to send to both pitch and frqAvg outputs.

fDtct

in
pitch
tresh

fast frequency detector

freq2pitch

freq
pitch
lfo

(no description)

interp8

i1
i2
i3
i4
i5
i6
i7
i8
o1
o2
o3
o4
o5
o6
o7
o8

8 channels linear interpolation from k- to s-rate

pDtct

in
damp
pitch
out
tresh
size
damp

fast pitch detector

pitch2khz

pitch
khz

pitch2khz

sss/ctrl

16ctrlMem

read
write
v
sel
trig
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
table
sel

16 output modulation recorder

2BitTo5Stp

o
b1
b2
d1
d2

2bit selector
Order of inputting the bits sets whether last step is 3 or 4 (when b2 is already on and b1 is added, it goes to 4, otherwise it goes to 3)

bipInt

out
value

positive integer control

buttonFunctions

button
short1
short2
short3
short4
long
verylong
count
clicks
update
loopupdate
time

Multifunction momentary button to toggled boolean.

4 "short" outputs: depending on how many times you click the button within the specified time, will it switch one of the "short" outputs, unless the button is held for longer then the "time" setting.

"long" output toggles when button has been pressed longer then the "time" setting EXCEPT if it's held longer then twice the "time" setting.

"verylong" output toggles when button has been pressed longer then twice the "time" setting.

"count" outputs the krate counter, so you can better see the timing-setting that you need. The count only gets reset if the button is pressed while the counter is at max.

"clicks" outputs the amount of times the button has been pressed before count reaches the "time" value.

"update" sends a trigger out when the counter reaches it's max while the button is released. This is the same moment the short and long outputs are updated.

"loopupdate" send a trigger out when the counter restarts (as long as you hold the button down, the counter will loop and this will thus create repeating triggers each time the counter is at zero.)

cfgKnob

out
config
value

positive constant value dial

cfgKnobF

out
config
value

positive constant value dial

cfgKnobI

out
config
value

positive constant value dial

distributor

1
2
3
4
amt
x
y12
y34

quad voltage distributor
The "amount" can be distributed over an x-axis and y-axis, while the y-axis can have it's own distribution-scaling for the x-axis for low-Y and high-Y.

fineknob

out
frac
int
mem
int
frac

integer and fractional knobs, wrapping when either boundary is reached

use DRJ's preset manager to save presets (or save all three knobs one by one manually...).

intMidi

value
list
value

Integer control capable of midiCC control
enter the midiCC (0-127), midiChannel(1-16) and maximum value(0-127) in the list entry like:

16,
1,
127

intMlist

value
length
list
value

midi controlled list selector
in the list-edit:
-enter the midiCC, midiChannel and amount of entries on the first line, seperated and ending with a comma ( , ) (if you put entries below each other you can easily read out the amount of entries, don't forget to subtract 1, because of the first line!)
-enter the integers that you want to be selectable by midi in the lines below, each on their own line and ending with a comma:
-maximum amount of values is 128.

so, for CC16, midichannel 1 and 10 values:

16,1,10,
0,
1,
2,
3,
4,
5,
6,
7,
8,
9

linkCtrl

1
2
3
4
control
c1
c2
c3
c4

Linked control, eg for controlling the volume of multiple channels on a mixer.
The module has an internal array for 4 values which can be edited by the "control" knob.
When a switch is on, the corresponding channel will have the change of the knob added to it's value. Thus, you can change multiple channels at the same time while keeping their relative differences (though it will saturate at 64).

linkExt

control
c1
c2
c3
c4
1
2
3
4

Linked control, eg for controlling the volume of multiple channels on a mixer.
The module has an internal array for 4 values which can be edited by the "control" knob.
When a switch is on, the corresponding channel will have the change of the knob added to it's value. Thus, you can change multiple channels at the same time while keeping their relative differences (though it will saturate at 64).

multilist

listA
listB
listC
listD
listE
listF
listG
listH
select
fine
listA
listB
listC
listD
listE
listF
listG
listH
maxed
A___
B___
C___
D___
E___
F___
G___
H___

control several lists with two parameters
set the list size with the selectors

permuList4

o1
o2
o3
o4
options
select
fine
options
d1
d2
d3
d4

Combination module based on permutation:
Creates a full list of 4-number-combinations from the available options.
No repetition, no importance of order.
eg:
1,2,3,4
1,2,3,5
or
3,6,8,11 (any increasing order)
BUT NOT:
1,1,3,3,6 (no repetition of numbers)
AND NOT:
3,1,6,5 (not smaller then any value left of itself)

"select" knob is scaled to the amount of possible combinations
"fine" knob can be used when using a high option count->otherwise the stepsize would be to big to select all possible combinations.

The 4 outputs give you the selected indices.

This module could be used for selecting 4 out of 16 functions which may not be selected twice.

primeRead

prime
o
table
prime
value

reads out the "primes" table allocation module (see my table-folder)

toggle6

o1
o2
o3
o4
o5
o6
p1
p2
p3
p4
p5
p6

6x constant boolean, toggle control

zoomknob

zoom
out
value
zoom

bipolar constant value dial with zoom function
0=no zoom
1= 2^8 zoom
2= 2^16 zoom
don't forget to zoom out before ending patch or you'll loose your value!

sss/delay

4x8bit_del_read

time
1
2
3
4
delayname
time

4 channel 8bit delay read.
Converts the 8bit channels back to four seperate, filtered 32bit channels

4x8bit_del_write

1
2
3
4
size

4channel 8bit delayline.
Incoming audio gets filtered and then coded into 8bit, shifted, summed and recorded to the table.

Factotum

in
rec
sync
phase
dir
length
playspeed
pitchshift
stretch
rate
window
shiftsize
ratedivisor
qnt
step1
step2
overwrite
feedback
wet
out
size
fade
phase
length
dir
playspeed
pitchshift
stretch
rate
window
shiftsize
ratedivisor
qnt
step1
step2
overwrite
feedback
dry
wet

Difficult to name. Pitchshifter, time-stretcher, play-rate adjuster (stretch+pitchshift), sampler, delay, granulizer...

See inputs/controls for their functions (hoover above them)

Flooper

in1
in2
in3
in4
tap1
tap2
tap3
tap4
overdub
syncOn
syncIn
out1
out2
out3
out4
size

Friendly 4 channel looper module with seperate ins/outs/triggers/looptime
BPM-syncable with global overdub mode.

HQ_PitchedDelay

length
semitone
harmshift
ratioshift
samplelength
delay
HQ
delayname
MinimumLength

HQ mod-delay&pitchshifter
Combines the HQ pitchshifter with an extra pre-delay.
Delay-in time responds to the normal range, so the clock2timing module can be used to sync the delay to host tempo (use ratioVCA to make subdivisions like 3/4*host tempo).

-Length sets window-size used for pitchshifter
-semitone offsets pitch in semitones (well..duh). So 12 is +1 octave.
-harmshift offsets the pitch in harmonics based on normal play speed. This is ADDED to the semitone and ratio settings (unlike the ratio parameter, which is in relation to the semitone parameter.)
When offset forces pitchshift into negative frequencies, output comes out reversed. Harmshift has a wide range: +1 is +1x base playbackrate(1). So when harmshift=-1, thus base playbackrate-1-> 1-1=playbackrate=zero.
-ratioshift sets the ratio based on semitone. When set to 8, playback ratio is 1:1. When set to zero, playbackrate is (near) zero. When set to -8, playback will be reversed. When set to 16, playbackrate will be doubled (+1 octave). Also reacts on semitone offset! So when semitone=+1 and ratioshift=-16, it will be one semitone and one octave higher, but reversed.
NOTE the difference with harmshift with this last example:
(harmshift will be -2 compared to ratioshift scaling (ratio= 1:8), this would be the same rate-change, if they worked the same.. but they don't). SO, example...
When semitone=+1 and harmshift=-2, the playback rate will be shifted up one semitone, then shifted down twice the base playback rate., thus -1 semitones and reversed. The harmonic shift of -2 reverses the play direction(negative frequency), but the semitone still adds a positive 1 semitone to the negative value.

I'm making this so much harder to understand then I should.... haha

KarplusStrong

in
pitch
damp
strength
influence
out
pitch
tailtime
damp
strength
influence

Karplus-strong synthesis delay
-pitch tuned to the same pitch of a normal oscillator. (5=440hz)
-tailtime sets the fade-out time of the feedback, with "strength" set to zero, this can take up to 40 seconds or maybe even longer!
-damp sets the frequency of the internal lowpass filtering
-strength sets the filtering strength (ratio between non-filtered and filtered signal, the higher the strength, the stronger the dampening)
-influence sets the amount of influence the pitch has on the damping control. if set to zero, damping will stay the same, when fully open, dampening frequency will increase corresponding to the pitch. Normal string-behavior would be higher then zero, but not fully open.

KarplusStrong2

in
pitch
position
tailtime
color
mode
strength
influence
out
pitch
position
tailtime
color
mode
strength
influence

Karplus-strong delay tuned to audio-frequencies and a very long decay (depending on dampening-strength)

-pitch sets the pitch of the delay-time, tuned to the same pitch as normal oscillators
-position sets the "strike" position where the audio enter the buffer (creates two seperate buffer-writing positions)
-tailtime sets the time of the tail. 64 is about 40 seconds
-color sets the frequency of the "dampening" filter.
-mode sets the filter mode: left is lowpass, middle is bandpass, right is highpass.
-strength sets the strength of the filtering. At zero, no filtering is applied, at max, lots of damping is applied (6dB per frequency-cycle->that's seriously a lot and very quick to fade out->percussion?)
-influence sets the influence by the pitch on the dampening frequency. For a guitar-string, where multiple notes can be played on a single string, this would be around zero, but for a piano, where each keys has it's own three strings with changing materials and thickness between each key, each key will have a different behavior and the higher the key (probably, not sure though haha google knows..) the higher the dampening frequency.

MSPPdelay

in
pan
predelay
feedtime
Pre
Feed
outL
outR
PowOut
size
predelay
diffPre
feedtime
diffFeed
AttMod
addPre
feed

mono to stereo pingpong delay with modulatable predelay and feedback time
-predelay sets the time the first delayed signal is fed to the output.
-feedtime sets the time for feedback after the predelay
-both can be modulated externally->use conv/interp module to convert control-rate signals to audio-rate for smooth low frequency modulation.
-modulation width can be attenuated with the AttMod selector (higher values will give smaller modulation ranges)

with their respective controls, both predelay and feedback time can be made different between left and right delay channel, but summed time of left and right will stay the same.

the predelay can be added to the feedback signal to provide an extra "hit" into the decaying delay.

MorphDel

time
reset
hz
reverse1
reverse2
out
delayname
hz
reverse1
reverse2

morphing delay, mixing between two readout-taps, which are updated when they are "not in the mix".
"hz" input responds to the "clock2timing" module for host-tempo-syncing of the internal mod LFO
"time" input resonds to the "clock2timing" module for host-tempo-syncing of delaytime
"reset" input smoothly fades the internal LFO to 0 phase in respect to the sampled phase-offset at the time of incoming clock-triggers.

compDelay

release
delay
feedback
center
width
modify
timemod
rate
in
coefs
out
size
gainIn
tresh
ratio
expand
slope
release
center
width

A delay module with a compressor/limiter/expander,low&highpass filter and FIR-filter within the feedback loop.
Send in the audio quite a high volume, ducking the delayed signal. After this, the feedback can run for eternity.

crossDelay

in
pitch1
pitch2
time1
time2
time3
read1
read2
read3
readFeed
overwrite
out
pow
size
overwrite
time1
read1
time2
read2
time3
read3
readFeed
feed
freq1
freq2

crossover mixing delay line
-the incoming audio is divided in three frequency bands using the freq1 (lp/bp) and freq2 (bp/hp) knobs for crossover cutoff and then spread across the taps.
-each tap can be positioned anywhere in the buffer, both writing tap as well as reading tap
-one writing tap can be selected as "overwriting" tap, overwriting the buffer with the respective filtered input.
-the other two writing taps mix the incoming band with the buffer.
-the reading taps read out different parts of the buffer, which, depending from their position, read out recorded bands (as long as they're not being overwritten by the overwriting tap).

This can cause different types of delays, depending on writing and reading positions of the buffers, sometimes completely ignoring a frequency band while feeding back lots of energy from another band.

Time-modulating is not (nicely) possible with this module as there is no interpolation.
Though interesting rhythmic variations can be made by host-syncing the module (clock2timing module, don't forget to connect the pow-out pin to the clock2timing samplelength input)

crossmorph

in
mix
base
out
div
size
mix
quant
step
over
feed
wet
dry

Time Crossmophing delay
Connect "base" to the basedelay output of the BPMext module.
Mix crossfades through the timings.

-"quant" sets the amount of timings for the mix input/parameter, which goes from 0-64 and then rewraps back to 0.
-"step" multiplies the the timing-step (multiplying the base-delay time)
-"over" adds an offset to the timing-step when it went over maximum time (still host-tempo synced), this will create some more variation in the crossmorph.
-basedelay time could be divided/multiplied before this module to enable polyrithmic delays (eg triplets)

delayModPing

audio
timeTotal
timeDivide
feedback
thru
rate
timewidth
divwidth
out1
out2
rec1
rec2
mod
delayname1
delayname2
timeTotal
timeDivide
rate
timewidth
divwidth
feedback
thru

Ping-pong delay with time-modulation
(use in combination with 2 "delay write" modules. One for left, one for right. rec1->delay left. rec2->delay right. And enter name of delay left into delayname1 and delay right into delayname2)
(use in combination with timeSpread module (sss->delay folder) to make rational division between left&right time)
(use in combination with Phi-delay-pow-out module and Clock2Timing module (sss->timers folder) to sync to host tempo)


-timeTotal sets total time of left+right delay time.
-timedivide sets the ratio between left and right delay time.
-rate sets the modulation rate of the internal LFO/OSC (internal auto adjusting to frequency). Scale is 2x the normal range of oscillators/LFO's.
-timewidth sets modulation width of the total time.
-divwidth sets modulation width of the ratio between left and right time.
-feedback feeds the outputs back into the rec-outputs, but left&right swapped.
-thru controles the volume of the input audio into the audio outputs.

fifthShifter3

in
crossover
highest
lowest
rate
window
outL
outR
size
window
crossover
highest
lowest
panRate
window
delay
feed
dry
wet

this is a quad-delayline pitchshifter/delay with 6dB crossover filters.
The low frequency region will be pitched up by a fifth, the high frequency region will be pitched down by an octave.
The "crossover" parameter sets the crossover frequency for the input, to send low frequencies to the fifth-up and high frequencies to the octave-down delayline.
After each delayline there is a seperate 6dB crossover filter that sends the feedback to either up/down delayline when the audio passes the cutoff frequency. This way a frequency band can be set between which the audio will be pitched up/down in the feedback path.
The pitchshifter delaysize is set with the "window" attribute and parameter.
The max-delaytime is set using the "size" attribute and time parameter.
Mostly usable for drony stuff.

fifthshifter

in
crossover
out
size
feed
dry
wet
crossover

this is a pitchshifter with a 6dB crossover filter.
The low frequency region will be pitched up by a fifth, the high frequency region will be pitched down by an octave.
Mostly usable for drony stuff.

fifthshifter2

in
crossover
rate
allL
allH
outL
outR
size
feed
dry
wet
crossover
lowest
highest
allL
allH
panRate

this is a dual-delayline pitchshifter/delay with 6dB crossover filters.
The low frequency region will be pitched up by a fifth, the high frequency region will be pitched down by an octave.
The "crossover" parameter sets the crossover frequency for the input, to send low frequencies to the fifth-up and high frequencies to the octave-down delayline.
After each delayline there is a seperate 6dB crossover filter that sends the feedback to either up/down delayline when the audio passes the cutoff frequency. This way a frequency band can be set between which the audio will be pitched up/down in the feedback path.
Mostly usable for drony stuff.

granutrail

in
pitch
train
demix
out
size
pitch
width
offset
morph
train
step
mode
update
feed
damp
mix
demix
OS

Morphing granular train delay
Internal oscillator controls the play-position and at the same time morphs from delay-tap to delay-tap using it's phase.

Pitch controls the rate at which the recording is played (play position).
Width sets the range of the play position.
Offset sets a static offset to the play-position (delay)
Morph adds a changing offset to the play position
After each repeat of the play-position a new offset will be generated:
Train sets how many different timing positions will be morphed-through by the play position.
Step sets the stepsize of the time/tap-morph

The internal delay-memory can be overwritten or updated by switching the "mode" switch.
When "on", the "update" knob sets the rate at which the memory will follow the incoming signal. The effect is like a bit like a reverb.

"feed" enables you to feed the delay-output back into the memory of the delay. (together with the update-mode).

Mix sets the mix-amount between dry and completely wet.
"demix" allows a quick connection for an envelope to duck the wetness of the signal-> only wet when there's no audio coming in, which generates interesting tails for short sounds.

The module can be oversampled with the "OS" control. Though keep watch of your CPU use!

hrmDelay

in
time
out
size
mult
div
hrm
feed
damp
wet

(no description)

invMod

in
pitch
out
size
pitch
ofs
mode

This module creates a buffer, inversely reads this buffer and combines this with the incoming signal by ringmodulation or addition.
Mix with original signal to fatten the sound of an oscillator.
Big buffers create a sort of delay, though not in the "normal sense".

loop4

active
in
rstCount
playChnl1
playChnl2
playChnl3
playChnl4
EditChnl
rec
dub
delete
clear
Combine2Chnl
combine
save
load
filename
offset
size
out
size
fade

16bit 4 channel audio looper with channel "summing2one"
Allows you to record 4 seperate audio loops.
Syncs to external clocks.
Recorded loops can be saved/loaded to/from SDcard.
Channels can be combined using the combine-function.

-rstCount: send a trigger to this input to restart the audio loop. This resets the counter for recording/reading the audio buffer to zero.
-playChnl1 to 4: mute/unmute the audio for this channel.
-EditChnl: input between 0 and 3, selects the internal channel-buffer to save the incoming audio to.
-rec: overwrites the current buffer-position of the selected channel with the incoming audio.
-dub: sums to the current buffer-position of the selected channel with the incoming audio.
-delete: deletes the current buffer-position of the selected channel.
-clear: clears the whole channel, though at a low rate to prevent hick-ups. This can cause the channel to still sound until it re-loops again.
-combine2channel: selects to which channel the current selected edit-channel will be summed to. (0, 1, 2 or 3)
-combine: combines the selected channels into the combine2Chnl-channel.
-save: saves the current audio buffers to your SDcard.
-load: loads a saved buffer from your SDcard into the audio-buffer
-filename: use this to set the filename of your audioloop-file

the next two are for adjusting the play-position or to shuffle the loop by an external CV-pattern
-offset: this enables you to quick-offset the reading position.
-size: this sets the division/quantification of the offset. Higher numbers will divide the total loop-length (of the rstCount-timing) into smaller parts, allowing you to offset the audio in smaller steps. So, setting this to 4, while "offset" is 1, will offset the read-out of the audio-buffer a quarter of it's looping length.

-size attribute: sets the maximum size of a single channel. Total table-size will be 4 times this big!

massVerb

in1
in2
in3
in4
rndALL
size
mod
out1
out2
d1
pre
size
decay
duck
mod
modwidth
rndT
rndAP
rndMR
rndALL
rndRate
pan1
pan2
pan3
pan4
wet
dry

Feedback delay network with 4 delay lines and 12 allpass filters. High quality 32bit.
Internal parameters are randomisable and function as different room-shapes. These can be saved/loaded using the table-load/save factory modules for recall in other projects.
-Overall size and decay parameters
-pre-attenuation of input signal before being fed into the fnd matrix.
-auto-ducking of decay when output signal goes high to prevent overloading (eg. for endless drones)
-4 inputs for 4 different signals, each pannable for positioning in the room.

mod2Karplus

pitch
velocity
touch
position
tailtime
color
mode
strength
influence
BPcut
BPres
note
vel
touch
select
n2p
v2p
t2p
n2t
v2t
t2t
n2c
v2c
t2c
n2m
v2m
t2m
n2s
v2s
t2s
n2i
v2i
t2i
n2BPc
v2BPc
t2BPc
n2BPr
v2BPr
t2BPr

Module to attenuate the midi data to all the parameter inputs of the KarplusStrong2 module.
Also has attenuators for controlling a BP-filter to pre-filter the audio-in, feeding the delay.

multiRepeater

in1
in2
timeRead
timeWrite
repeatRead
repeatWrite
startNom
startDiv
freeze
out
pow
size
timeWrite
timeRead
repeatWrite
repeatRead
wet
startNom
startDiv
freeze

multi repeating delay
-features multiple write and read position to create a repeating effect

inputs:
-in1: this is fed into both the first delay-writer as the following "repeater" delay-writers (stacks with multiple readers)
-in2: this is fed only to the first delay-writer, so only repeats according to the amount of "repeating" delay readers.

controls/inputs:
-timeWrite: maximum writing time (all written repeats are within this time)
-timeRead: maximum reading time (all read repeats are within this time)
-repeatWrite: repeats the writer this many times in the given reading time with an equal offset between all writers (timeRead)
-repeatRead: repeats the reader this many times in the given reading time with an equal offset between al writers(timeRead)
-freeze: freezes the writing process of the delay, causing the readers to keep repeating what's in the buffer.

Time offsetting the reading-process:
-startNom: sets the multiplication of the total writeTime
-startDiv: sets the division of the multiplied total writeTime.
This read-offset is used for offsetting the reading-process by a division of the writing time. This way, you can easily making a complex shuffling delay which keeps track of the writing-rate, filling in the gaps.

nestAS2

size
size
del1
del2
scatter
size
mode
select

modulatable nested scatter/allpass function for delaylines.
Can be used with the factory delayline module to add diffusion to a delay

nestAS3

size
size
del1
del2
del3
scatter
size
mode
select

modulatable nested scatter/allpass function for delaylines.
Can be used with the factory delayline module to add diffusion to a delay

nestAS4

size
size
del1
del2
del3
del4
scatter
size
mode
select

modulatable nested scatter/allpass function for delaylines.
Can be used with the factory delayline module to add diffusion to a delay

nestEarlyR

in
size
delay
spread
expo
curve
damp
vol

Nested early reflections module.
Put the name of a delayline module into the reference box to add early reflections to the delayline.

quadMorph

time
mult
div
out
delayname
mult
div
qnt
stpM
stpD
maxM
maxD
octave

quad morphing delay read, linear interpolated
independent morphs for multiplying and dividing base-time input.
Use BPMext or clock2timing module to host-sync

repeater

in
on
size
Ksize
reverse
repeat
out
rec
size
size
repeat
duck

audio repeater module. Can be used in-line in your audio-chain and doesn't need an external delay write module. When input "on" is low, audio input is just send thru to the output.

when input "on" goes high, starts repeating the last audio that came in.
repeating size is set by the "size" inlet.
NOTE! size is set in samples! Use my clock2timing module to get the sample length to fit host tempo and connect the size input through a "ratioVCAI" module (math folder) to the "ksamples" output on the "clock2timing" module. The "ratioVCAI" can then be used to set any desirable ratio to the host tempo

the repeat input sets the amount of times the buffer is repeated as long as the "on" input is high. After that, a new sample is taken which itself will be repeated the set amount of times before another sample is taken again.

Bit of a drawback of the way the module is coded, is that there is no pitch-control possible.
Use the "grainer" module if you want pitch-control

repeater2

in
on
size
swing
Ksize
Kswing
repeat
wet
feed
out
size

version 2 of the audio repeater module. Can be used in-line in your audio-chain and doesn't need an external delay write module.

when input "on" goes high, starts repeating the incoming audio for the number of repeats set by the input.
Repeating size is set by the size and swing inlets.
-size/swing are used to set the size in samples (48k/s).
-Ksize/Kswing are used to set the size in the fractional 0-64 way

eg. for the Ksize/Kswing you can use my "BPMext" LFO to provide the "delaybase" timing. Then use the math/ratios235 module to set a division based on 2, 3 and 5 integers (any combination in nominator and denominator).
This way you could, for example, set a main retrigger in fourths, but give every even numbered retrigger an offset in thirds.


the repeat input sets the amount of times the buffer is repeated as long as the "on" input is high. After that, a new sample is taken which itself will be repeated the set amount of times before another sample is taken again.

Bit of a drawback of the way the module is coded, is that there is no pitch-control possible.
Use the "grainer" module if you want pitch-control

repeater2St

in
on
size
swing
Ksize
Kswing
repeat
wet
feed
panStart
panSpread
panSwell
panMode
damp
dampSwell
outL
outR
size

version 2 of the audio repeater module. Can be used in-line in your audio-chain and doesn't need an external delay write module.

when input "on" goes high, starts repeating the incoming audio for the number of repeats set by the input.
Repeating size is set by the size and swing inlets.
-size/swing are used to set the size in samples (48k/s).
-Ksize/Kswing are used to set the size in the fractional 0-64 way

eg. for the Ksize/Kswing you can use my "BPMext" LFO to provide the "delaybase" timing. Then use the math/ratios235 module to set a division based on 2, 3 and 5 integers (any combination in nominator and denominator).
This way you could, for example, set a main retrigger in fourths, but give every even numbered retrigger an offset in thirds.


the repeat input sets the amount of times the buffer is repeated as long as the "on" input is high. After that, a new sample is taken which itself will be repeated the set amount of times before another sample is taken again.

Bit of a drawback of the way the module is coded, is that there is no pitch-control possible.
Use the "grainer" module if you want pitch-control

rndTapDelay

out
delayname
length
random

random multi-tap delay/early reflections with controllable tap-amount.
length sets the amount of taps.

rndTapDelaySt2

random
maximum
outL
outR
delayname1
delayname2
length
random
maximum
minimum

random multi-tap delay/early reflections with controllable tap-amount.
length sets the amount of taps.

this version uses two external delay-write modules to enable random ping-ping delays/reverberation

rndTapDelaySt_m

random
in
maximum
minimum
outL
outR
wetsum
delayRec
delayname
length
random
maximum
minimum
feed

random multi-tap delay/early reflections with controllable tap-amount.
length sets the amount of taps.
maximum and minimum values are modulatable for phasing effects

rndTapDelayStereoOut

random
maximum
outL
outR
delayname
length
random
maximum
minimum

random multi-tap delay/early reflections with controllable tap-amount.
length sets the amount of taps.

rottenDelay

in
out
size
time
feedback
damp
rate
bits
wet
dry

dirty rotten delayline with delaytime, feedback, samplerate, bits, LP damp, wet and dry control

shimmerDelay

in
outL
outR
size
stages
rate
feed
slope
depth
spread
damp
panRate
panSpread
wet

modulated delay
modulation depth is recalculated for each buffer size for easy chorusing/phasing effects.
-rate: speed of modulation
-feed: amount of feedback for each stage
-slope: volume drop-off for each next stage (softening the effect)-> volume at max will let everything through to the next stage at original volume
-depth: sets the modulation amount of the internal lfo (controlled by the rate parameter and scaled to small modulation width according to buffer size).
-spread: sets a delay different for each next stage. Set delay-time is maximum time of all stages together, so each stage is a part of the time set by this control, divided by the number of stages.
-damp: sets the cutoff frequency of a 3dB LP filter in the feedback chain.
-panRate: sets the speed at which the stages are moved between left and right (sine-shaped).
-panSpread: sets the difference is panning-phase between each next phase (do they sit next to each other or does the panning "jump around")
-wet: mixes the modulated signal with the dry signal.

shimmerDelaySt

inL
inR
outL
outR
size
stages
rate
feed
slope
depth
spread
damp
panRate
panSpread
wet

modulated delay
modulation depth is recalculated for each buffer size for easy chorusing/phasing effects.
-rate: speed of modulation
-feed: amount of feedback for each stage
-slope: volume drop-off for each next stage (softening the effect)-> volume at max will let everything through to the next stage at original volume
-depth: sets the modulation amount of the internal lfo (controlled by the rate parameter and scaled to small modulation width according to buffer size).
-spread: sets a delay different for each next stage. Set delay-time is maximum time of all stages together, so each stage is a part of the time set by this control, divided by the number of stages.
-damp: sets the cutoff frequency of a 3dB LP filter in the feedback chain.
-panRate: sets the speed at which the stages are moved between left and right (sine-shaped).
-panSpread: sets the difference is panning-phase between each next phase (do they sit next to each other or does the panning "jump around")
-wet: mixes the modulated signal with the dry signal.

splicer

in
duck
rec
dub
selfRec
selfDub
sameRec
out
splicerec
fade
size
splice
genesize
offset
offstep
steps
rate
dir
alternate
rec

Audio splicer module

stereoread

time
diff
out1
out2
delayname
time
diff

stereo delay read, non-interpolated.
Use with "stereowrite" module and reference to the name of that instance.

stereowrite

in1
in2
size

stereo delayline definition, read it with "delay/stereoread" objects referencing the instance name of this object

string

in
pitch
timbre
strike
out
size
timbre
pitch
cutoff
S2C
reso
feed
gain
timbre
waveform
phase
lfo
damp
t1
t2
t3

karplus-strong synthesis to create guitar/violin/flute sounds.
The sound depends on the noise/waveform you feed the "in" input AND on the envelopes connected to the timbre and strike inputs.
The strike-envelope opens up the vca of the "in" input while "timbre" opens up the vca of the inline-waveshaper in the delayline, forcing the delayline to self-modulate/resonate.
These two envelopes can thus also be independently driven at different rhythms creating interesting cross-talks. Also different curvings for the envelopes can create very realistic plucks/bows.

The "timbre" is a waveshaper using the wavetables made with the wavefromGenerator (sss/osc) which shapes the signal that loops in the delay-line. As it's offsetting the signal with the waveshape, it automatically creates a signal by itself when the "timbre" envelope opens up.

The "in" input expects a signal for the "strike" input to work. I recommend a syncable pitched noise-source, that has a noisy edge, though will tend to have a certain pitch (ps. a synced gaussian noise generator or a noise-modulated oscillator).

The internal controls:
pitch: sets the main pitch of the delay-line.
cutoff: sets the cutoff of the biquad BP behind the delayline.
S2C: strike input (envelope) to cutoff height.
reso: resonance of the biquad BP.
feed: amount of feedback for the delayline.
gain: gain for the output signal, forcing it into clipping.
timbre: overall level-control for the timbre envelope.
waveform: selects from the waveforms in the wavetable (refer to a saved table!)
phase: sets the phase-offset of the wavetable, creating different timbre-responses.
lfo: sets the rate of the LFO that drives the phase-offset
damp: dampens the signal in the delayline (strike as well as timbre).
t1, t2, t3 are three tap-positions within the delayline, which are combined to create a comb-filter effect, as if you have 3 piezo elements reading out the string at different positions.

stutter_read

predelayA
predelayK
Range
out
range
delayname
predelay
range

repeater delay with shift/predelay (shifted within range)
TO BE USED WITH THE stutter_write!!!!

stutter_write

in
range
repeat
reset
power
size
repeat

write module for the stutter delay

Connect range input to the range output of the stutter delay

swelldelay

in
time
tailtime1
tailtime2
out
size
time
tailtime1
tailtime2
peak
x2
dry

Swell-delay with a precise feedback-time control.
delay-time functions the same as the other normal delays, but..
the tailtime is a direct representation of the time (in seconds) the feedback will take to die out, whatever the delaytime. So when you set to control to 30, it will take 30 seconds die out, whether it's at a delaytime of 100ms or 2 seconds..

As it's a "swell" delay, it features two audio-buffers using the exact same timing of writing/reading, but using different feedback times. As one is subtracted by the other, a volume peak in the delay will happen when either one dies out while the other rings on.

As we know both the tailtimes, we can also calculate what the volume-drop will be at the moment of the volume-peak (remaining volume of the signal that hasn't died out yet). So this is internally normalised to input level and goes through a gain stage.
A switch is added so you can have up to 2x gain for the delay, making it up to 4 times the volume of the input level (so watch it!)
As last, an input-attenuator is added to control the dry amount.

taildelay

in
time
tailtime
out
size
time
tailtime

Delay with a precise feedback-time control.
delay-time functions the same as the other normal delays, but..
the tailtime is a direct representation of the time (in seconds) the feedback will take to die out, whatever the delaytime. So when you set to control to 30, it will take 30 seconds die out, whether it's at a delaytime of 100ms or 2 seconds..

tappedDelay

in
rst
tap
cutoff
vel
feed
out
size
rst
cutoff
feed

multi-tap delay with lowpass filter on each tap.
You enter the tap-velocity/timing/cutoff for each tap by external tapping.
eg. when using a midi note module:
connect gate-output of midi module to the tap-input of this module
connect note-output of midi module to the cutoft-input of this module
connect velocity-output of midi module to the vel-input of this module

first tap you play will reset the timing-counter to the "zero" position->incoming note
taps after this will set the timing/velocity/cutoff of the delays.

when you want to set new timings for the delay, just hit "rst" and play a new rhythm.

on-module cutoff-knob is added to the recorded cutoff.

tappedDelay2

in
rst
tap
cutoff
vel
feed
sync
BPM
out
size
rst
lp
hp
feed
res
max

multi-tap delay with lowpass filter on each tap.
You enter the tap-velocity/timing/cutoff for each tap by external tapping.
eg. when using a midi note module:
connect gate-output of midi module to the tap-input of this module
connect note-output of midi module to the cutoft-input of this module
connect velocity-output of midi module to the vel-input of this module

first tap you play will reset the timing-counter to the "zero" position->incoming note
taps after this will set the timing/velocity/cutoff of the delays.

when you want to set new timings for the delay, just hit "rst" and play a new rhythm.

on-module cutoff-knob is added to the recorded cutoff.

timeSpread

parts1
parts2
out

Sets timing division between left and right time of the delayModPing module.
Parts1 and parts2 get summed and this outcome divides part1. Internally in the delayModPing, this is scaled back to the internal left/right timing difference.

sss/demux

demux12Chance

i
d0
d1
d2
d3
d4
d5
d6
d7
d8
d9
d10
d11
s
o0
o1
o2
o3
o4
o5
o6
o7
o8
o9
o10
o11
p0
p1
p2
p3
p4
p5
p6
p7
p8
p9
p10
p11
chance

12-output demultiplexer with 2 control modes:
-using "s" input (0-11) when "chance" switch is off
-using weighted randomisation for randomly selecting an output with each trigger/gate at the "i" input.

the parameters get automatically updated when you move one, making sure the total gets to 100%
the default inputs are "or-combined" with the outputs, so these are thru-connectors for overriding the chance/s-controlled demux. Eg. force one of the outputs to generate a trigger using a button.

sss/disp

16bar

i1
i2
i3
i4
i5
i6
i7
i8
i9
i10
i11
i12
i13
i14
i15
i16
v0
v1
v2
v3
v4
v5
v6
v7
v8
v9
v10
v11
v12
v13
v14
v15

spectral analyzer made out of two 2nd order bandpass filters per band, decibel scale (vertical), steeper filters

4xchartB

in1
in2
in3
in4
v1
v2
v3
v4

4x bipolar k-rate signal chart plotter

8xdBLevel

1
2
3
4
5
6
7
8
chain
o
1
2
3
4
5
6
7
8

select one out of 32 bipolar fractionals, with chain i/o

BIGscope

in
hold
syncIn
thru
syncOut
1
2
3
4
5
6
7
8

bipolar audio rate signal oscilloscope (time domain), showing 128 consecutive samples after the signal becomes positive.

this module has outputs to link several scopes behind each other for a big scope

BIGscopeK

in
1
2
3
4
5
6
7
8

bipolar audio rate signal oscilloscope (time domain), showing 128 consecutive samples after the signal becomes positive.

this module has outputs to link several scopes behind each other for a big scope

BIGscopeKS

in
snc
1
2
3
4
5
6
7
8

bipolar audio rate signal oscilloscope (time domain), showing 128 consecutive samples after the signal becomes positive.

this module has outputs to link several scopes behind each other for a big scope

LFO_xy_scopeLowRes

x
y
display1
display2
display3
display4
display5
display6
display7
display8
display9
display10
display11
display12
display13
display14
display15
display16

low resolution xy scope for control signals

MIDscope

in
hold
syncIn
thru
syncOut
1
2
3
4

bipolar audio rate signal oscilloscope (time domain), showing 128 consecutive samples after the signal becomes positive.

this module has outputs to link several scopes behind each other for a big scope

ScopeRG

in
hold
rate
gain
scope

bipolar audio rate signal oscilloscope (time domain), showing 128 consecutive samples after the signal becomes positive.
Has rate control and gain ( x1.000=unity)

dualXYscope

x1
y1
x2
y2
scope

bipolar control rate signal oscilloscope (time domain), showing 128 consecutive samples

fftanalyser

in
hold
dB
v0
v1
v2
v3
v4
v5
v6
v7
v8
v9
v10
v11
v12
v13
v14
v15
v16
v17
v18
v19
v20
v21
v22
v23
v24
v25
v26
v27
v28
v29
v30
v31
v32
v33
v34
v35
v36
v37
v38
v39
v40
v41
v42
v43
v44
v45
v46
v47
v48
v49
v50
v51
v52
v53
v54
v55
v56
v57
v58
v59
v60
v61
v62
v63

extra big spectral analyzer display using 512 input points fft

frequencyAnalyser

in
rate
poles
1
2
3
4
5
6
7
8

low cpu frequency analyser scope (55hz-14k)
scans regions at a low rate to preserve cpu load (one band at time, gliding from high to low frequency)

menuLOG

sel
sel
paramName
selections
names

Module for logging names and selection for integer signals in the log window (like a menu for waveforms)
example for a waveform selector with 4 waveforms:

-edit a name of the parameter in the paramName attribute like (include the " "):

"waveform OSC 1"

-set the amount of available waveforms using the selections attribute

-edit the names attribute to include all the names of the waveforms (include the { } and " "):

{"sin","tri","saw","sqr"}

when the input switches value, it updates the newly selected waveform in the logging window

scope6K

i1
i2
i3
i4
i5
i6
snc
s1
s2
s3
s4
s5
s6

6 displays with a shared sync input to track phase-relations of modulation signals

stackableScope

in
hold
syncIn
thru
syncOut
scope

bipolar audio rate signal oscilloscope (time domain), showing 128 consecutive samples after the signal becomes positive.

this module has outputs to link several scopes behind each other for a big scope

xyScope

x
y
scope

bipolar control rate signal oscilloscope (time domain), showing 128 consecutive samples

sss/dist

3Shape

in
Md1
ofs1
mod1
Md2
ofs2
mod2
Md3
ofs3
mod3
out
gainIn
Mode1
mod1
ofs1
mix1
Mode2
mod2
ofs2
mix2
Mode3
mod3
ofs3
mix3

Multi waveform shaper like the eurorack modular ADE-10 of abstract data.
Features 7 modes (at the moment), mode-selection is kept within selection bounds, so any value can be send to the inputs.
Except for mode 0 (filter), the ofs input and knob control a dc offset given to the audio going into the shaper.

mode=0 : filter->mod controls cutoff, ofs morphs through LP/BP/HP mode
mode=1 : mid-offset modifier->enlarges positive and negative side to reach the respective other range
mode=2 : sineshaper->mod controls gain of input
mode=3 : sined squareshaper->mod controls gain of input
mode=4 : sined squareshaper with wrap->mod controls gain of input
mode=5 : wrapper->mod controls gain
mode=6 : quantizer->mod controls quantification
mode=7 : triangle bounce->mod controls gain, the higher, the faster the triangle

3StageShaper

in
ofs1
mod1
ofs2
mod2
ofs3
mod3
out
gainIn
Mode1
mod1
ofs1
Mode2
mod2
ofs2
Mode3
mod3
ofs3

Multistage multimode waveshaper
This module features 3 stages with selectable waveshaper-mode.
Each mode will leave the incoming waveform unharmed as long as it's values are zero.
As soon as any of the values are changed, the mode will induce it's destructive property.

Offset offsets the incoming waveform (dc-offset)
mod# will apply an amount of the mode-effect.

IamSin

in
position1
position2
position3
position4
width1
width2
mod3
mod4
out
position1
position2
position3
position4
width1
width2
mod3
mod4
level

adds a signal of 2 together amplitude modulated sines, of which the phase is controlled by the incoming signal, to the incoming signal.
-the position knobs offset the center (zero) of the modulation by the incoming signal
-the width controls control the amplitude of the phase-control for the generated sines
-the mod controls control a frequency shift of the phase-control for the generated sines

RMtableosc

in
shape
shpLvl
pitch
o
shape
pitch

ringmodulator with internal wavetable oscillator (use tables containing up to 1024 1024-samples-long waveforms)
audio input also phase-modulates the waveform

RingMod

a
b
result
mode
gain
Alvl
Blvl
Ringlvl

multi-mode Ring Modulator
mode 1 just ringmodulates input A with input B in the normal bipolar sence.
mode 2 first multiplies input A with itself before multiplying it with input B
mode 3 first multiplies input B with itself before multiplying it with input A
mode 4 first multiplies input A and B width themselves before multiplying them with each other.

input can be saturated befor the ringmodulation process.

Alvl is the dry-level of input A to the output
Blvl is the dry-level of input B to the output
Ringlvl is the wet-level of the ringmodulated signal

SHmix

pitch
in
freq
wave
p
octave
morph
pw

Mixing S&H modulator
internal phase-oscillator holds the last value on the "in" input when returning to the start of the phase.
While phase goes up, it mixes in the incoming signal.
PW controls the point where the mix-in starts.

SRfold

in
out

this module was actually just a try-out of a code.
though I found the response to different frequencies quite surprising. Has something like a fixed samplerate converter, though with higher frequencies, these come back in folding the stairs...

just try it out, maybe you like it, maybe not...

signalSync

in
sync
out
size

auto-sync modulator
connect the sync-signal (any audio signal going from negative to positive) to the sync-input.
Any signal at the in-input will put into the buffer and it is reminded at which point in the buffer the in-input went from negative to positive.

Whenever the sync input goes positive, the buffer will be read out from the last zero-crossing within the buffer, auto syncing that signal to the sync signal.

Useful for AM-synthesis with signals/oscillators that don't have a hard-sync.

SrateReduce

in
rate
out

description

Ssquare

in
exp
mod
out
exp
stack
mod
lvl

description

analogue

Audio
Gain
Feed
Power
Mode
Pitch
out
risetime
falltime
LPHP
Freq

analogue style distortion, with "capacitor" holding the available charge

asymSin

in
out
mod1
mod2

(no description)

bitPeak

i1
rate
slope
amt
tresh
o1
rate
slope
amt
tresh

Attenuates the incoming signal and uses the smallest bit to add a positive/negative value depending on input sign. Then adds this to the original signal.

bitmangler

in
out
bits
rangeIn
rangeOut
randomise

analogue style bitcrusher/mangler (CPU HEAVY!!!)

range In and Out set the max values that can be covered by the internal converters.

Each bit is given a random value. This value determines the percentage of the left-over value, when all "higher" bits would be on, except for the last, which gets the remaining value that's needed to get it all together (sum of all bits) to the max value.

This randomisation is done for both incoming bits(converting continous to bits) and outgoing bits (converting bits back to audio) independently. So, although perhaps bit1 goes on when incoming value is higher then 32, output bit1 might actually just be worth 0.0023.
But all bits taken together sum up to the max, set by the range parameters.

Use the "bits" parameter to set how many bits you want to use for conversion.

boost

in
amp
out
amp

boost up to 16 times (saturated) (adds boosted signal to clean input signal and averages)

comparator

in
treshold
out
treshold
mode

high quality audio comparator using blit synthesis (bandwidth limited)
mode 0: 3-way comparator (low,0,high)
mode 1: 2-way comparator (low,high)
mode 2: quantizer

corruptor

i1
dPP
dPN
dNP
dNN
tP
tN
dChg
o1
dampPP
dampPN
dampNN
dampNP
treshPos
treshNeg
dampChange
m1
m2
m3
m4
gain
dir1
dir2
feed

Heavy distortion unit
Just completely mashes up the waveform

crusher

in
max
bias
min
diffmax
LP
HP
feed
out
max
bias
min
diffmax
LP
HP
feedback

heavy crushing distortion module

-"min/max" clip incoming audio at set min/max levels.
-"bias" DC-offsets the audio input
-"diffmax" sets maximum difference level between original and clipped audio (for clipper-overshoot)
-"LP/HP" set cutoff frequencies for the clipper-overshoot
-"feedback" feeds back the audio output to the audio input of the distortion.

digiana

i1
o1
saturate
volume
rate

digital LQ remake of a comparing amplifier/filter.
module compares incoming audio with the filtered signal and adds/subtracts a digital value to/from the filtered signal input depending on whether the incoming audio signal is higher/lower then the filtered signal.

saturate/volume control the clipping and volume of the signal
rate controls the frequency of the lowpass filters.

dipper

in
mod
damp
rate
out
mod
damp
rate

Quantizable "starving" distortion
The incoming signal will be quantized into stages and at each stage the signal's amplitude gets "starved" and dives back towards zero. Dive-rate can be controlled
"mod1" sets the size of the stages, fully clockwise would be 1 stage only->no change. Lowering the control will make the stages smaller and smaller, adding more and more stages and overtones.
At each quantize-crossing a "dip" will be created, like a saw returning to zero. The rate of this change can be controlled using both "damp" and "rate".
Rate controls a clipper that clips the linear change of the signal.
Damp controls the cutoff of a filter that then damps the linearly clipped signal before subtracting it from the original signal before sending it to the output.

diracExpo

in
kRange
aRange
out
range

nonlinear shaper. Outcoming waveforms have a lot in common with their analogue counterparts.
code makes an exponential and inverse exponential copy of the signal.
the difference between the newest and previous sample is used to mix either from original to exponential or from original to inverse exponential, depending on the sign of the difference.
Range-control is bipolar, so the exponential and inverted exponential shaping process can be switch between before-peak or after-peak.

diracSines

phase
1
2
rate
1
2

Dual sine generator, using the positive dirac-difference part of the incoming audio for generating a "sine" for output1 and the negative direc-difference for generating a "sine" for output2.

you can mix the outputs with the original audio for sine-based wave-distortion

fatbasterd

in
out
gain
max

saturator
The more gain, the more your ears bleed of squared signals
Max sets the max-level (gain must be turned on a bit for it to work, otherwise, signal goes through unharmed... which it probably shouldn't otherwise you wouldn't use this module, would you?)

folderBip

in
above
under
offset
out
clip
above
under
offset
rate
mod

bipolar wavefolder
Has independent wavefold strength for positive and negative parts of the signal.

leveler

a
result
level
rate
hold

turns any audio input signal into the level set by the "level" knob.
eg. useful to level out oscillators with different volume per waveform

octaver

i1
gain
LP
HP
stack
o1
gain
LP
link
HP
stack

octaver distortion
incoming signal gets rectified, of which the rectified part has a gain of 2 and to the whole rectified signal can be added some gain. Then this goes through a highpass filter, then added to the non-rectified signal (+ former rectified signal when stacking) at half volume and the result is lowpass filtered and then added again to half the non-rectified+stacked signal.
Using stack, this function is repeated multiple times, stacking octaving upon octaving up to 16 times, feeding back the combined signal as a new "non-rectified" input.
Gain

octavius

in
gain
feed
sub
srate
shifter
width
cutoff
out
gain
feed
sub
srate
stage
shifter
width
cutoff
svf
resonance
mode

octaver/harmonizer with several different functions used together to generate all kinds of lower and higher harmonics.

Gain and feed control the amount of higher frequencies being added to the signal
Sub controls the volume of the sub-frequency being added
srate controls the rate of the up/down slopes of the sub (dampening higher harmonics that are created by the sub)
Stage controls the sub-frequency-divider amount
Cutoff controls the cutoff frequency of the internal 12dB lowpass filter(2x 6dB) or SVF-filter
Using the svf-toggle-switch, you toggle between 12dB filter (off) and SVF-filter (on)
The svf-filter has a resonance-control (isn't used with the 12dB filter)
Mode selects between lowpass (left) and bandpass (right) filter.

The 12dB filter functions mostly as a dampening filter to remove higher frequencies and to soften the signal.
The SVF-filter adds a lot of resonance and enables the effect to scream quite a bit.

peaker

in
out
position
height
exp
strength

uses an exponential curve (exp) to offset(height) a particular voltage (position).
the strength controls the amount of the original signal (when zero, it stays at the "height" voltage)
has an internal hp filter to remove dc-offset

pusher

in
out
gain
LPmod
HPmod
damp

Distortion/limiting algorithm based on frequency-modulating a serial lowpass and highpass filter.
The lowpass cutoff frequency is pushed down by the peak-volume of the input signal+gain.
The highpass cutoff frequency is pushed up by the peak-volume of the output signal.

quadrant

in
out
mod1
mod2
damp
rate

Quadrant distortion that imposes an offsets to the signal when changing:
mod1: direction (signal going up/down)
mod2: positive/negative (signal being +/-.... well duh ;) )

Damp control the filter cutoff the filters the offset-generator.
Rate linearly limits the change-rate of the offset-generator.
So these are non-linear and linear filter-modes that can be combined to your own taste.

rectifier

in
out

half-wave rectifier distortion, bandlimited

saturator

in
out
amp
strength
max

inverse exponential saturator/hard limiter
non-linear response

saturatorSt

inL
inR
outL
outR
amp
strength
max

inverse exponential saturator/hard limiter
non-linear response

sawizer

in
range
direction
mix
out
range
direction
mix

creates steps or spikes in your signal depending on parameter settings

"range" sets the stepsize, just like a quantizer.
"direction" sets the volume of the part within each step, result is added to the step.
positive values enlarge the part, amplifying the lower half of the negatively and the upper half positively.
negative values first attenuate the part, creating a stepped/quantized signal.
negative values then start to invert the part, creating inverted spikes.
"mix" mixes between original and changed signal

sinelord

in
out
gain
clipH
clipL
strength
halfout

neutral shaper.. or something?
The "clip" value will determine whether the output's behavior will be linear (below clip value) or sine-shaped. At the "clipping point", the module will turn from linear to sine-response at a 45degrees position (at that exact point a shift in time ia the same as the shift in amplitude, from there it curves a signal into sine-shape-> the only place a sine is at a 1/1 slope is at 45 degrees, so applying this will always give you a kind-off perfect slope)

sineslope

in
gain
clip
strength
out
gain
clipH
clipL
strength
halfout

neutral shaper.. or something?
The "clip" value will determine whether the output's behavior will be linear (below clip value) or sine-shaped. At the "clipping point", the module will turn from linear to sine-response at a 45degrees position (at that exact point a shift in time ia the same as the shift in amplitude, from there it curves a signal into sine-shape-> the only place a sine is at a 1/1 slope is at 45 degrees, so applying this will always give you a kind-off perfect slope)

softComp

in
out
pre
tresh
soft
ratio
out

Dynamic range compressor with soft-treshold function.
It does direction compression, that means, no attack/release or envelope functioning inside!

softCompSt

inL
inR
outL
outR
pre
tresh
soft
ratio
out

Dynamic range compressor with soft-treshold function.
It does direction compression, that means, no attack/release or envelope functioning inside!

softquant

i1
quant
damp
o1
quant
damp
mode
res

A "soft" quantizer with a filter to smoothly morph between unquantized (original) and quantized signal.
The filter LP-filter dampens the offset that is created by the quantizer in comparison with the original signal.

softshelf

in
out
gain
center
modC
shelf
modS
absC
absS
absD

"soft" distortion with inbuild tone-control

softstack

in
out
stack

stackable symetrical soft saturation distortion: y=1.5*x-0.5*x^3 for -1<x<1, y=-1 for x<-1, y=1 for x>1, no oversampling or anti-aliasing

starver

in
out
mod1
damp
rate

Quantizable "starving" distortion
The incoming signal will be quantized into stages and at each stage the signal's amplitude gets "starved" and dives back towards zero. Dive-rate can be controlled
"mod" sets the size of the stages, fully clockwise would be 1 stage only->no change. Lowering the control will make the stages smaller and smaller, adding more and more stages and overtones.
At each quantize-crossing the signal will be starved, like a saw returning to zero. The rate of this change can be controlled using both "damp" and "rate".
Rate controls a clipper that clips the linear change of the signal.

This module is a variation on the dipper module as it AM modulates the incoming signal instead of subtracting a value.
Damp controls the cutoff of a filter that then damps the linearly clipped signal before subtracting it from the original signal before sending it to the output.

subOctaver

in
gain
feed
sub
srate
damp
crossfade
out
gain
feed
stage
srate
sub
damp
crossfade

octaver with sub-octaver
Gain and feed control the amount of higher frequencies being added to the signal
Sub controls the volume of the sub-frequency being added
srate controls the rate of the up/down slopes of the sub (dampening higher harmonics that are created by the sub)
Stage controls the sub-frequency-divider amount
Damp controls the cutoff frequency of the internal 12dB lowpass filter
Crossfade mixes between original and modified signal

subducer

trig
o
rate
slew

a sub-octave generator that has it's highest possible frequency fixed in a particular frequency region no matter the octave of the incoming signal.

symSin

in
mod
out
mod

Symmetrical sineshaper with treshold.
Above the value set by the knob, the signal will turn into a sine-shape. At this treshold the sineshaper will be at 45degrees, thus at a 1:1 ratio, before curving the signal.
This module is alike the sinelord module, but only has a single control for both positive and negative treshold.
Use "asymSin" for asymmetrical distortion.

transRate

in
out
mod1
damp
rate

Quantized maximum change-rate distortion
Based on a lowpass filter, this module clamps the rate at which the input may change before sending it to the filter. This rate is related to the current amplitude of the signal and the change can be quantized as if it is an amplifier with different transistor-stages, each having a different maximum change-rate.
So:
mod1: sets the size of the stages, fully clockwise would be 1 stage only->no change. Lowering the control will make the stages smaller and smaller, adding more and more stages and overtones.

tubey

in
out
gain
powerP
powerN
TransistorGain
TubeGain

A tryout to emulate the workings of a transistor+tube based amplifier.
powerP and powerN knobs set the amount of power that can be delivered for positive and negative rail, the lower, the faster the power is depleted.

updator

in
pitch
freq
phasor
octave
morph
pw

update modulator
the input is copied to the output as long as the internal phase-oscillator is above the pw-value. When it's below, last value will be held.
Result is HP-filtered

wrapper

in
width
mix
out
width
mix

Folds back the signal when it passes the "width" value and scales back the result to normal range.
"mix" mixes between original and changed signal

sss/dyn

TransientDesigner

in
attackA
decayB
gainA
gainB
out

audio transient designer, enhances/dehances(?) attack and/or decay stage of incoming audio

axoComp

in
gainAdd
treshold
attack
Acrv
ACrvRate
release
Rcrv
RCrvRate
ratio
goal
expander
AutoGain
out
smooth

audio compressor
on request of axoman I added a modulation that enables a curved response of the attack/release stages.

comp1

in
out
tresh
ratio
attack
decay
gain
limit
extendA
extendD
in
comp
out
tresh

Dynamic range compressor with soft-treshold function, ratio, attack/release and gain.

compST

inL
inR
outL
outR
tresh
soft
ratio
attack
decay
gain
limiter
in
comp
out
tresh

Dynamic range compressor with soft-treshold function, ratio, attack/release and gain.

compSTSC

inL
inR
side
outL
outR
tresh
soft
ratio
limiter
attack
decay
gain
sidetresh
sideRatio
sideAtt
sideDec
in
comp
out
tresh

Dynamic range compressor with soft-treshold function, ratio, attack/release and gain.
Sidechain lowers the treshold of the compressor, forcing it to duck while keeping the attack/release/ratio response intact for normal compression of the stereo signal. The side-ducking has it's own treshold, ratio, attack and decay.

compander

in
release
out
gainIn
tresh
ratio
expand
slope
release

Dynamic range compressor/limiter/expander.

compressor

in
gainAdd
threshold
attack
decay
ratio
goal
expander
AutoGain
out

audio compressor

compressor2

in
out
tresh
ratio
attack
decay
gain
limit
extendA
extendD
in
comp
out
tresh

Dynamic range compressor with soft-treshold function, ratio, attack/release and gain.

compressorSC

in
sidechain
out
tresh
soft
ratio
attack
decay
gain
sidechain
in
comp
out
tresh

Dynamic range compressor with soft-treshold function, ratio, attack/release and gain.

copycomp

in
copy
out
ratio
attack
dfollow
dcopy

Dynamic envelope copy
Apply the envelope of one signal (copy-input) to the envelope of the other (in-input)
Set follow-rate with attack and decay and follow-amount with "ratio"

copycompRMS

in
copy
out
ratio
attack
decay

Dynamic envelope copy, RMS-based (only 8 samples to keep fast response)
Apply the envelope of one signal (copy-input) to the envelope of the other (in-input)
Set follow-rate with attack and decay and follow-amount with "ratio"

limiter

in
gainAdd
threshold
rate
goal
expander
out

audio limiter

maxsoftLimiter

in
out
delayname
tresh
ratio
release
gain

Hard, but max-softened, limiter.

Don't forget to also add a "delay/write_sdram" module (5.33ms, shortest time) and connect it to the same source as you send to the audio input of the limiter.

The release knob works a bit differently from "normal" operation. It's hard to hear, but the higher the release knob, the more it sustains the sound and it seems to be a bit clearer at low settings (around 1)

sss/edrum

BD1

gate
pitch
env
amp
submix
rateM
rateD
wave
LFO
Pitch
EnvPos
Hit
d1
d2
dV
submix
amp
rate
waveform
destination
width
start

sine wave oscillator

BD2

gate
pitch
freq
phase
wave
pitch
Penv
Pdec
Vdec

sine bass kick

BD3

trig
pitch
mix
Xrate
timing
out
env
div
table
control
next
hold
Vdec
Pdec
Watt
rate
phase
MW
pitch
Pamt
FM
env2wave
mix
hrm
wave
quant
step
sineLvl
waveLvl
start
gain

drum synthesizer with an extra wavetable shaper to add higher harmonics to the sine-base.
Uses wavetables made with the wavetable creator "Creator" (1024 waves of 1024 samples long each)
Seperate envelopes for pitch, volume and noise levels.
Volume envelope can be fed to the end-LP filter (E2C knob)
Noise part has it's own SVF filter with cutoff, resonance and selectable mode(LP,HP,BP,NOTCH)
Best to trigger this with a trigger instead of a gate.

CR1

gate
root
ofs
spread
rotate
decay
crash
influence
rndFM
out
root
ofs
spread
rotate
hit
d1
d2
crash
influence
mode

ROOT sets the base frequency from where the pitch offsets are calculated
OFS sets a frequency offset to the root pitch, functioning as a frequency shifter (remember Bode?).
SPREAD sets an extra offset for each next oscillator pitch (harmonic spreading).
ROTATE shifts the frequencies around, following a sine pattern. Stepsize is set by primes.
HIT sets attack rate
D1 sets start part of the decay rate (short, spikey hits or more "Boings")
D2 sets the end part of the decay rate as the decay reaches zero. Use this to shorten the sound or lengthen it (also depends on D1, which can force the decay down pretty easily)
CRASH sets the FM width between the 6 internal oscillators, creating lots of extra harmoncis up to metallic noise.
INFLUENCE sets the influence of the envelope.

MODE (unused yet, leave this to zero!) will control several different FM routings.

CY1

gate
out
root
ofs
spread
rotate
hit
d1
d2

ROOT sets the base frequency from where the pitch offsets are calculated
OFS sets a frequency offset to the root pitch, functioning as a frequency shifter (remember Bode?).
SPREAD sets an extra offset for each next oscillator pitch (harmonic spreading).
ROTATE shifts the frequencies around, following a sine pattern. Stepsize is set by primes.
HIT sets attack rate
D1 sets start part of the decay rate (short, spikey hits or more "Boings")
D2 sets the end part of the decay rate as the decay reaches zero. Use this to shorten the sound or lengthen it (also depends on D1, which can force the decay down pretty easily)

CY2

pitch
closed
open
wave
decClosed
decOpen
p1
p2
p3
p4
pw1
pw2
pw3
pw4
lvl
pwm1
pwm2
pwm3
pwm4
fmw

non-alliased 4x squarewave based cymbal generator

CY3

gate
pitch
freq
phase
wave
pitch1
pitch2
Penv
Pdec
Vdec

cymbalesque percussion

CY4

trigClosed
trigOpen
pitch
in1
rnd
preset
size
out
size
size
tailC
tailO
rnd
p1
p2
hit
preset

Cymbal/hihat generator based on fdn4 network.
Seperate triggers for open&closed.
8 possible presets

DR0

trig
hold
Vdec
Pdec
Ndec
pitch
Pamt
FM
E2C
sineLvl
noiseLvl
cut
reso
mode
gain
LP
seed
out
Penv
Venv
hold
Vdec
Pdec
Ndec
pitch
Pamt
FM
sineLvl
noiseLvl
seed
E2C
cut
reso
mode
gain
LP

drum synthesizer
Seperate envelopes for pitch, volume and noise levels.
Volume envelope can be fed to the end-LP filter (E2C knob)
Noise part has it's own SVF filter with cutoff, resonance and selectable mode(LP,HP,BP,NOTCH)
Noise is a seeded noise that gets retriggered by the external trigger
Best to trigger this with a trigger instead of a gate.

DR1

trig
waveform
octave
out
env
table
hold
Vdec
Pdec
Ndec
Watt
pitch
Pamt
E2C
sineLvl
waveLvl
noiseLvl
cut
reso
mode
wave
octave
start
gain
LP

drum synthesizer with an extra wavetable shaper to add higher harmonics to the sine-base.
Uses wavetables made with the wavetable creator "Creator" (1024 waves of 1024 samples long each)
Seperate envelopes for pitch, volume and noise levels.
Volume envelope can be fed to the end-LP filter (E2C knob)
Noise part has it's own SVF filter with cutoff, resonance and selectable mode(LP,HP,BP,NOTCH)
Best to trigger this with a trigger instead of a gate.

DR2

trig
hold
waveform
octave
Vdec
Pdec
Ndec
Watt
pitch
Pamt
E2C
sineLvl
waveLvl
noiseLvl
cut
reso
mode
start
gain
LP
out
env
table
hold
Vdec
Pdec
Ndec
Watt
wave
octave
pitch
Pamt
sineLvl
waveLvl
noiseLvl
E2C
cut
reso
mode
start
gain
LP

drum synthesizer with an extra wavetable shaper to add higher harmonics to the sine-base.
Uses wavetables made with the wavetable creator "Creator" (1024 waves of 1024 samples long each)
Seperate envelopes for pitch, volume and noise levels.
Volume envelope can be fed to the end-LP filter (E2C knob)
Noise part has it's own SVF filter with cutoff, resonance and selectable mode(LP,HP,BP,NOTCH)
Best to trigger this with a trigger instead of a gate.

DR3

trig
hold
mix
env2wave
waveform
step
octave
Vdec
Pdec
Ndec
Watt
pitch
Pamt
E2C
sineLvl
waveLvl
noiseLvl
cut
reso
mode
start
gain
LP
out
env
div
table
hold
Vdec
Pdec
Ndec
Watt
wave
env2wave
octave
pitch
Pamt
sineLvl
waveLvl
noiseLvl
E2C
cut
reso
mode
start
gain
LP
mix
quant
step

drum synthesizer with an extra wavetable shaper to add higher harmonics to the sine-base.
Uses wavetables made with the wavetable creator "Creator" (1024 waves of 1024 samples long each)
Seperate envelopes for pitch, volume and noise levels.
Volume envelope can be fed to the end-LP filter (E2C knob)
Noise part has it's own SVF filter with cutoff, resonance and selectable mode(LP,HP,BP,NOTCH)
Best to trigger this with a trigger instead of a gate.

DR4

trig
hold
mix
env2wave
waveform
step
octave
Vdec
Pdec
Ndec
Watt
pitch
Pamt
E2C
sineLvl
waveLvl
noiseLvl
cut
reso
mode
start
gain
LP
out
env
div
table
hold
Vdec
Pdec
Ndec
Watt
repeat
wave
env2wave
octave
pitch
Pamt
FM
sineLvl
waveLvl
noiseLvl
E2C
cut
reso
mode
start
gain
LP
mix
quant
step

drum synthesizer with an extra wavetable shaper to add higher harmonics to the sine-base.
Uses wavetables made with the wavetable creator "Creator" (1024 waves of 1024 samples long each)
Seperate envelopes for pitch, volume and noise levels.
Volume envelope can be fed to the end-LP filter (E2C knob)
Noise part has it's own SVF filter with cutoff, resonance and selectable mode(LP,HP,BP,NOTCH)
Best to trigger this with a trigger instead of a gate.

DR5

trig
bass
pitch
decay
bottom
bottom
hit
noise
bass
bottom
hit
noise
bPunch
hPunch
nPunch
bDec
hDec
nDec
mod
octaves
seed
bassFade
fadeLvl

Kick/tom/snare generator with seperate outputs for different parts of the sound.
Bass-signal can be routed through "bass" input for ducking.

DRcym

closed
half
open
vel
waveform
pitch1
pitch2
FMW1
FMW2
mix
mixmod
noise
out
div
table
Dclosed
Dhalf
Dopen
pitch1
pitch2
SS
2open
noise
FMW1
FMW2
W1
W2
mix2
mixmod
quant2
start2
step2
HP

Hihat/Cymbal/Percussion module using a wavetable to provide multiple timbres easy (use waveformGenerator module for creating waveforms),
Uses 2 internal cross-modulated oscillators and has 3 different trigger inputs for closed/half-open/open hihats or any other percussion.
Oscillator 2 has a soft-sync function, reversing it's frequency.
The "open" trigger's soft-sync can be set independently from the closed and half-open triggers.

Oscillator 1 only has a selector to select a wave from the wavetable.
Oscillator 2 can morph through the wavetable. This is done by the "mix" parameter/input as well as the "modmix"-amount that adds the envelope to the "mix".

"quant" sets the amount of waveforms that will be present between a mix of 0 and 64.
"start" offsets the selected waveforms, so you can cover different parts when using the "mix". This is also adding to the input of the stepsize:
"step" sets the jumpsize from one waveform-index to the next waveform-index, putting different waveforms next to each other.

Pairs very well with the qRnd8Morph module!

HH1

close
open
wave
CloseDec
OpenDec
octaves

simple hihat

HH2

trigClosed
trigOpen
pitch
negDec
out
o1
hitC
hitO
tailC
tailO
Pamt
fA
AmixB
fB
FM
cut
reso

Hihat module with open/close triggers.

HH3

trgCl
trgOp
negDec
digital
hp
pitch
tune
tfm
chance
decCl
decOp

Hihat module

SN1

gate
pitch
freq
phase
wave
pitch1
pitch2
Penv
Pdec
Ndec
Vdec
octaves

snare

SN2

trig
pitch
negDec
out
hit
tail
Pamt
fA
AmixB
fB
FM
cut
reso

Snare drum
Two oscillators, two frequencies (fA, FB), but one frequency "hit" starting point (Pamt)

TM1

trig
pitch
hit
out
pitch
hit
tail

Tom module based on the resonatorP filter.

anaKick

trig
pitch
tail
polynomial
burst
out
gain
pitch
tail
hit
polynomial
burst

Based on a stripped version of my mostFilter3 design, this emulates an impulse driven resonator. The impulse is an lfsr-burst with controllable polynomial and burst length, this should allow a fair amount of different clicks for your kick.
The impulse is also used to drive the "hit" modulation of the pitch.
Tail is the resonance of the filter, which is set to a really low damping for a longer resonance tail.

sss/env

ADSRBezMem

A1
A2
A3
D1
D2
D3
R1
R2
R3
sel
in
trg
A1
A2
A3
D1
D2
D3
R1
R2
R3
A1
A2
A3
D1
D2
D3
R1
R2
R3

This is the control module for the ADSRbezier module curve controles, so you'll only need one knob and a selector to control all 9 curve parameters

ADSRbezier

gate
A1
A2
A3
D1
D2
D3
R1
R2
R3
out
ATim
DTim
SLvl
RTim

ADSR-type envelope with custom bezier curving for each stage

ADSRcrv

gate
A
crvA
D
crvD
S
R
crvR
out
stage
nxtStg
A
crvA
D
crvD
S
R
crvR

ADSR module with exp/inverse exp controls for attack, decay and release stages. Also outputs stage number and a gate high when it changes from stage (eg selecting different waveforms for my wavetable oscillators for each stage. you could use the autoCurve (patt-folder) to morph between settings at the different stages of the envelope.)

the exponential/inverse exponential sides of the A, D and R are swapped for D and R. This is done for a more intuitive control:
-dial it left->signal is mostly low (exp for attack, inv-exp for decay and release)
-dial it right->signal is mostly high (inv-exp for attack, exp for decay and release)

ADSRcrv2

gate
time
slope
S
R
crvA
crvD
crvR
Scrv
out
attack
stage
nxtStg
slope
time
S
R
crvA
crvD
crvR
ScrvA
ScrvD
ScrvR

ADSR module with exp/inverse exp controls for attack, decay and release stages. Also outputs stage number and a gate high when it changes from stage (eg selecting different waveforms for my wavetable oscillators for each stage. you could use the autoCurve (patt-folder) to morph between settings at the different stages of the envelope.)

the exponential/inverse exponential sides of the A, D and R are swapped for D and R. This is done for a more intuitive control:
-dial it left->signal is mostly low (exp for attack, inv-exp for decay and release)
-dial it right->signal is mostly high (inv-exp for attack, exp for decay and release)

this version has a single time control for the "attack" part, which sets the combined time for attack and decay.
The slope control sets the "fastest" side: left for fast attack (and slow decay), right for fast decay (and slow attack).
It also has an S-curve control, this dials in S-curves for all stages. Negative S-curve is inversed S-curve (force to mid-position)

ADcrv

trig
env
a
d
curveA
curveD
mode
gated

Attack/decay envelope, curved envelopes.
anti-clockwise: exponential
clockwise: inverse exponential

Mode: changes the response of the curveD parameter-> instead of setting the decay-curve directly, it uses curveA as base-value and curveD gives an inversed curve-offset to the attack and decay

gated sets the attack-response to gated instead of triggered. In trigger-response it only goes to the decay-stage when it reaches it's maximum. Also, when if a new trigger comes in, it won't be reset.

ADloopR

gate
a
d
s1
ds1
s2
ds2
r
env
stage
a
d
s1
ds1
s2
ds2
r

Attack/decay/sustain/release envelope with modulation inputs

ADorADSR

gate
env
a
d
s
r

Auto-switching attack/decay or attack/decay/sustain/release envelope
trigger=1->AD envelope
trigger=2->ADSR envelope

ADtimecrv

trig
env
a1
a2
d1
d2

Attack/decay envelope, with envelope-output crossfading between attack/decay values.

AHDSR

gate
a
h
d
s
r
env
a
h
d
s
r

Attack/hold/decay/sustain/release envelope with modulation inputs

AHDSRa

trg
out
a
h
d
s
r

very smooth audio-rate AHDSR envelope based on a 6dB LP filter that responds to velocity-triggers (multiply gate with velocity using float-multiplier)

Dcrv

trig
env
d
curveD

curved decay envelope.
anti-clockwise: exponential
clockwise: inverse exponential

Env2

gate
env
a
d
s
r

Auto-switching attack/decay or attack/decay/sustain/release envelope
trigger=1->AD envelope
trigger=2->ADSR envelope

Env3

gate
env
a
d
s
r

Auto-switching attack/decay or attack/decay/sustain/release envelope
trigger=1->AD envelope
trigger=2->ADSR envelope
trigger=3->AHR envelope (sustain=hold time)

adDmod

trig
a
d
skew
shift
env
a
d
skew
shift
expo

Attack/decay envelope, linear attack, linear to exponential decay with skew and shift function for start-mid-end decay rate for different tail shapes.

ahdsr2v

trig
main
env1
env2
trg1
trg2
s1
n1
s2
n2
ms
mn
a
h
d
s
r

2 voice Attack/hold/decay/sustain/release envelope, linear attack, exponential decay and release.

The main out gives the highest envelope (max of 1/2), this is how it would be if just a single envelope was used (monophonic). Use this, for example, for a filter or if you're using only a single oscillator.

Envelope 1 and 2 are used together with 2 oscillators and vca's to produce a dual-voice. With every new gate, the next envelope goes into attack stage and the other is forced into release state, fading out the voice.

decRep

trig
d
env
d
repeat

decay envelope, linear ramp, modulation input

env2lfo

gate
rate
AM
combo
env
wave
combo
a
d
s
r
envMODE
wave
rate
sync
startphase
LFM
EFM
invFM
PM
AM
invAM
combo

Combination of a 3 mode envelope and an internally modulated LFO.

envelopes:
0=attack/release envelope.
1=attack/decay/sustain/release envelope
2=attack/hold high/release

waveforms:
0=sine
1=tri
2=saw
3=ramp
4=square
(all non-alliased)

combo-modes:
0=select envelope, AM controls maximum level
1=select LFO, AM controls maximum level
2=AM morphs between envelope and LFO with middle position being an amplitude modulation of envelope and LFO.
3=AM morphs between envelope and LFO
4=envelope, AM sums/subtracts amplitude modulated LFO

invAM inverts the envelope (high->low,low->high) before doing AM with the LFO.

gravity

trig
out
gate
height
throw
gravity
damp
friction

emulation of a bouncing ball with dampening factor when it "hits" the floor, friction factor because of the "air" and a bouncing ceiling for if you throw it too hard into the air ;)
gravity sets the rate the speed of the ball will change over time.
height sets the starting position of the ball when a trigger is received in the trigger input.
throw sets the starting speed of the ball when a trigger is received in the trigger input.

hahdEnv

trig
env
delay
attack
hold
decay

delay/Attack/hold/decay envelope, linear attack, exponential decay
triggered, not gated

pulseEnv

trig
env
a
h
d
t

Attack/hold/decay envelope with treshold, linear attack, exponential decay to enable square shaped envelopes.
Added a hold stage by amplifying the envelope and clipping it.
The treshold also amplifies the envelope, but also lowers it with the treshold level, while clipping it below zero. Enabling quick stops as if the exponential decay is partly linear.
With hold and treshold all the way up, the envelope is almost squareshaped. In this case, the decay sets the pulse length.

quadEnv

trig1
trig2
trig3
trig4
Amorph
Dmorph
env1
env2
env3
env4
max
Amin
Amax
Amorph
Dmin
Dmax
Dmorph

Quad Attack/decay envelope, linear attack, exponential decay.

"Amin", "Amax", "Dmin" and "Dmax" define the range of the attack and decay values for all 4 envelope generators.
Values are spreaded following a sine-curve of 45 degrees offset for each envelope.
"Amorph" and "Dmorph" set the position within the sine-curve, allowing to morph all attack and decay values simultanuously between minimum and maximum range.

rADSR

gate
retrig
reset
env
a
d
s
r
modrate
mod

Attack/decay/sustain/release envelope with retrigger and hard-reset inputs

shelves

trig
rst
env1
env2
env3
env4
env5
env6
env7
env8
a
d
time
start

8x Attack/decay envelope, linear attack and decay
envelope 1 is triggered at each high-gate at the trigger input.

The other envelopes are triggered at a clock-divided rate. The clock-divisions to be used are set with the "time" knob. The clock-division also divides the slope-rates based on the A and D parameters.

"start" offsets the reset-position. When zero, all clocks will trigger at first trigger after reset. Higher numbers will create different combinations of phase-relations between envelopes.

stageTrig

stage
trg
o
stage

only lets the trigger through as the stage input matches the stage selector.
To be used together with the ahdsr2v module.

startupFadeIn

a
o

smooth volume intro at startup

syncEnv

gate
sync
out
stage
division
A
D
S
R

(no description)

sss/filt

AA

i
o
01
02
03
04
05
06
07
08
09
10
11
12

description

sss/filter

2facedCtrl

pitch
vol
env
lfo
mod
glide
preset
filter1
filter2
t1
f1
t2
f2
presets
pitch
glide
preset
rnd
allRnd
track
spread
vol
env
lfo
mod
FM
TM

Control module for the 2facedFilter-module
Connect several modulation sources and an internal randomisable modulation matrix will control the modulation-widths of all the modulation-inputs for each output.
Level-controls are there for easy control over overall max-modulation-widths.

2facedFilter

in
time1
filter1
cutoff1
resonance1
drive1
time2
filter2
cutoff2
resonance2
drive2
out
filter1
filter2
time1
feed1
filter1
cutoff1
resonance1
gain1
drive1
time2
feed2
filter2
cutoff2
resonance2
gain2
drive2

Dual allpass/phaser and dual SVF multi-filter.
Filter-modes are LP1 - HP1 - BP1 - BR1 - LP2 - HP2 - BP2 - BR2.
Depending on being filter 1 or 2, the 2nd filter-mode is a different combination of allpass/phaser, crossover/filter and serial/parallel processing settings.

Use 2FacedCtrl-module for easy time/frequency modulations (randomisable presets).

36dbLP

in
cut
res
out
cut
res

36dB filter with resonance

3bandCross

in
HP
BP
LP
high
low

description

3cousins

all
high
band
low
pitch
span
hfrq
bfrq
lfrq
all
high
band
low
pitch
span
smode
highmode
lowmode
bandQ
lowres
bandres
highres

Same topology as 3 sisters eurorack filter module, but no effort is done to make it sound like it. Also added some extra individual controls for the three seperate bands.
All three filters have a resonance feedback control that goes in two directions.
Negative values will create a lot of distorting resonance at high settings and gives a "fat ring"
Positive values have a thinner resonance attitude.

3xPara

in1
C1
B1
G1
C2
B2
G2
C3
B3
G3
out
C1
B1
G1
C2
B2
G2
C3
B3
G3
gain

Dual Mode-morphing state-variable-filter.
-Using a saw-wave LFO as input for the ModeX(1/2/A) creates a quadrature reading through:
LP->BP->HP->Notch->LP
ModeX1 and ModeX2 will control the modes of filters 1 and 2 respectively.
ModeXA controls both modes at the same time.
-depending in which input you send your audio, it will respond differently:
-in1->normal response
-in2->inversed filter response at filter 1, normal for filter 2
-in3->only send to filter 2 as inverse filter response
-modeY1 controls the offset from the center, this control has an inversed response, meaning, a high input will force the mix to a centered mix of all filter modes. When above 64, it will inverse the filter responses, turning LP to HP, HP to LP, BP to Notch and Notch to BP.
-SerialSel controls the amount of each audio input to be send to filter2 input when serial mode is mixed in.
-SerPar mixes between serial and parallel mode for filter 1 and 2.
-drive controls the drive over the resonance (BP filter part that influences the other filters)

3xbiquad

in
pitch1
reso1
gain1
pitch2
reso2
gain2
pitch3
reso3
gain3
out
pitch1
reso1
gain1
pitch2
reso2
gain2
pitch3
reso3
gain3

2-pole resonant band-pass filter (biquad)

6dBresLP

in
pitch
env
LFO
out
gain
freq
envCut
lfoCut
res
envRes
lfoRes
offset
width

6dB Lowpass filter with extra lowpass and highpass filters in the resonance path (creating a bandpass filter).
The resonance-frequency can be offset respective to the cutoff frequency
The resonance bandwidth can be set with the "width" control.

Seperate inputs for pitch, envelope and lfo are added to allow for different responses to these signals for both cutoff and resonance.

AA2

in
out
stack

Stackable anti-alliasing filter.

AP1

in
freq
out
freq

1st order allpass filter
LP-HP

AP2

in
freq
out
freq

2nd order ALLPASS biquad filter with resonance at 0 (=equal slope).
LP-HP

BPstack

in1
pitch1
Pspread
reso1
rate
spread
depth
phase
out
pitch1
Pspread
reso1
rate
spread
depth
mode
stack

Up 16x stackable BP-filter
-pitch controls the center frequency of all filters
-Pspread spreads the frequencies of all the filters over the entire spectrum
-reso sets the resonance amount
-rate sets the frequency modulation rate
-spread sets adds a phase-offset of each next filter-LFO
-depth sets the modulation depth
-stack sets the amount of filters that will be stacked (max=16)

Bandpass_amplitude

in
pitch
presence
reso
emphasis
out
pitch
presence
reso
emphasis

Dual bandpass filter, state-variable type, modulation inputs.

A version without resonance in subtracted from a version WITH resonance, leaving mostly the resonance.
Then both the filter without resonance and the resonance-only signal's amplitude get multiplied by respectively presence and emphasis.
You have thus independent control over the amplitude of the filtered signal as well as the resonance!
Resonance path has saturation, creating grit here and there.

BiQmd

i
p
r
m
m
s
p
r
g
m

2-pole resonant filter (biquad)
4 modes and two different outputs:
0=off
1=LP/lowshelf
2=HP/highshelf
3=BP/parametric

LPGmix

v
sine
harmonics
o

combination of a crossfader and a lowpass gate
When input v goes up, crossfades from sine input to harmonics input, while opening up the filter cutoff on the harmonics input.

LPHQOS

in
pitch
res
out
pitch
res
spread
OS
poles

multi-oversampled and multi-pole lowpass filter.
"Spread" spreads out the cutoff frequencies a bit of the various poles.

LPos

in
cut
res
mode
out
cut
res
mode

oversampled 2nd order LP filter.
2 modes for resonance:
off=normal
on=resonance is ringmodulated with itself (kind of resonance octaver)

MMAP

i1
cut
width
o1
cut
mod
abs
width
resonance
mix
mode1
mode2

Multimode filter based on two allpass filters, functioning as poles for the filter.
Depending on the modes of the filters and (bipolar) mix amount, LP, BP, HP, NOTCH, HIGHSHELF, LOWSHELF and PEAK filters can be created and morphed into each other.

As the basis is an allpass filter, the cutoff frequency will fold back if it goes over 64 or below 0. This can change the filter type as well as peak width.

allBiqModes

in
center
width
side1
side2
invert
noise
center
width
side1
side2
invert

This filter is build up from 2 biquad allpass filters. Depending on how they're summed/subtracted (side knobs) a LP, HP (invert knob), BP, lowshelf and highshelf filter can be created

armBPsvf

in
pitch
reso
out
pitch
reso
mode

Bandpass filter, state-variable type, audiorate modulation inputs (use with complexSH oscillator and armMOD for complex filtering)

armMOD

phase
pitch
rnd
offset
length
o
size
mw
track
length

Audio rate modulator meant to be used with an audio-rate modulatable filter
phase input reads from internal interpolated table so a waveform (eg. my complexSH oscillitor)can be filtered differently over the course of it's phase to further alter the spectral content of the waveform.

basicformantcontrol

voice
vowel
morph
frq1
frq2
frq3
frq4
frq5
bw1
bw2
bw3
bw4
bw5
gain1
gain2
gain3
gain4
gain5
sine
hold
voice

basic formant controller
connect all the outputs to the corresponding input of the formant filter.
you can use the 8xsmoother from my "maths" folder to smooth out changes, so it sound more like talking.

bppBIQ

in
pitch
reso
center
width
out
cutoff
center
width
resoHP
resoLP
resoC
peak

3x 2-pole resonant filters (biquad)
1 LP and 1 HP to create a band-width-controllable BP filter and a 3rd filter in BP mode which is added as an extra peak inside the set band ("center" cutoff range is normalised to bandwidth of LP and HP filters).

Uses "object oriënted" coding, allowing the user to easily create his own filter.
If you want to add more filters, don't forget to add buffers for each extra filter:
as shown in local data-> int32_t tmp1[BUFSIZE] for the first filter)

bppSVF

in
cutoff
reso
center
width
out
cutoff
center
width
resoHP
resoLP
resoPeak
peak

3x 2-pole resonant filters (SVF)
1 LP and 1 HP to create a band-width-controllable BP filter and a 3rd filter in BP mode which is added as an extra peak inside the set band ("center" cutoff range is normalised to bandwidth of LP and HP filters).

chamSVF

in
pitch
reso
drop
spread
lp
hp
bp1
bp2
no1
no2
pitch
reso
drop
spread

multimode chamberlin based svf filter
2 extra parameters: drop&spread
-drop can remove the volume drop in the passband when resonance is high
-spread spreads the upper and lower cutoff bands
-for notch, use a low resonance value to have a noticable dip in the audio spectrum

combinor

in1
in2
in3
in4
pitch1
pitch2
cut
out
size
pitch1
pitch2
cut
feed1
feed2
res1
res2

2 combfilters combined with a differential LP/HP filter.
used to mix 4 different signals, 2 for low frequencies and 2 for high frequencies. Due to use of differential subtractions of the filters from the original inputs, each input will fill up different parts of the audio spectrum.

combfilter 1 has input 1 and 2 as inputs, but input 2 is subtracted, creating a positive combfilter response for input 1 while having a negative combfilter response for input 2. (when the volume of one's peaks is high, the other's peaks will be low).
The same is done for combfilter 2, but this uses input 3 and 4. Here, 4 will be the negative combfilter response.

The two combfilters are then fed to a Lowpass filter after which the 2nd combfilter will be subtracted to get a HP response for this channel. So the 1st combfilter only has the low part of the spectrum and the 2nd combfilter will be in the high part spectrum.

The combfilter frequencies are controlled with "pitch1" and "pitch2" respectively
The LP/HP filter cutoff frequency is controlled with "cut"

Both the combfilters as well as the filter have feedback control:

-The feedback of the combfilters is controlled with feed1 and feed2 respecively.

The filter resonance can be added to two positions:
-before the combfilter, creating lots of resonance and weird harmonic-shifting behavior->res1 control
-after the combfilter, back into the filter itself-> res2 control

complexDualSVF

in1
in2
center
width
reso1
reso2
filename
preset
save
load
out
presets
center
width
reso1
reso2
link
InputsToFilter1
1to1
2to1
UseFilter1Outputs
LP1
HP1
BP1
NO1
MixInputsToFilter1Output
1mix1
2mix1
ON2
InputsToFilter2
1to2
2to2
mixto2
LPto2
HPto2
BPto2
NOto2
UseFilter2Outputs
LP2
HP2
BP2
NO2
MixInputsToFilter2Output
2IN2
1mix2
2mix2
summix1
MixFiltersToOutput
outmix1
outmix2
FilterQuickConfigurationMenu
rnd
preset

dual state-variable filter with lots of different configuration options.
read the desciption of the controls to know what they do or just hit "rnd" till you got a nice preset.
Editing of the config controls is directly send to the preset position in the internal array.
amount of table-presets can be set with the "presets" control.
for quick-setting the filter, you can use the "rnd" button at the bottom, which will randomise all the config settings.
table of presets can be saved by sending a gate-high to the save input
table of presets can be loaded by sending a gate-low to the save input

Remember, changing a setting directly overwrites the internal table, but doesn't overwrite the saved table unless you actually save it (connect a button to "save" input and hit it while in play).
To load presets from a file, send a trigger to the "load" input. Using an or-combiner, you can send an automatic pulse when you start a patch, auto-loading the selected file.

damper

in
out
damp

Dampens an audio signal by fading out the difference between samples.
eg. dampens non-bandlimited saw/pulse waveforms or any other waveforms that have sudden jumps in the signal.
eg. removes clicks from audio

declick

in
out
damp
threshold

waveform de-click module
when the waveform has sudden changes in it's dirac difference, the sudden offset will be fed into a LP filter, which then "slowly" fades the offset back to zero.

diracFilter

in
out
cut
gain
smooth
mode

weird dirac/slope-change filter, mostly used for taking away fast changes in the signal rate-change (like in saw and pulse waves).

It takes the difference of the difference of the difference between 2 samples.
The last one is the current rate, the incoming signal is changing.
The middle one is the rate at which this incoming rate is changing.
And the first one would then be the change-rate of the changerate of the rate of the incoming signal.... get it?

The faster the signal-rate-change changes, the more it will push down the frequency of the LP filter, removing more high frequencies and thus, smoothing the signal where it's needed.

dirtSVF

in
cut
reso
mode
width
x
y
gain
out
cut
spread
reso
gain
mode
width

multimode filter, state-variable type.
"mode" morphs through the filter types circularly, while "width" controls the distance from center mix.
"x" and "y" inputs can offset the circular motion.
bandpass gain can be increased, forcing it to clip the signal.
"Spread" creates a difference between cutoff frequencies when incoming signal is higher or lower then the output signal.

dualMorphSVF

in1
in2
in3
pitch1
pitch2
reso1
reso2
modeXA
modeX1
modeX2
modeY1
modeY2
SerialSel
SerPar
out
pitch1
pitch2
reso1
reso2
mode1
mode2
SerialSel
SerPar
drive1
drive2

Dual Mode-morphing state-variable-filter.
-Using a saw-wave LFO as input for the ModeX(1/2/A) creates a quadrature reading through:
LP->BP->HP->Notch->LP
ModeX1 and ModeX2 will control the modes of filters 1 and 2 respectively.
ModeXA controls both modes at the same time.
-depending in which input you send your audio, it will respond differently:
-in1->normal response
-in2->inversed filter response at filter 1, normal for filter 2
-in3->only send to filter 2 as inverse filter response
-modeY1 controls the offset from the center, this control has an inversed response, meaning, a high input will force the mix to a centered mix of all filter modes. When above 64, it will inverse the filter responses, turning LP to HP, HP to LP, BP to Notch and Notch to BP.
-SerialSel controls the amount of each audio input to be send to filter2 input when serial mode is mixed in.
-SerPar mixes between serial and parallel mode for filter 1 and 2.
-drive controls the drive over the resonance (BP filter part that influences the other filters)

dualvcf3

in
pitch
reso
out
pitch
reso

4-pole (instead of 2-pole) resonant low-pass filter (biquad), filter updated at k-rate
added a softdrive between the two filters two prevent too loud/wrapping signals

endBand

inL
inR
outL
outR
highshelf
LP
HP
lowshelf

stereo dual filter for end-applications (eg. before output)
HP-frequency for removing low frequencies/DC-offset, lowshelf for volume of removed frequencies by highpass filter
LP-frequency for limiting high frequencies, highshelf for volume of removed frequencies by lowpass filter

filterCORE

(no controls)

THIS MODULE ONLY CONTAINS THE FILTER CODES!
Use the filterSlave module and refer to this core module to make use of it's 16 filter codes.

type1=normal filters based on cascaded 6dB filters without resonance. Res knob controls cascading/filter mode (HP/LP)
type2=SVF filters
type3=Biquad filters
type4= my own custom filters

for type1 counts:
1=cascadable 6dB LP filters. from 0dB slope up to 48dB
2=cascadable 6dB HP filters. from 0dB slope up to 48dB
3=12dB LP-BP-HP morphable based on two 6dB filters
4=18dB LP-BP1-BP2-HP morphable filters based on three 6dB filters

for type 2 and 3 counts:
1=LP
2=HP
3=BP
4=NOTCH

for type 4 counts:
1=36dB LP with control over cutoff and resonance
2=mostfilter2 LP version with control over cutoff and resonance
3=mostfilter2 HP version with control over cutoff and resonance
4=mostBfilter LP, a new filter which internally boosts the signal to get a more aggressive character

filterMix

HP
BP
LP
HiCut
LoCut
ResHP
ResBP
ResLP
Morph
out
morph1
morph2
morph3
HiCut
LoCut
ResHP
ResBP
ResLP
morph

1st order HP, BP and LP filters and unity-gain mixer (actually, this module only needs 2 6dB LP filters to do the job).
2 cutoff controls
ability to morph the inputs over the different filters one by one at unity gain.
3 seperate resonance paths

filterSLAVE

in
cut
res
MT
out
core
cut
res
mode
type
allpass
add

THIS MODULE TAKES USE OF THE CODES INSIDE THE "filterCORE" MODULE
Add the filterCORE module to provide the codes and refer to it using the Object-reference attribute
More then one filter can refer to the codes, so the codes are only added once to save space!

type1=normal filters based on cascaded 6dB filters without resonance. Res knob controls cascading/filter mode (HP/LP)
type2=SVF filters
type3=Biquad filters
type4= my own custom filters

for type1 counts:
1=cascadable 6dB LP filters. from 0dB slope up to 48dB
2=cascadable 6dB HP filters. from 0dB slope up to 48dB
3=12dB LP-BP-HP morphable based on two 6dB filters
4=18dB LP-BP1-BP2-HP morphable filters based on three 6dB filters

for type 2 and 3 counts:
1=LP
2=HP
3=BP
4=NOTCH

for type 4 counts:
1=36dB LP with control over cutoff and resonance
2=mostfilter2 LP version with control over cutoff and resonance
3=mostfilter2 HP version with control over cutoff and resonance
4=mostBfilter LP, a new filter which internally boosts the signal to get a more aggressive character

filther

lp
hp
cut
out
cut
extCut
max
darkness

a custom designed filthy lowpass filter with resonance-brightness
"cut" controls the filtering of the increase/decrease for the linear filter, causing a frequency-controlled linear smoothing of the signal, but also inducing a raw resonance.

"max" sets a maximum to the linear changing rate, causing an extra linear lowpass filtering of the input signal and resonance.

"darkness" feeds back the output to the input of the filter.
notice though, that due to the design of the filter, there's always resonance and the resonance knob just fades between bright and dark resonance.

filtortion

in
pitch
up
down
P
N
out
pitch
up
down
res
P
N
smooth

Filter that has it's origin in a modification of the envelope follower in the "compressor" module..
-Independent rise/fall (cutoff) offset slopes
-Input "Greater/smaller then" filter adjustment of rise/fall switching
-Switching between greater/smaller adjustment is smoothed by "smooth" parameter

resonance... ghehehehe... let it snow, let it snow, let it snoooooooow XD

fir16mod

in
rnd
preset
sync
out
size
presets
rnd
size
rate
mod
preset
softsync

finite impulse response filter, with up to 8 presets of 16 randomisable coefficients and offset-modulation.
(help-file into a single module)

firRND

seq
rnd
coefs
rnd
update
rate
width
change
smooth

Generates random FIR-coëfficients for the FIR filter

formantFilter

in
frq1
frq2
frq3
frq4
frq5
bw1
bw2
bw3
bw4
bw5
gain1
gain2
gain3
gain4
gain5
resonance
out
resonance
mode

Formant filter
Connect the corresponding outputs on the formant controller to the inputs of the filter.
Feed a signal into the "in" input to induce the formants on (normally a saw is used, but you can use any oscillator!)

Two BP filter modes (I like 2 the most with resonance set to around 20).

The resonance knob adds extra resonance to the normal settings (so 0 would be the setting set by the formant controller, but I like the resonance to be a bit higher).

If you have high volume problems, lower the volume of the input sound or add the "fatbasterd" module to soft-clip it.

inverseFilter

in
out
rate

Linear maximum changerate filter.
Limits the rise/fall of the input signal, adding harmonics to the signal.
Eg. a sine turns into a triangle.

lpHmod

in
freq
out
freq
slope
res
starve

1st order lowpass filter with resonance and self-modulation with the highpass output to increase the slope steepness
The starve parameter allows to continuously subtract an amount from the LP buffer, forcing it to zero

morphModeFilter

in
cutoff
res
mode
out
cutoff
res
mode
BW

morphable LP<->BP<->HP filter with resonance and cutoff spread between LP and HP settings(BW).

Using 4 standard filters which are morphed from LP to HP one by one using the "mode" parameter.
This enables lots of different filter types from 1 knob:
-24dB LP
-6dB HP & 18dB LP (Bandpass filter)
-12dB HP & 12dB LP (Bandpass filter)
-18dB HP & 6dB LP (Bandpass filter)
-24dB HP
-and every single position in-between

Center position is bandpass, lowest position (negative) is lowpass and highest position (positive) is highpass.
Resonance works in all modes, though only the LP filter has self oscillation.

mostFilter

in
iv
pitch
freq
resonance
out
freq
resonance
mode
mod

Custom designed 2-stage filter with crossfade between LP, BP and HP using the "mode" control.
2nd input is an inversed input with inversed filter effects: HP, NOTCH and LP respectively.
The "mod" control is an extra filter control, softening the sound, though distorting at higher mod and resonance settings with higher frequencies. It came as a possible extra control within the design..

mostFilter2

in
iv
pitch
env
freq
resonance
mode
Mod
out
freq
resonance
mode
Mod
env

Custom designed 2-stage filter with crossfade between LP, BP and HP using the "mode" control.
2nd input is an inversed input with inversed filter effects: HP, NOTCH and LP respectively.
The "mod" control is an extra filter control, softening the sound, though distorting at higher mod and resonance settings with higher frequencies. It came as a possible extra control within the design..

mostSVFOS

in1
in2
freq
BW
res
LP
HP
BP
BR
freq
BW
resM
resBP
resHP
resLP
resBR
OS

oversampled multi-mode output filter.
Use "rotationMix" module to morph through the available outputs easily.

I kind of designed this filter from scratch, beginning with a simple 6dB LP filter and changing/adding codes to get the other filter modes. It result resembles the normal svf-filter, but there are some differences.
First of all, the 4 modes each have their own resonance gain-control. This adds more BP-filtered signal to the respective filter-mode. Note though, that this is in the internal filter path, thus so also changing the response of the other filter-modes. This way, this filter can have lots of different responses for both filter-mode, frequency roll-off and resonance.

The resBP/LP/HP/BR should be seen as settings, though can be altered live. The live resonance control should mostly done with the res-input and resM (main resonance gain controls)

mostfilter2nd

in
freq
damp
mode
tame
out
freq
damp
mode
tame

2nd order "most" filter with continuous mode selection lp->bp->hp

mostFilter3

in
cut
res
out
res
cut
res
Fdrive
Rdrive
Ftreshold
Rtreshold
slope
hp

My own filter, with a filtering based on the workings of "gravity".
This version has limiters/distortions added in both the normal filter path as well as the "resonance" path (the rate at which the filter can respond) and also just before the filter to prevent errors caused by "too hot levels".
-first stage: soft-clipping (native soft-distortion algorithm)
-second stage: adding an extra 6dB LP-filter. Note though, that this has another effect when in HP-mode, actually adding back bass to the HP-filter because of phase-differences caused by the 2-sample delay.
-third stage: calculating the rate-in/decrease based on input and current filter position
-fourth stage: limiting the rate
-fifth stage: applying rate to filter
-sixth stage: limiting the filter
-seventh stage: optionally adding inversed input signal to filter to get HP-mode.

The "treshold" limiter is a hard-clipper.
The "drive" subtracts a 3rd degree power from the signal to limit it's range. Because of the curve, it has a bit softer distortion then the hard limiter.

multiType

in
cut
res
MT
out
cut
res
mode
type
allpass

any type and any mode filter

type1=normal filters based on cascaded 6dB filters without resonance. Res knob controls cascading/filter mode (HP/LP)
type2=SVF filters
type3=Biquad filters
type4= my own custom filters

for type1 counts:
1=cascadable 6dB LP filters. from 0dB slope up to 48dB
2=cascadable 6dB HP filters. from 0dB slope up to 48dB
3=12dB LP-BP-HP morphable based on two 6dB filters
4=18dB LP-BP1-BP2-HP morphable filters based on three 6dB filters

for type 2 and 3 counts:
1=LP
2=HP
3=BP
4=NOTCH

for type 4 counts:
1=36dB LP with control over cutoff and resonance
2=mostfilter2 LP version with control over cutoff and resonance
3=mostfilter2 HP version with control over cutoff and resonance
4=mostBfilter LP, a new filter which internally boosts the signal to get a more aggressive character

multiband

in
pitch
reso
out
inv
mode
pitch
reso

2-pole resonant 3x multimode filter (LP,HP,BP)(biquad) for multiband purposes
The "inv" output subtracts the filtered signal from the original signal to get an inverted response. (input-filter=leftover).

Eg. use this to create a multi-band-compressor/distortion/delay.
Connect the "out" output to a compressor/distortion/delay and send the "inv" output to the next filter-stage as this signal is the "left-over" part that has been filtered away.

multiladder

in
freq
spread
BW
res
out
freq
spread
BW
res
LP
HP
feed
gain
max

nth order lowpass and bandpass filter (max filters=32)
freq sets cutoff center frequency
spread spreads the cutoff frequencies between cascaded filters (for HP inversed), so can be seen as slope-control.
BW spreads the highpass and lowpass filters apart
res sets the resonance level

LPcasc sets the TOTAL amount of filters
HP sets after how many lowpass filters, highpass filters are used. If higher then LPcasc, all filters are lowpass.
feed sets which filter output is used for the resonance.

Resonance path is saveguarded by the same code that's used for the "fatbasters" distortion module.
gain boosts the resonance in the feedback loop->adds upper harmonics to the resonating signal.
"max" sets the max level of the resonance (so it cannot go out of control)

multimodeBiq

in
pitch
reso
out
pitch
reso
gain
mode
mute

2-pole resonant multimode filter (biquad)

0=lowpass
1=highpass
2=bandpass
3=notch (in-bandpass)
4=parametric(in+bandpass)
5=lowshelf(lowpass+in*gain)
6=highshelf(highpass+in*gain)
7="allpass"(lowpass-highpass)
8=lowpass+bandpass+inlet_in*gain
9=highpass_bandpass+inlet_in*gain

mute bypasses the filter

multimodeiBiq

in
pitch
reso
out
pitch
reso
gain
mode

2-pole resonant multimode filter (biquad)

0=lowpass
1=highpass
2=bandpass
3=notch (in-bandpass)
4=parametric(in+bandpass)
5=lowshelf(lowpass+in*gain)
6=highshelf(highpass+in*gain)
7="allpass"(lowpass-highpass)
8=lowpass+bandpass
9=highpass_bandpass

notchDuck

in
add
pitch
reso
duck
out
pitch
reso

2-pole resonant band-pass filter (biquad)

paraEQ

in
save
load
preset
out
stages
stage
STorMS
mode
freq
reso
gain
preset
save
load

2-pole resonant multimode filter (biquad)

0=thru
1=peak
2=lowshelf
4=highshelf

mute bypasses the filter

paraMorph

in
save
load
preset
pitch
morph
transform
out
div1
div2
slots
stages
STorMS
slot
stage
rnd
from
till
mode
freq
reso
gain
preset
save
load
stepM
stepT
quantM
quantT

morphing parametric EQ
pitch inputs shifts the frequencies of all the filters in parallel.
morph input morphs through the frequency settings of all the presets.
transform input morphs through the presets for filter-modes, resonance/bandwidth and gain.

resonatorP

in
pitch
resonance
out
pitch
resonance
gain
max
mode

Complex Resonator filter

Filter can be used for formant creation, allpass effects, frequency-resonator, plucked string (using dirac module), percussion, etc..

pitch control is in semitones (0=440hz, this is changable to other values if you want, just embed the module and change the "440" of the "f0=440*power;" in the k-rate code to the required base-frequency).

resonance sets resonation length (the higher the tone, the shorter it will be->logarithmic response). When fed a dirac pulse it will make a sine that quickly fades out.

gain and max controls are from the "fatbasterd" distortion, to saveguard the output and enabling a nasty resonating distortion.

Max sets max-output value (where the amplitude will be dampened at a max level)

Gain sets the rate at which the output goes to the max, respectively to the input.

screamo

in
cutoff
out
freq
res
low
mod

Screaming resonance lowpass filter with low-boost control.
This is not a normal "take away all those frequencies" filter,
but depending on resonance and low amounts, the resonance will scream with lots of overtones, the low might be completely overdriven or, in case of inverse low, a kind of a bandpass/highpass can be created.

triplePeak

in1
C1
B1
G1
C2
B2
G2
C3
B3
G3
out
C1
B1
G1
C2
B2
G2
C3
B3
G3
gain

3 BP filters in parallel with the original input to make a 3-band parametric resonating EQ
C=cutoff
R=resonance
G=gain

trippas

i1
frq1
frq2
frq3
feed
o1
frq1
frq2
frq3
2nd
feed

tripple allpass filter using three different allpass-topologies:

1=biquad allpass

2=(2x)6dB LP/-HP allpass: inverses the lowpass and adds back to the highpass. The toggle switch allows to do second order, creating a band-pass that is inverted.

3=Phaser: delayline based "phaser" allpass. Delays the incoming signal at audio-frequency delaytimes.

trippass

i1
frq1
frq2
frq3
feed
o1
frq1
frq2
frq3
2nd
feed

tripple allpass filter using three different allpass-topologies:

1=Phaser: delayline based "phaser" allpass. Delays the incoming signal at audio-frequency delaytimes.

2=biquad allpass

3=(2x)6dB LP/-HP allpass: inverses the lowpass and adds back to the highpass. The toggle switch allows to do second order, creating a band-pass that is inverted.

trippleComb

in
main
pitch1
pitch2
pitch3
feed
wet
out
pitch1
pitch2
pitch3
resonance
wet

Tripple phaser/comb-filter
Pitch controls the frequency position of the comb-filter.
Resonance controls the feedback amount of all three comb-filters.
Wet controls the level of the effected audio.

twinMorphSVF

in1
pitch1
pitch2
reso1
reso2
modeXA
modeX1
modeX2
modeY1
modeY2
SerPar
out
pitch1
pitch2
reso1
reso2
mode1
mode2
SerPar
drive1
drive2

Dual Mode-morphing state-variable-filter.
-Using a saw-wave LFO as input for the ModeX(1/2/A) creates a quadrature reading through:
LP->BP->HP->Notch->LP
ModeX1 and ModeX2 will control the modes of filters 1 and 2 respectively.
ModeXA controls both modes at the same time.

-modeY1/2 controls the offset from the center, this control has an inversed response, meaning, a high input will force the mix to a centered mix of all filter modes. When above 64, it will inverse the filter responses, turning LP to HP, HP to LP, BP to Notch and Notch to BP.
-SerialSel controls the amount of each audio input to be send to filter2 input when serial mode is mixed in.
-SerPar mixes between serial and parallel mode for filter 1 and 2.
-drive controls the drive over the resonance (BP filter part that influences the other filters)

sss/fx

allpass_HQ

length
pitch
out
delayname
pitch

HQ allpass effect.
use the pitch parameter or input to set the delaytime. The longer the buffer, the less interpolation between buffer points.

Set the recording delay to a high value (21.8s) to be able to morph from small to large modulation width.
Then use an int-control to set the length of the phaser's counter (see delay's XML for the maximum "power" length sizes of the delay buffer).

allphase

in
read
out
read
feed
size
dry
wet

High quality phaser/allpass module with internal memory and interpolation between taps.

allphaseHQ

in
read
out
max
read
feed
size
dry
wet

High quality allpass/phaser effect with internal memory.
"Max" sets the maximum length of the buffer in power of 2.
Read knob offsets the read input position.
Feed allows to feed back the output into the input.
Size sets the "working" size, thus you can adjust the size while playing.
Dry and wet controls control the volume of original and phased signals.

frqshift

in
high
low
shift

frequency shifter based on Johannes Taelman's iq-split

Converts an audio signal into an "analytic pair" of In-phase (I) and Quadrature-phase (Q) signals.
This is not a Hilbert filter, a Hilbert genertates the Q signal from an I signal.
Applications include frequency shifting, and envelope following.

The filter is a fixed point implementation of the design by Olli Niemitalo.
http://dsp.stackexchange.com/questions/26966/oscillations-on-hilbert-envelope

glitchBeast

inL
inR
Glag
CVlag
Gretrig
CVretrig
Ggap
gap
offset
Greverse
reverserate
Gtapestop
stoprate
Gmod
modrate
modwidth
Gsr
samplerate
Gspatial
spatial
Gphaser
preRate
feedRate
feedback
Grepeater
repeatSize
repeats
Gring
ringRate
ringGain
Gpan
panRate
Gfilter
filterMode
filterFreq
filterRes
Ggrain
grainSize
grainPosition
grainRate
Gpitchshifter
pitchShift
window
Gscratch
scratch
GrndJam
rndRate
Goctaver
octaver
Gsub
subRate
outL
outR
samplelength
size
mix

multi glitch effect
all effects can be used simultanuously!
this module is almost a patch-filling module on it's own (with automation recorders added). So you could use this for a stand-alone glitch-fx module for your hardware.
each effect first starts with a gate input (eg. Glag) and then has one or more CV-inputs for the parameter (eg lag) (refer to fx-patch in my community folder how to use it with midi-note&touch-modules and automation recorders)
Delay times can be controlled with my host-tempo-timing modules

the effects:
-lag: introduces a (tempo-synced) delay to the audio output->100% wet. Actually, the module constantly reads out the buffer, even when everything is off (no delaytime used, just direct readout of latest recorded input). Lot of the delay-effects do something to the readout-position of the delay.
-retrigger: feeds back the output audio back into the start of the delaybuffer and bypasses the input. This is not your regular retrigger! ALL the other effects are WITHIN the retrigger effect for instant granular mahem!
-gap: introduces a volume gap to the audio at the rate of the current retrigger time. "Gap" controls the gap size while "offset" changes the phase of the gap in respect to the delay, allowing a different part to come through.
-reverse: reverses the play direction of the buffer reader, reversing the audio. The CV controls the rate the audio goes into reverse play (hard press is instant reverse)
-tapestop: stops the buffer reader, slowing down the audiorate to zero. CV controls the rate at which it stops, the higher the CV, the quicker the stop.
-mod: modulates the delaytime using a sine LFO with CV's for rate and modulation width
-samplerate: reduces the sample rate with higher CV's
-spatial: offsets the left or right channel up to 64 samples delay. (32=no delay to either channel)
-phaser: some kind of weird phaser/chorus/modulated delay effect. Prerate controls the modulation rate at which the incoming audio is written to the buffer (interpolated and summed with buffer which is set to zero just before the writer starts adding audio), feedrate controls the modulation rate of the feedback time modulation (readout) and feedback controls the volume/amount of thefeedback.
-repeater: repeater delay repeats the incoming audio several times (up to 16) at the same volume and adds this to the original (or retriggering) signal. RepeatSize sets the time of the delay and Repeats sets the amount of delays.
-ringmodulator: ringmodulates the audio and adds it to original. Ring controls the pitch of the modulator wave, ringgain adds gain to the triangle wave, turning it into a squared trapezoid.
-panning: panning pans the stereo signal between left and right, panRate controls the rate of the panning
-multi mode filter: SVF filter with controls for cutoff, resonance and filter-mode. Morphs continously through 4 filter modes: LP->BP->HP->Notch
-grainuliser: read out a position somewhere within the recorded buffer and use it as a waveshape for an oscillator. GrainSize sets the size of the buffer being read. Grain position controls where in the buffer the samples are taken and GrainRate sets the play-rate of the grain
-pitchshifter: pitchshifts the signal up or down. Pitchshift sets the shifting size while Window sets the buffer size for the pitchshifter.
-scratch: uses the CV directly to offset the readout position. Kind of like "lag", but lag is meant to use tempo-synced delay times while this uses continous filtered signals.
-random delaytime jam: randomises several delay-buffer-readouts throughout the effect, causing a lot of hard-glitching. CV controls the rate at which the randomisation is updating.
-Octaver: simple rectifier&highpass based octaving effect, more like a distortion. CV controls feedback amount, causing even higher frequencies.
-suboctaver: generates suboctaves by using a counter. subrate controls the rate at which the sub-generator responds to an up/down command of the counter->slow rate causes a triangle shape of low volume.

grainShifter

Carrier
Modulator
out
table1

Sample buffer referencing a 32b table. Each time carrier input rises above zero the buffer recording position is restarted. A This results in a granular pitch shifter.
Feed the audio to be recorded into the carrier input and the "phase" into the modulator (or any other waveshape for all I care)

grainer

in
freeze
size
rate
reverse
jump
change
speed
wet
dry
out
delaylength
size
size
rate
change
speed
wet
dry

granulizer effect.
continuously buffers audio and plays it back both forward and backwards at the same time

"freeze" stops the recording to the buffer, causing to repeat the sample over and over.
"size" sets the grain size
"rate" sets the grain rate
"reverse" reverses play direction (gated: high is reverse)
when "jump" goes high, the "change" value will be added to the play offset, smoothed out by the "speed" parameter (higher value is faster response)
"wet" and "dry" control the mix of original and grained audio.

delaylength output is used to connect to my "clock2timing" module. This way the "size" of the delay can be synced to host tempo. Use ratiomaxVCA to set ratio to host tempo.

multiChorus

in
phase
reset
out
size
rate
mod
FMW
drift
reset
stack
phase
phsSprd
depth
spread
feed
smooth

multi-stage chorus up to 16 stages.
rate: the base rate of the internal LFO's for controlling the delaytime
drift: offsetting the rate of the seperate LFO's for changing chorus characteristics
mod: the rate of the internal LFO for modulating the frequency of the former LFO's
FMW: the width of the LFO modulating the frequency
stack: sets amount of chorus-taps
phase: sets the starting phase of the LFO's modulating the chorus taps.
phsSprd: sets the phase spreading of the LFO's modulating the chorus taps (fully clockwise is equal spreading for any amount of selected chorus taps. Counter clockwise is no spreading)
depth: sets the modulation depth of the chorus
spread: spreads the seperate chorus taps over the available delay length (when depth is fully open, there is no spreading possible as it's already using the full length of the delay)
feed: amount of feedback of the output back to the input
smooth: smooths out the chorus modulation (krate LP-filter)

multiChorusSt

in
phase
reset
outL
outR
size
rate
mod
FMW
drift
reset
stack
phase
phsSprd
depth
spread
feed
smooth
other
skip
wet

multi-stage chorus up to 16 stages.
rate: the base rate of the internal LFO's for controlling the delaytime
drift: offsetting the rate of the seperate LFO's for changing chorus characteristics
mod: the rate of the internal LFO for modulating the frequency of the former LFO's
FMW: the width of the LFO modulating the frequency
stack: sets amount of chorus-taps
phase: sets the starting phase of the LFO's modulating the chorus taps.
phsSprd: sets the phase spreading of the LFO's modulating the chorus taps (fully clockwise is equal spreading for any amount of selected chorus taps. Counter clockwise is no spreading)
depth: sets the modulation depth of the chorus
spread: spreads the seperate chorus taps over the available delay length (when depth is fully open, there is no spreading possible as it's already using the full length of the delay)
feed: amount of feedback of the output back to the input
smooth: smooths out the chorus modulation (krate LP-filter)
PANNING: the panning is controlled by the lfo's, though you can change which lfo controls which tap. If both "other" and "skip" are zero, the same lfo will be chosen for panning as is chosen for the time modulation.
other: offsets all selected lfo's to the right by the same amount.
skip: changes the "stepping" distance for each next lfo, making different combinations and less expected charactaristics
Especially when using "drift", the panning effect can be quite dramatic and lots of different sounds can be made.
More drastically even, when you also connect the gate for the volume envelope to the reset input.

pcf

in
rate
spread
depth
phase
outL
outR
size
stages
rate
spread
depth
phase
mod
MW
pan
feed
wet

Panning phaser/chorus/flanger

pcfSt

inL
inR
rate
spread
depth
phase
outL
outR
size
stages
rate
spread
depth
phase
mod
MW
pan
feed
wet

Panning phaser/chorus/flanger

phaseModulator

in
PM
pm
out
phase

Not sure how to explain haha
Just tried something out and it sounded nice.. (using two sine signals or a phasor at the modulation input).
I guess, best way to describe would be something like a 'phase modulator', where the phase-shift is induced by the filter's cutoff frequency. It's not accurate, but at least it's something.. just try it out..

signal modulator based on a sine-mix between two filtered signals, which are being frequency modulated by the modulation input. The modulations for the 2 filtered signals are in 90 degree phase-offset. So you can also use the phasor oscillator to modulate the signal without creating harsh harmonics (the moment the phasor signal jumps from low to high, it's completely faded out, thus unhearable)

connect "audio to be modulated" to the "in" input.
connect a modulation oscillator to the PM input
connect a modulation LFO/envelope to the pm input.

phase_HQ2

length
Hz
out
delayname
rate

HQ phaser effect.
Rate parameter is disconnected when the Hz-input is used! Use Hz input together with my Clock2Timing module (sss->timers) to sync the effect to host tempo.

Set the recording delay to a high value (21.8s) to be able to morph from small to large modulation width.
Then use an int-control to set the length of the phaser's counter (see delay's XML for the maximum "power" length sizes of the delay buffer). This modulation width can be controlled "realtime" and only sets till how far the counter can count. If count is higher then max, count will invert and slowely count back again.

phaserST

inL
inR
rate
depth
spread
outL
outR
size
rate
depth
wet
dry
stages
spread
feed

Stereo phaser
Up to 8 read points from a stereo buffer. Left and right are inversely modulated.
Spread controls the phase-offset of the modulating sines of the seperate stages. This enables lots of different modulation charaters. Note though, output can get loud! I advice a distortion or compressor behind this module (depending on needed character: aggresive/clean)

phaser_HQ

length
Hz
out
res
delayname
rate

HQ phaser effect.
Rate parameter is disconnected when the Hz-input is used! Use Hz input together with my Clock2Timing module (sss->timers) to sync the effect to host tempo.

Set the recording delay to a high value (21.8s) to be able to morph from small to large modulation width.
Then use an int-control to set the length of the phaser's counter (see delay's XML for the maximum "power" length sizes of the delay buffer). This modulation width can be controlled "realtime" and only sets till how far the counter can count. If count is higher then max, count will invert and slowely count back again.

pitchshifter

AudioIn
Hz
depth
AudioOut
delayname

audio PitchShifter
NOTE! enter module's own name into combobox!

pitchshifter2

samplelength
semitone
harmshift
ratioshift
windowratio
AudioOut
result
delayname

audio PitchShifter
NOTE! enter module's own name into combobox!

pitchshifterAA

in
semitone
harmshift
ratioshift
out
freq

This is a LP filter to be used with the pitchshifter2 module. Feed it the same controls and it tracks the up/down sampling of the audio to reduce alliasing

pitchshifterHQ

length
semitone
harmshift
ratioshift
samplelength
HQ
delayname
MinimumLength

HQ pitchshifter with a buffer up to 43.7 seconds

NOTE!!!!
"samplelength" input should be connected to the "Phi->delay->delay_power_out module to know the maximum buffer of the delay!

"Length" input controls the buffer length(quantized to power of 2 and normalised to the samplelength input for quick use with a normal knob).

"Minimum length" parameter sets the minimum power of 2 that the length has.
NOTE! Only when this parameter is set to 8, does the length-input only have position where pitchshifting occurs. When set to a lower value, the first part of the knob disables the pitchshifting and mixing the sound with the normal sound will result in a phaseshifter. Though this isn't really controllable as a phase shifter (yet), it does allow for a smooth fade-in of the pitchshifter from a zero length.

"semitone" input will offset the pitch offset of the output with relative to the semitone scale.

"harmshift" input will offset the pitch offset of the output with relative to the harmonic scale. Negative values will result in a almost complete stop (harmshift=-1) or in a reverse play direction.
NOTE! harmshift is still based on the incoming signal and not depending on the semitone offset (yet? I dunno,let me hear what would be beter..).

"ratioshift" input will set the ratio of the pitchshifting. This DOES respond to the semitone and harmshift values (that's why I kept the harmshift non-responding, as this is somewhat of a same kind of control, though now responding differently)! Negative values of the ratioshift will result in a reverse play of the incoming audio. In this case,a higher value on the semitone input will result in a faster played reversed audio.

planetModulator

centerx
centery
reset
x1
y1
x2
y2
reset
x1
y1
x1rate
y1rate
x2
y2
x2rate
y2rate
centermw
mass1
mass2
centermass
damp1
damp2

Planetary audio modulator
The audio inputs can be seen as the x/y positions of a planet, which influences the x/y positions of 2 moons.
the x/y positions of the moons are used as output.

The first 8 controls (x1/y1/x2/y2/x1rate/y1rate/x2rate/y2rate) are the reset positions of the moons.
The rate controls control the starting rate at which the moons will move through the map.
x1/y1/x2/y2 control where the moons will start.

centermw adjusts the volume of the incoming audio (centerx/centery)

Mass1/2/center set the mass of the planet and the moons.
The higher the frequency, the less mass the moon has and the more it is influenced by the planet/other moon and the less it influences the other moon.
The lower the frequency, the more mass the moon has and the less it is influences by the planet/other moon and the more it influences the other moon.
Centermass sets the mass of the planet. The planet x/y position isn't influenced by the moons, but it influences the moons depending on it's mass.
The lower the frequency of the planet, the "heavier" it is and the more the moons are going to be influenced by it, instead of by each other.

damp1 and damp2 dampen the change in x/y positions of the moons and force them to center position. This can also result in drasticly pitch-changing modulations.

reverb

L
R
outL
outR
size
writesize
readsize
writevolume
readvolume
panning
predelay
feed
damp
wet
stackwrite
stackread

reverb/early reflection module with internal feedback path, uses SDRAM memory.

use bipolar 16x slider table for setting writevolume and readvolume for all delay-taps
use unipolar 16x slider table for setting panning, writesize and readsize for all delay-taps

-predelay sets an extra time-offset between write-taps and read-taps
-feed allows the sum of both outputs to be fed back into all write-taps
-damp is a simple lowpass filter, filtering the delayed input and feedback
-wet sets the wet-level of the delayed signal.
-stackwrite sets how many writers will be created (write-taps)
-stackread sets how many readers will be created (read-taps)

roomdelay

l
r
order
Cmix
Pmix
Emix
Rmix
Pfrequency
Pshift
l
r
size
Cmix
Pmix
Emix
Rmix
order
Camount
Cdepth
Pfrequency
Pshift
Pfeedback
Eamount
Edepth
Ramount
Rtime
Rdiffusion
Rgain
Rlowpass
Alltime
Allshift
Allfeed
pingpong

chorus effect from the rings dsp code open sourced by mutable instruments.
any bugs/issues you find are our own, report on the axoloti forum.

Thanks to Olivier Gillet from Mutable Instruments for open sourcing their code.
http://mutable-instruments.com

stChorus

audioL
audioR
pre
depth
rate
wet
dry
outL
outR
recL
recR
delayname1
delayname2
rate
depth
pre
wet
dry
feedback

stereo chorus module
connect delay_write modules to the recL and recR output.
Normal chorus setting would be 100ms max

vocoderAudio

in
out01
out02
out03
out04
out05
out06
out07
out08
out09
out10
out11
out12
out13
out14
out15
out16
out17
out18
out19
out20

spectral analyzer turned into a 20-band audio output module to be used for vocoding

vocoderCombiner

ctrl01
ctrl02
ctrl03
ctrl04
ctrl05
ctrl06
ctrl07
ctrl08
ctrl09
ctrl10
ctrl11
ctrl12
ctrl13
ctrl14
ctrl15
ctrl16
ctrl17
ctrl18
ctrl19
ctrl20
band01
band02
band03
band04
band05
band06
band07
band08
band09
band10
band11
band12
band13
band14
band15
band16
band17
band18
band19
band20
out
rise
fall
volume

Vocoder combiner
combines audio-bands and control-bands signals into a single audio signal.
Rise and fall smooth out the response to the control signal.
Volume....well... it's volume.. what's more to say about it??

vocoderFollow

in
out01
out02
out03
out04
out05
out06
out07
out08
out09
out10
out11
out12
out13
out14
out15
out16
out17
out18
out19
out20

spectral analyzer turned into 20-band peakfollower with outputs for each band

sss/fx/chainer

cFXselector

select
fine
rnd
o1
o2
o3
o4
options
select
fine
rnd

Combination module based on permutation:
Creates a full list of 4-number-combinations from the available options.
No repetition, no importance of order.
eg:
1,2,3,4
1,2,3,5
or
3,6,8,11 (any increasing order)
BUT NOT:
1,1,3,3,6 (no repetition of numbers)
AND NOT:
3,1,6,5 (not smaller then any value left of itself)

"select" knob is scaled to the amount of possible combinations
"fine" knob can be used when using a high option count->otherwise the stepsize would be to big to select all possible combinations.

The 4 outputs give you the selected indices.

This module could be used for selecting 4 out of 16 functions which may not be selected twice.

cPPdelay

time
size
time
feed
wet
bypass
solo

Stereo pingpong delay module to use with the chainFX effects chainer module.
Controls can easily be editted for external control

campmod

rate
depth
bypass
solo

Amplitude modulator module to use with the chainFX effects chainer module.
Internal CV1 controls modulator pitch and CV2 controls modulator waveform (sine/saw)
Controls can easily be editted for external control

cempty

bypass
solo

This is an empty module (audio-thru) to use with the chainfx module.
You can use this module to fill up empty slots on the chainfx module or to add your own custom effect codes by embedding this module and editting the code.

Note that it is object-oriënted. This module won't feature audio in/out pins, but could use external control input to edit internal parameters (eg. see the VCA module controlling the volume with an input pin to make a gapped/enveloped signal)

cgate

decay
OnTres
Offhyst
attack
release
bypass
solo

(noise-)gate module to use with the chainFX effects chainer module.
Opens audio when above treshold and ducks the audio again when below the "treshold minus offhysteris".
Controls can easily be editted for external control

chainFX

leftI
rightI
CVa1
CVa2
CVb1
CVb2
CVc1
CVc2
CVd1
CVd2
routing
fx1
fx2
fx3
fx4
leftO
rightO
fx01
fx02
fx03
fx04
fx05
fx06
fx07
fx08
fx09
fx10
fx11
fx12
routing
mix2
mix3
mix4
wet1
wet2
wet3
wet4
wetVol
dry

Main effect chaining module.
Uses the fx modules contained in the same folder (sss/fx/chainer/...) (or if other developers jump in to make their own chainable effects, there might be more fx folders later on)

Loads up to 12 different effects of which 4 are used.
The "routing" input can order the selected effects in all possible combination (using each effect only once).

Each effect has a dry/wet-mix, mixing the output of the effect with the input of the effect. This could be used to layer effects on top of the original signal.
Effect 2,3 and 4 also have a mix control to mix between the last effect and the former effect input. This could be used for parallel effects fx1->(fx2&fx3)->fx4

Each effect in the chain has two CV inputs that alter the fx that is currently loaded at that position in the chain. The effects themselves (modules containing the effect functions) can also have their own parameter inputs for fx-dedicated control (eg. tempo synced delay/lfo)

All effects are stereo for lots of spatial effects

cpanner

rate
depth
offset
bypass
solo

stereo panner module to use with the chainFX effects chainer module.
Controls can easily be editted for external control

cphaser

time
rate
depth
dir
feed
bypass
solo

single stage phaser module to use with the chainFX effects chainer module.
Controls can easily be editted for external control

cshuffler

delaybase
trg
size
max
bypass
solo

random time shuffler to use with the chainFX effects chainer module.
Delaybase input tells the base-delay. With each trigger at the trg input, a new integer multiplication of this delaytime will be set as the new shuffle-time. "max" sets the maximum multiplication of the delaytime. Eg. use "ratios235" with the "BPMext" module to get base delaytime and integer ratio's of this timing.
Controls can easily be editted for external control

csoftdist

gain
volume
bypass
solo

Soft distortion module to use with the chainFX effects chainer module.
Controls can easily be editted for external control

csrr

rate
damp
bypass
solo

simple sample rate reducer module with LP-damping to use with the chainFX effects chainer module.
Controls can easily be editted for external control

csustain

sustain
rate
treshold
bypass
solo

sustain module to use with the chainFX effects chainer module.
Will push any signal above treshold level to the sustain level at a certain rate (attack/release). Decay sets the envelope decay of the envelope follower for the sustain level.
Controls can easily be editted for external control

csvf

mode
cutoff
mod
rate
depth
reso
bypass
solo
mode

SV-filter module to use with the chainFX effects chainer module.
Input selects filter mode (0-3 is LP,HP,BP,NOTCH).
When above 3, mode wraps back to 0 (LP) for left signal, but the right signal shifts 1 mode up (HP). This way, all combinations can be made with values between 0 and 15.
Controls can easily be editted for external control

ctremelo

size
rate
LFO
depth
bypass
solo

pitch tremelo module to use with the chainFX effects chainer module.
Based on sine-modulating a delayline.
Controls can easily be editted for external control

cvca

volume
volume
bypass
solo

simple VCA module to use with the chainFX effects chainer module. Can be controlled by external envelope or LFO to modulate the amplitude of the signal.
Controls can easily be editted for external control

peakdist

gain
volume
bypass
solo

Peak distortion and sine-wrapping module to use with the chainFX effects chainer module.
Controls can easily be editted for external control

sss/gain

expLPG

a
env
expVCA
expLPG
cutoff
o
expVCA
expLPG
cutoff

"voltage controlled lowpass-gate (LPG)", multiplies v and a inputs, with lowpass filter smoothing from k- to s-rate. This makes envelopes a bit more dampened then with linear interpolation.

both the VCA-level and lowpass-frequency have curve-controls. Counter-clockwise is exponential curve, clockwise is inverse-exponential curve.

quadVCA

a1
a2
a3
a4
v1
v2
v3
v4
o

quad "voltage controlled amplifier", multiplies v and a inputs, with linear interpolation from k- to s-rate

smVCA

v
a
o

"voltage controlled amplifier", multiplies v and a inputs, with lowpass filter smoothing from k- to s-rate. This makes envelopes a bit more dampened then with linear interpolation.

vca2in1out

in1
in2
gain1
gain2
out
gain1
gain2

2 input s-rate mixer, square gain scale with external control inlets for both inputs

vcaST

a1
a2
v
o1
o2

"voltage controlled amplifier", multiplies v and a inputs, with linear interpolation from k- to s-rate

sss/harmony

137temperaments

in
temper
stretch
out
scale

Temperament module with 137 different temperaments taken from historic composers.
For this module to work, first create a project containing the "scaleGenerator" module and press play (you only have to do this once for each SDcard!). This automatically creates a file on your SDcard, which will be called upon by the "scaleBank2" module.
The scalebank2 module will contain data for the 46scales module as well as the 137 temperaments module, so these can be combined to easily choose between different keys, scales and temperaments on the fly.

This module also adds a "stretch" function, that stretches each octave up by a couple of cents, creating lovely unison voices.
(till further notice) I'll let this function be up to the user to decide what the stretch will be.
The stretch-knob's value is divided by 1024, giving it an accuracy of tenth of cents per octave and will be needed to be tuned by ear (best done in polyphonic setting with harmonically rich waveforms)

46Scales

pitch
scale
key
note
key
scale

46-scale scaling module

All the generated notes will be scaled to the selected scale. 46! scales are included and each scale can be set to a key. See the Local Date for which scales are included. Scales are somewhat ordered on alphabetic orde (except the main major/minor scale variations which are the first ones). You can always set them to another order if you want, but keep the total at 46 as this selecting value gets wrapped above 46 in the code.

46Scales2

pitch
scale
key
note
scale

46-scale scaling module

All the generated notes will be scaled to the selected scale. 46! scales are included and each scale can be set to a key. See the Local Date for which scales are included. Scales are somewhat ordered on alphabetic orde (except the main major/minor scale variations which are the first ones). You can always set them to another order if you want, but keep the total at 46 as this selecting value gets wrapped above 46 in the code.

46scales7

pitch
key
scale
note
octave
semi
scale

46-scale scaling module, but with a 1-key per note response like the factory harmony module

All the generated notes will be scaled to the selected scale. 46! scales are included and each scale can be set to a key. See the Local Date for which scales are included. Scales are somewhat ordered on alphabetic orde (except the main major/minor scale variations which are the first ones). You can always set them to another order if you want, but keep the total at 46 as this selecting value gets wrapped above 46 in the code.

ScaleBank

(no controls)

description

allEqtempScales

pitch
note
notes
key
notes
use
interval
use
interval
key

generic scaling module.
Input expects 1v/note, so with 19 notes in an octave, next octave starts at 20.
Output is scaled back to 12v/octave to be used with the oscillators with a "pitch" input.

"key" sets the key for the scale that's being generated, jumps with "interval" size through the available notes in the octave. This parameter is normalised to the "notes" parameter, so it always fits the total amount of notes per octave.

"Notes" sets the total amount of notes per octave (this means without scaling. western temperament = 12 notes) This can go up to even 128 notes per octave! Famous scales are 12, 19, 22, 31, 53.

"Use" sets the amount of notes which are active in the scale (western temperament = 7 notes). This parameter is normalised to the "notes" parameter, so it always fits the total amount of notes per octave.

"Interval" sets the interval by which the active notes are selected (western temperament = interval 7). This parameter is normalised to the "notes" parameter, so it always fits the total amount of notes per octave.

fine3

s1
s2
s3
o1
o2
o3
b0
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11

triple semitone finetuning
first slider is C

guitarScalar

chord
neckpos
variationH
variationM
variationL
scale
key
El
A
D
G
B
Eh

Guitar-styled note-scaling module.
Has 6 outputs to control 6 strings to play chords.
Chords are based on the standard 1st-position chords and are ordered in the C-scale order:
C-D-E-F-G-A-B following the modes of the scale.
I-ii-iii-IV-V-vi-viiDim

Each of these chords can be played on any position of the neck as a barre.

Variations on the chords can be made using the variation inputs. These will add/subtract notes from the chord for each 2-string combination (low,mid and high strings). This way you can quickly make variations on the chords as well arpeggio's.

All the generated notes will be scaled to the selected scale. 46! scales are included and each scale can be set to a key. See the Local Date for which scales are included. Scales are somewhat ordered on alphabetic orde (except the main major/minor scale variations which are the first ones). You can always set them to another order if you want, but keep the total at 46 as this selecting value gets wrapped above 46 in the code.

leadTuner

select
key
minor
chordOct
chordmode
inverse
bass
arp
chord1
chord2
chord3
chord4
bass
arp
chordOct
stepchord
chordmode
stepmode
inverse
bassOct
BassMax
arpOct
ArpMax
sel

Module to produce chord-progressions along side of the bass and melody.
Bass and melody have their own inputs to select the arpeggio-note. Uses only notes for the selected chord and raises an octave when the arpeggio goes above 3, 7, 11 etc. Octaves are wrapped by the ArpMax and BassMax parameters.

-key sets the key of the scale (major/minor scale)
-when minor-input goes high, scale turns into minor

-select sets the root note (selected from scaled notes) from where the chord is build up
-chordOct offsets the chord in octaves
-chordmode selects between 20 different chords, which are different combinations of the 7 available notes in the scale.
-inverse is a bit-wise control of octave-offsets for the 4 notes of the chord, offsetting different combinations up to several octaves. Max is 511 different inverse operations

major

pitch
scale
key
note

46-scale scaling module

All the generated notes will be scaled to the selected scale. 46! scales are included and each scale can be set to a key. See the Local Date for which scales are included. Scales are somewhat ordered on alphabetic orde (except the main major/minor scale variations which are the first ones). You can always set them to another order if you want, but keep the total at 46 as this selecting value gets wrapped above 46 in the code.

rescale

pitch
key
scaled
C
cis
D
dis
E
F
fis
G
gis
A
ais
B
C
cis
D
dis
E
F
fis
G
gis
A
ais
B

microtonal scaler core, enabling to select custom ratios for the 12 tones of the keyboard
used to control the "tune" module, so each oscillator can follow the same tuning.
When selectors are set to 0, the most common ratios are used for the scale.
Offsetting the selectors will select another ratio, the higher/lower the value, the further away from the commonly chosen ratios.

Closest to ideal equal temperament (but not exactly the same, using higher primes and not "commonly used") is the following list of offsets:
C:0
cis:-1
D:-1
dis:-1
E:1
F:0
fis:-1
G:0
gis:-1
A:1
ais:-1
B:1

ribbonKeyboard

key
scale
note
trg
scalebank
b1
val

Ribbon like keyboard
Works with the scalebank modules (not the 7-note-only version)
Selected scale is shown on the keyboard
Black notes won't respond when clicked
Possible to "swipe" over the keyboard, playing arpeggio's
trg-output sends triggers while swiping, note though, that this also seems to happen even though your still o the same note..

scalar

note
key
Scaled
GateScale
Skipped
GateSkip
Bend
Glide

Scales incoming notes to major C-scale+key offset (key-offset is multiplied by fifths, thus 1 semitone higher will add one "#" to the scale and one lower will add a "b" to the scale).
Unlike the native scaler, this one will leave the keyboard-layout intact!
When the incoming note isn't in the scale, it's either shifted up or down 1 semitone (each time it happens, it inverses the shift).

When "bend" is "on", incoming notes, not belonging to the scale, will automatically switch on glide-mode.

outlets:

-scaled: outputs the scaled notes.
-gateScale: outputs a trigger when scaled output changes.
-Skipped: outputs the note that has been skipped. (might be used to trigger extra functions)
-Gateskip: outputs a trigger when Skipped output changes.

scale7Generator

(no controls)

Generates a copy of the scalings of the scalebank module onto your SDcard in the file "0:/scalebnksm.tab". After using this module once (ever), you can use the scalebank2 module to automatically load this file.
This prevents to having to load the whole array into sram, filling up constly memory that could be used for more modules.

scale7bank

(no controls)

To be able to use this module, first load the "scaleGenerator" to create a table on your SDcard.
This module then automatically loads this table from your SDcard.
I found that in big projects, this scaling-array took too many memory. This way the array isn't stored as part of the code, leaving more memory for adding modules.

scaleChord7

root
chord
invert
spread
key
scale
temper
stretch
n1
n2
n3
n4
scale

46-scale scaling and 137-temperaments chord-creatig module, but with a 1-key per note response like the factory harmony module (7 notes per octave)
This module creates chords of 4 notes to be able to control 4 oscillators at the same time in the same scaling, saves up a bit of memory and tidies up the patch.

Add the "scale7bank" module to provide the module the scale-list.
(Before first use, add the scale7generator once to create the list and auto-save it to the SD-card, the scale7bank then uses this file.
If you don't have a SD-card, you can use the generator module and refer to that module)

scaleGenerator

(no controls)

Generates a copy of the scalings of the scalebank module onto your SDcard in the file "0:/scalebank.tab". After using this module once (ever), you can use the scalebank2 module to automatically load this file.
This prevents to having to load the whole array into sram, filling up constly memory that could be used for more modules.

scaleGenerator2

(no controls)

Generates a copy of the scalings of the scalebank module onto your SDcard in the file "0:/scalebank.tab". After using this module once (ever), you can use the scalebank2 module to automatically load this file.
This prevents to having to load the whole array into sram, filling up constly memory that could be used for more modules.

scaleLIVE

note
note
scale

Used together with the "scalebankLIVE" module.
Uses it's internal array of allowed notes in the scale to only allow notes to play that are set as active.
Ratio is 1:1 for octaves->no change. Notes not in the scale will just be transposed down till they meet a note that is allowed.

scaleTemp7

p1
p2
p3
p4
key
scale
temper
stretch
track
n1
n2
n3
n4
scale

46-scale scaling and 137-temperaments module, but with a 1-key per note response like the factory harmony module
This module contains 4 scalers in one to be able to control 4 oscillators at the same time in the same scaling, saves up a bit of memory and tidies up the patch.

Add the "scale7bank" module to provide the module the scale-list.
(Before first use, add the scale7generator once to create the list and auto-save it to the SD-card, the scale7bank then uses this file.
If you don't have a SD-card, you can use the generator module and refer to that module)

scalebank2

(no controls)

To be able to use this module, first load the "scaleGenerator" to create a table on your SDcard.
This module then automatically loads this table from your SDcard.
I found that in big projects, this scaling-array took too many memory. This way the array isn't stored as part of the code, leaving more memory for adding modules.

scalebank3

(no controls)

To be able to use this module, first load the "scaleGenerator" to create a table on your SDcard.
This module then automatically loads this table from your SDcard.
I found that in big projects, this scaling-array took too many memory. This way the array isn't stored as part of the code, leaving more memory for adding modules.

scalebankLIVE

gate
note
clear
delete
notes
scale
notes

Live note scaler. Works together with the scaleLIVE module (don't forget to enter the name of this object into the object reference of the scaleLIVE module!)

sclMIDICtrl

key
scale
temper
stretch
key
scale
temperament
stretch

Key, scale, temperament and stretch controller
Responds to external midi commands:
key: cc87
scale: cc88
temperament: cc89
stretch: cc90

value==1 -> next key/scale/temperament or higher stretch
value==127 -> former key/scale/temperament or lower stretch
default value should be "0".

press the "former" key button for a longer time (+- a second) to reset the parameters to zero.

songnotes

key
scale
root
chord
invert
spread
bass
arp
melody
root
chord1
chord2
chord3
chord4
bass
arp
melody
scale

46-scale scaling module for multiple oscillators.
"root" sets the "rootnote" that will offset all the channels.
"chord" sets the chord-spreading-variations throughout the scale. Max value...? unknown...
"invert" creates different invertions of the chord. Max value...? unknown...
"spread" spreads the chord by octaves in different combinations. Max value...? unknown...
"bass" controls the bassline, available notes are the 4 notes used by the chord and perfect fifths above these up to 4 octaves, forced into the scale.
"arp" and "melody" function in the same way, the inputs only offset the root. Chord-notes have no influence.


All the generated notes will be scaled to the selected scale. 46! scales are included and each scale can be set to a key. See the Local Date for which scales are included. Scales are somewhat ordered on alphabetic orde (except the main major/minor scale variations which are the first ones). You can always set them to another order if you want, but keep the total at 46 as this selecting value gets wrapped above 46 in the code.

tonnetzSeq

P
R
L
N
S
Q
pF
nF
pf
nf
iU
iD
oU
oD
o1
o2
o3
n1
n2
n3
n4
mode
P
L
R
N
S
Q
pF
nF
pf
nf
oU
oD
Fmode
fmode
rst
note
mode
octaves
d1
d2
d3
d4

A tonnetz-sequence generator.

Several gates/triggers are used to make chord progression based on the tonnetz theory.

First three are "toggled gate" controlled: when the input is high, it goes in "the other" mode, when gate is low, it switches back.
P=parallel: switches the major for the minor and reverse.
R=relative: switches over to the relative of the chord
L=leading tone: switches between leading tones

Next four inputs are triggered: every time the input goes high, it adds/subtracts a fourth or a fifth to/from all note in the chord.
pF=add a fifth to all notes in the chord (5th can be multiplied by Fmode-selector to make bigger jumps. Eg. going from F(IV) to G(V) would be Fmode=2)
nF=subtract a fifth from all notes in the chord
pf=add a fourth to all notes in the chord(4th can be multiplied by fmode-selector)
nf=subtract a fourth from all notes in the chord
iU=inverse the chord up by adding an octave to the lowest note in the chord.
iD=inverse the chord down by subtracting an octave from the highest note in the chord.

Note! Internally the octaves are wrapped back (pendulum-wise) when going above the max-octave setting, this will cause the octave to step down to 0 before going up again (only noticable when octave is set to 3 or higher). This will only influence the octave-number, not the note being played.

Next to the basic triad, four additional notes are being generated based on the notes of the triad. Together with the notes of the triad, these can be used to generate a melody next to the chord.

The sequence can be forced to reset at a note and mode (major/minor).
Next to this, the amount of octaves that can be played, can be set using the "octaves" selector. Note that this responds in a "pendulum-wise" manner, though the notes stay the same. So if a note internally goes up one octave, but passes the max-octave setting, it actually goes down one octave at the output.

tune

pitch
root
scaled
scale
piano
offset

scaled tuning module for controlling the pitch oscillators
scale is controlled by the rescale module

the piano-control adds a frequency offset to each next note, starting from middle C (center can be adjusted using "offset"). This allows for a piano-like offset (though the frequency offset calculation is only a crude approximation to a real piano).

sss/lfo

2DmorphLFO

Tsync
reset
M
D
O
mix1
mix2
FM
out
divide1
divide2
table
M
D
O
FMW
waveform
mix1
quant1
start1
step1
mix2
quant2
start2
step2

2D morph LFO
lfo version of the 2Dmorphtable

BPM

BPM
reset
beat
trips
fours
vari
BPM
vari

simple master clock source in BPM.
outputs pulses for beat, triplets, fourths and a variable rate multiplier.

BPMXT

BPMbase
BPMctrl
reset
BPMctrl
pitchbend
pitchbase
trigger
count
phase
rst
ratebase
delaybase
straight
BPMbase
link
BPMctrl
measureDenom
sync
measureSwing
swing
stretch
deviate
mash
phsMul
phsDiv
reset
16fpp24
d1

BPM clock module with lots of extra goodies to sync other modules to the clock or pitchbend depending on BPM change

BPMctrl

pitch
BPM
BPMbase
BPMctrl
link

BPM LFO controller
outputs a pitch-offset corresponding to the BPM-ratio of the BPM-control to the BPM-base. Slow down your synthesizing sequence tapestyle!

BPMext

BPM
reset
vari3
beat
trips
fours
32
64
vari1
vari2
vari3
rate3
timing
delaybase
ratebase
BPM
vari1
vari2
vari3

simple master clock source in BPM.
outputs pulses for beat, triplets, fourths and a variable rate multiplier.

LFOmorphor

pitch
preset
load
fm
phase
sync
Hz
reset
out
phase
table
pitch
fm
pm
softness
load
preset
morph

based on the sculptor and morphor, but without the editing parameters and for LFO purposes.
First make a wavetable (or load a previous designed wavetable), then load the table into the module. If there is no wavetable, there won't be a modulation!

Also, instead of a "lowpass morphed" change between presets, this uses an internal LFO to update the two tables to the currently selected preset-value and to morph between them using a sine-shape (thus always smooth)

You can "override" the load by sending a gate high to the load input (will update one of the tables and the other one at the next trigger, over and over..etc) This is useful, since the tables are updated by the LFO and it might take a while before the first trigger is send to update the table from a preset.

An extra phase-output (also in the sculptor) is added that you can use for adding shaped signals to the wavetable sound (eg use one of my phase-shaper modules).

NOTE!!!
Don't forget to add the table allocation module and set the name to a table that you have recorded to!
If you haven't made a wavetable yet, by using the sculptor, you won't hear a thing!!!!!!!!

animator

position
load
preset
1
table
ext
position
value
add
delete
delALL
load
preset
save
used

Frame animation module.
Module records values into an array and from there builds a smoothed out table from the added/available points.
Features a save/load system to be able to save the internal table into the table-allocator.
Use the table save/load module to save this table after you're finished editting!

envLFO

sync
att2dec
length
multiply
divide
octave
reset
peak1
att2dec
length
multiply
divide
octave

Tempo Synced LFO with multiple waveforms out

Envelope-LFO creats a positive linear envelope-type LFO
Automatically syncs tempo to the incoming clock on sync-input.
Tempo can be multiplied and divided by integers to keep a tight ratio and can also be shifted up/down up to 8 octaves.
Reset resets the phase to zero.
Length controls the length of the "envelope", making it shorter then the looping time of the LFO
att2dec controls the attack/decay length ratio.
pairs well with the expCurveK module for creating (inverse) exponential enveloping

Reset will hard-reset the phase of the internal LFO

envLFO2

sync
att2dec
length
multiply
divide
octave
D
M
reset
peak1
att2dec
length
multiply
divide
octave
D
M

Tempo Synced LFO with multiple waveforms out

Envelope-LFO creats a positive linear envelope-type LFO
Automatically syncs tempo to the incoming clock on sync-input.
Tempo can be multiplied and divided by integers to keep a tight ratio and can also be shifted up/down up to 8 octaves.
Reset resets the phase to zero.
Length controls the length of the "envelope", making it shorter then the looping time of the LFO
att2dec controls the attack/decay length ratio.
pairs well with the expCurveK module for creating (inverse) exponential enveloping

Reset will hard-reset the phase of the internal LFO

latchfader

Hz
reset
trg1
trg2
sin

latched value mixer, trigger outputs are high when sine is either high or low for the respective trigger outputs. Use with latch and xfade modules

lfoCORE

HS
baserate

This is the "core" module for the "lfoSLAVE" module.
This module contains the code, that the "lfoSLAVE" uses to calculate the LFO waveform and also calculates base/host frequency based on the "HS" trigger input. You only need this module once. The lfoSLAVE can be copied or it's code can be used in other modules.
Just connect a trigger source to the input of this module to set root-rate.

This way the code for all the different waveforms only has to be written once, saving memory when using multiple lfoSLAVEs.

different waveforms:
0=sine
1=triangle
2=peak
3=saw
4=dip saw
5=shark saw
6=ramp
7=dip ramp
8=shark ramp
9= hump
10=dip
11=square
12=bipolar saw
13=bipolar ramp
14=collapsed sine
15=collapsed triangle

lfoSLAVE

r
div
wave
rate
precision
step
slope
phase
w1
snc
core
snc
rate
wave
precision
step
slope
damp

This is the in/output module to be used with the "lfoCORE" module.
This module uses the codes in the core module to calculate it's waveform.
This way the seperate wave-codes only have to be written once into memory and can then be called upon by multiple lfoSLAVE instances.
Don't forget to reference to the lfoCORE module!

lfoSmall

clock
save
load
preset
div1
div2
div3
div4
out1
out2
out3
out4
rate
total
select
rate
level
wave
save
load
preset

Clock-synced quad LFO
Selected LFO's settings only change when a parameter is moved.
Select selects between the 4 LFO's to edit their parameters. NOTE THOUGH:
0-15=LFO1
16-31=LFO2
32-47=LFO3
48-64=LFO4
Rate is quantized to ratio's based on 2, 3 and 5. It goes through:
1, 5/4, 4/3, 3/2.
Each time this row has ended, the ratio-base restarts and multiplies the rate by one power of 2 more.
Level controls the level of the currently selected LFO.

multiLFO

pitch
freq
phase
reset
sine
tri
saw
rmp
sqr
pls
pitch
frqIn
octave
hrmSin
hrmTri
hrmSaw
hrmRmp
hrmSqr
hrmPls
PW

LFO with 6 different waveform outputs. Each waveform can run at it's own harmonic rate (x1, x2, x3 etc) based on the root frequency.
When "frqIn" is high, it reads the pitch-input as frequency (eg. for host-tempo-sync with BPMext module) and the pitch-knob is not used (octave and harmonics are still used!).

multiform

Hz
reset
waveform
Bipolar
wave

saw wave LFO, rising slope, frequency input

planetLFO

centerx
centery
x1
y1
x2
y2
reset
x1
y1
x1rate
y1rate
x2
y2
x2rate
y2rate
centerx
centery
centermw
mass1
mass2
centermass

LFO that mimics the interaction of 2 "loose" planets and a "fixed/controlled" planet.
centerx and centery parameters/inputs control the x/y position of the "fixed/controlled" planet.
centermw controls the modulation width of the external xy modulation of the center.
x1,y1 and rate1 are the starting positions of the 1st "loose" planet.
x2,y2 and rate2 are the starting positions of the 2nd "loose" planet.
mass controls the "strength" of the planet in comparison to the "loose" planets
for the "loose planets:
the heavier the planet, the slower it will respond to a smaller planet.
the smaller the planet, the faster it will respond to a heavier planet.

polyRyTrig

timing
measures
select
rate
rst
active
save
load
filename
trig
rate
maxstages
patterns
Mselect
pattern
save
load

Module to provide a tempo-synced and controlled trigger. To be used with the "polycountMan" module to make polyrythmic trigger sequences.
Triggers are generated by an internal LFO, host-synced through the "timing" input->connect this to the "sss/midi/clock" module's "time" output or use the "timing/clock2timing" module together with an LFO to provide the time.

For the amount of triggers per stage (set by the amount of measures), you can use the "Mselect" switch to switch between the internal array (off) (edited with the "arrayEdit" module) and the "measures" input(on).
When "on" the trigger-rate will follow the stage-length even if the internal array is set to another value, result is that the rate stays the same for each stage, no matter the measures-length.
When "off", the "select" input selects from the internal table the amount of triggers to be generated within the time that the current amount of measures will take (measureInput*timing/triggers=triggerTiming).
Lastly, the triggerTiming can be further divided by the "rate" input. This is useful for creating quick fills.

The "rst" input resets the internal LFO and should be connected to the "c" output of the polyCount module (stage trigger).
The "active" input should be connected to either the "active" output on the polyCount module or a toggle-button to switch it on manually.

qtsLFO

HS
m1
d1
o1
p1
m2
d2
o2
p2
m3
d3
o3
p3
m4
d4
o4
p4
w1
w2
w3
w4
m1
d1
o1
p1
m2
d2
o2
p2
m3
d3
o3
p3
m4
d4
o4
p4

quad tempo synced sine wave LFO with inputs for multiplying, dividing and octaving the tempo and a phase-offset control.

qtsLFO2

HS
m1
d1
o1
p1
m2
d2
o2
p2
m3
d3
o3
p3
m4
d4
o4
p4
w1
w2
w3
w4
bip1
m1
d1
o1
p1
bip2
m2
d2
o2
p2
bip3
m3
d3
o3
p3
bip4
m4
d4
o4
p4

quad tempo synced sine wave LFO with inputs for multiplying, dividing and octaving the tempo and a phase-offset control.

qtsLFO3

HS
m1
d1
o1
p1
m2
d2
o2
p2
m3
d3
o3
p3
m4
d4
o4
p4
w1
w2
w3
w4
bip1
s1
m1
d1
o1
p1
bip2
s2
m2
d2
o2
p2
bip3
s3
m3
d3
o3
p3
bip4
s4
m4
d4
o4
p4

quad tempo synced sine wave LFO with inputs for multiplying, dividing and octaving the tempo and a phase-offset control.

qtsLFO4

HS
r
m1
d1
o1
p1
m2
d2
o2
p2
m3
d3
o3
p3
m4
d4
o4
p4
w1
w2
w3
w4
baserate
timer
bip1
s1
m1
d1
o1
p1
bip2
s2
m2
d2
o2
p2
bip3
s3
m3
d3
o3
p3
bip4
s4
m4
d4
o4
p4

quad tempo synced sine wave LFO with inputs for multiplying, dividing and octaving the tempo and a phase-offset control.

randLFO

pitch
max
seed1
seed2
randAmp
randUpd
chance
active
out
pitch
max
smooth
randAmp
randUpd
chance
seed1
seed2
div
SeRa

description

randomEnvLooper

rate
out
r1
r2
max
min
smooth

exponential smooth with separate randomised rise and fall time

rubiLFO

Tsync
M
D
O
expFMW
freq
FMS
intFMW
extFMW
HSon
waveA
waveB
mix
out
M
D
O
expFMW
sub
FMW
extFMW
FMS
waveA
waveB
mix
pw
LP
Hsync
sine1
halfsine2
doublesine3
triangle4
saw5
doublesaw6
doubleshark7
doublefin8
square9
pulse10
sub11
mixOut12
filtered13

An emulation of the eurorack rubicon oscillator with some extra waveforms and options
This one does the LFO rate

INPUTS:
pitch: well.. it's the pitch..
freq: linear thru-zero highpass-filtered FM audio input.
FMS: select waveform for internal frequency modulation
intFMW: adds to the width of the internal linear thru-zero FM.
extFMW: connect an envelope of LFO to open up the external FM.
HSon: switches hardsync to on when it receives a high gate.
waveA: select waveform for osc 1
waveB: select waveform for osc 2
mix: select waveform for controlling the crossfade between osc 1 and osc2

EXTRA CONTROLS:
sub: transposes the sub oscillator 1 octave
FMW: controls the frequency modulation width-offset for the internal FM
extFMW: controls the width of the incoming k-rate envelope/LFO on the extFMW input
FMS: same as input
waveA: same as input
waveB: same as input
mix: same as input
pw: sets pulse width of pulse-waveform(9)
LP: sets lowpass frequency
HP: sets highpass frequency
Hsync: manual control for syncing the oscillator to the "freq" input

DISPLAYS
the displays show the waveforms that are selected.

shapingLFO

Hz
Phase
reset
waveform
Bipolar
Bezier1
Bezier2
curve
sinedPhase
wave
sined

LFO with multiple shaping tools

sloped8xlfo

pitch
reset
o1
o2
o3
o4
o5
o6
o7
o8
pitch
frqIN
slope
time

8x saw-tri-ramp LFO
each LFO has a different rate-division based on root frequency and set by the "time" parameter

tempoSyncedLFO

sync
multiply
divide
octave
phase
PW
reverse
reset
sine
cosine
triangle
cotriangle
saw
ramp
square
pulse
multiply
divide
octave
phase
PW
syncRst

Tempo Synced LFO with multiple waveforms out

Automatically syncs tempo to the incoming clock on sync-input.
Tempo can be multiplied and divided by integers to keep a tight ratio and can also be shifted up/down up to 8 octaves.

phase controls all the waveforms (there is only one phase actually)
PW only controls pulsewidth of the pulse waveform (not bandlimited)

when syncReset is on, LFO will be synced to phase position set by phase parameter and phase input at regular intervals.

A trigger at the "reverse" input will reverse the play direction. Another click will revert it back to normal play direction.

Reset will hard-reset the phase of the LFO

sss/logic

ABchance

trig
chance
A
B
Bchance

uniform distributed (white) noise, triggered generation. Range -64..64

PolyCount

trig
r
rnd
count
max
stage
stages
nxt
c
normal
normax
total
min
max
rnd
quant

random measure generator
Set the maximum 'bar'-count with the "total" parameter.
min sets the minimum amount of counts per measure
max sets the maximum amount of counts per mearuse
press random to re-randomise the measures
quant quantizes the measure length to whole steps in power of 2,so 8ths->4ths->2s

Inputs:

TRIGGER: multiple ways:
-connect the trigger input to a tempo-synced LFO which gets it's rate multiplied with the max-output of this module. this way measures always take the same time, but you have fills at different rates->polyrhythmic measures: 1/1,2/2,3/3,4/4,5/5
-just connect a LFO to the trigger, this will create measures of different time-length: 1/1,2/1,3/1,4/1

R:
r resets the internal count back to zero, useful if its running allongside other sequencers and needs to be reset at the same positions.

RND:
rnd randomises the whole set of beats-per-measure.

OUTPUTS:
count: outputs the count-per measure/stage (drive some pattern generator with this)
max: outputs the maximum count for the measure/stage (for if pattern generator asks for a maximum count-input)
stage: outputs which stage the counter is in (useful for adding variations per measure/stage)
c: outputs a trigger when the total-count restarts at 0.
normal: outputs the normal total-count
normax: outputs the maximum of the total-count (for same use as max output)

chanceswitch

i1
i2
i3
i4
o
chance1
chance2
chance3
chance4
off

4 input logic switch
every input has it's own chance to set output to high.
the "off" parameter sets the chance of any incoming trigger to reset the output to off.

checkall

i1
i2
i3
i4
i5
i6
i7
i8
trg
repeat

Sends out a pulse only if all the inputs have gone high for the amount of times set by the repeat selector.
If you want to use less inputs, just connect the last used one to the remaining inputs.

countExt

trig
r
MaxCount
o
c
max
max

cyclic up counter with external count-up control

countStp

trig
r
max
stepsize
o
c
max
maximum
stepsize

cyclic up counter with modifiable stepsize and maximum output.
IMPORTANT:
Counter-length is set by "max" INPUT.
Output-value is wrapped between 0 and "maximum" SELECTOR.

Made be used with the "gateSpreader" module, but whatever, use it for anything

countX

trig
start
step
MaxCount
o
c

cyclic up counter with external count-up control

counter2

trig
r
o
c
maximum

cyclic up counter
added a trigger to the r output when the r-input gets triggered/is high (eg. active output of the clock module).

counter3

trig
r
max
o
c

cyclic up counter
added a trigger to the r output when the r-input gets triggered/is high (eg. active output of the clock module).

latch8x

i1
i2
i3
i4
i5
i6
trg
o1
o2
o3
o4
o5
o6

multiply

multi2

i1
i2
mode
update
trg
o
mode
update
o1

8 logic functions for 2 inputs
4th mode samples logic outcome at rising edge, but updates output after the rising edge->eg. for generative logic feedback networks

multi3

i1
i2
i3
mode
update
trg
o
mode
update
o1

64 different logic functions for 3 inputs!
4th mode samples logic outcome at rising edge, but updates output after the rising edge->eg. for generative logic feedback networks

pattCount

trig
r
pendulum
start
steps
restart
loop
size
range
o
c
start
steps
loop
restart
size
chgstep
chgsize
range
pendulum

pattern Counter

polycountMan

trig
r
save
load
filename
count
steps
stage
c
rst
maxstages
patterns
pattern
save
load

variable stage-beatlength counter.
This module functions like the polycount module, but has a manual control for the length of each stage instead of being randomly generated.
Set the internal table for the beatlength with the dedicated external module (arrayEdit module).

-trig: connect main clock trigger (advisable to use my sss/midi/clock module to sync to midi-host->also outputs beat-sample-length for use with other modules).
-r: connect to a reset source ("active" on midiclock, some clockdivider or manual button).

-count: outputs the beat-count within each stage. Each new stage, this count will restart and count up to the stage-lenght.
-steps: outputs the beat-length of the current stage (how many steps the count has in total of current stage).
-stage: outputs the current stage-index number.
-c: outputs a trigger each time the stage advances.
-rst: outputs a trigger when all stages are completed and restarts at stage zero.

-length attribute: sets the maximum length of a single pattern.
-pattern attribute: sets the maximum amount of patterns to be made.
-pattern input/control: sets which pattern to be read from the table. This is scaled to the max amount of patterns, this enables easy midi-control!

rCount

trig
r
MaxSampleAmount
o
c

cyclic up counter that is initiated at position -1 and reset to position -1.
Had to make this one for the sample-table creator, otherwise the first sample was always skipped for the record.

rndAB

trig
A
B
Bchance

randomised A/B switch

rndLGC

i1
i2
i3
i4
rnd
o1
o2
o3
o4
f1
f2
f3
f4
f5
f6
f7
f8
1a
1b
2a
2b
3a
3b
4a
4b
5a
5b
6a
6b
7a
7b
8a
8b
o1
o2
o3
o4
rnd
chance

multi logic with 4 inputs and randomisation
Uses 16 stages of A/B logic, that interconnected, outputs can select any of the logic inputs or logic-calculations.

shiftregister

i
trig
loop
s
var1
var2
var3
var4
var5
var6
var7
var8
var9
combi1
combi2
combi3
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

32 step shift register

sss/logic/dac

dac2

i1
i2
o

2bit DAC selector

dac3

i1
i2
i3
o

3bit DAC selector

sss/mat

expCurveA

in
exp
out
exp
stack

(inverse) exponential curving module
exp parameter above zero is exponential curve
exp parameter below zero is inverse exponential curve

sss/math

2to2

in
mod
switch
A
B
mod
mode
switch

Mode 1:
Divides the incoming signal (inlet-in) up in portions (inlet-mod) and adds these to A and B outputs one by one (A>B>A>B>A>B>etc). Summed, these will give back the original signal.

Mode 2:
panning inlet-in using inled-mod

Mode 3: mid(A)/side(B) signal

Mode 4: max(A)/min(B) signal

64-C

in
out

subtract

64-cA

in
out

subtract

64-cF

in
out

subtract

8x smooth

in1
in2
in3
in4
in5
in6
in7
in8
out1
out2
out3
out4
out5
out6
out7
out8
time

exponential smooth for 8 inputs

8xScaling

in1
in2
in3
in4
in5
in6
in7
in8
out1
out2
out3
out4
out5
out6
out7
out8
Max1
Min1
Max2
Min2
Max3
Min3
Max4
Min4
Max5
Min5
Max6
Min6
Max7
Min7
Max8
Min8

description

8xSort

01
02
03
04
05
06
07
08
o01
o02
o03
o04
o05
o06
o07
o08

description

8xSortMidiNotes

G01
G02
G03
G04
G05
G06
G07
G08
N01
N02
N03
N04
N05
N06
N07
N08
V01
V02
V03
V04
V05
V06
V07
V08
Go01
Go02
Go03
Go04
Go05
Go06
Go07
Go08
No01
No02
No03
No04
No05
No06
No07
No08
Vo01
Vo02
Vo03
Vo04
Vo05
Vo06
Vo07
Vo08
maxNotes

8x Midi-note sorting:
The value of the note-inputs are cross-compared and determine how the notes are sorted out.

The destination determined by the note-inputs are also used to determine the outputs of the gate and velocity values (or any other signal for that matter, what counts is that the N01->N08 inputs determine sorting process!)

When a gate input is low, a high value is added to the respective unused note-pitch, to send it to one of the bottom outputs of the list (depending on how many gates are off).

The maxNotes output is the sum of all gates. To be used with a counter and multiplexer to set the max range for arpeggiators for example.

8xVCA

1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
amp

8x Multiply (attenuate) with a k-rate value

8xscaling2

in1
in2
in3
in4
in5
in6
in7
in8
out1
out2
out3
out4
out5
out6
out7
out8
Max1
Min1
Max2
Min2
Max3
Min3
Max4
Min4
Max5
Min5
Max6
Min6
Max7
Min7
Max8
Min8

description

GoldRat

in
b1
s1
b2
s2
b3
s3
b4
s4
b5
s5
b6
s6
b7
s7
b8
s8
size
next
prev

Golden Ratio calculator
Set the total size with the "size" parameter
the outputs will give the size of each next golden division of the smallest part of the previous division

The buttons "next" and "prev" can be used to get to even smaller divisions based on the current size.
Next will take the next smaller division and resets the control to the next smaller division
Prev will take the current size and multiplies it with the golden ratio+1

Imult

in
out
multiply

Multiply integers by a value between 0 and 64.
Uses a knob to make it CV-controllable, 28-bit range is brought done 7-bit.
Lowest output is 1 as I needed that for a project!

Imult2

in
mult
out

Multiply integers by a value between 0 and 64.
Uses a knob to make it CV-controllable, 28-bit range is brought done 7-bit.
Lowest output is 1 as I needed that for a project!

asymSin

in
mod1
mod2
out
mod1
mod2

Asymmetrical sine-shaper
Important: set mod-knob to 64 for no shaping. Mod knob can be seen as a treshold knob, lowering the value will lower the point the signal will go into sineshape.
From 64 to 0 it lowers the "treshold" down to zero.
When below zero, it amplifies the incoming signal, widening the phase-modulation of the sines for more overtones.

baseRatios

time
mGate
M
dGate
D
time
gate
base1
base2
base3
bases
total

Module to calculate only ratio's of the input signal based on the selected base-values.
You can either just include a single base value, like 3, to only have "power of two" multiplications/divisions of 3 as output values:
1,3,6,12,etc divided by 1,3,6,12etc
Or use 3 bases, like 2,3 and 5 and their "power of two" multiplications, for more complex ratios.
The whole list is created at start-up and sorted out from lowest to highest value automatically.

The "total" control sets how many values will be created for the M and D selecting inputs.
The M input selects a value from the created list to use as a multiplier for the time input.
The D input selects a value from the created list to use as a divider for the time input.
Both inputs expect a fractioal control value between 0 and 64. (like a normal control module)

bipAdd

in
out
c

add bipolar constant

bipAmp

in
out
amp

Multiply (attenuate) with a constant value

bit1

a
rem

tells whether the 1-bit is on of off.

character

in
strength
gain
clip
quant
out
freq
strength
gain
clip
quant

Clipping distortion based on a lowpass filter.
Will lower the filter cutoff to 0hz when reaching maximum levels.
pitch: controls maximum filter cutoff (no ducking)
Strength: controls the strength/rate of the ducking->lowering the maximum output level.
Gain: adds gain to the input signal AND signal controlling the clipping
Clip: adds gain only to the signal controlling the clipping
Quant: quantizes the signal controlling the clipping.

The strength, clip and quant controls could be seen as "character" controls, changing the respective amplitudes of the created overtones, creating different distortions.
The gain control nicely warps this distortion-character up the frequency spectrum.

curveQnt

in
exp
mod
div
out
exp
stack
mod

Quantized curvings, to be used with the morphing table oscillators
Quantizes the 0-64 range into equal parts and creates a curve between the quantification points.
This is controlled by the "div" input.

Curve is created by the exp and mod controls.
negative exp=exponential
positive exp=inverse exponential
negative mod= inverse s-curve
positive mod= s-curve.

mod is actually a modulation of the exp input by the signal itself, fading from exponential to inverse exponential (or the other way around) and added to the exp-control.

SO:
When you want an (inverse) exponential curve, only use the exp-control
When you want a S-curve, first dial in the mod-control and use the exp-control to offset the center of the s-curve.

The exp and mod controls are being updated only when the signal goes over to a new part of the quantification.

distribute4

in
select
o1
o2
o3
o4
select
width
slope

value distributor module to be used with 4 "gateSpreader" modules. Used to distribute the amount of gates that may be played by several voices.
when width and slope are zero, the incoming voltage is mixed through output o1 up to o4 after which it returns to output o1.
When increasing slope, it decreases the rate at which adjoining sides decrease in value. When slope is set at 64, all inputs receive the full input value.
The "width" sets the width of the "center" value that receives most of the incoming value.
Note that only when width and slope are set to zero, the sum of all the outputs is the same as the value of the input. Increasing either will result in a greater summation.

divScale

in
D
add
out
amp

Multiply (attenuate) with a constant value, then divide by an integer.
To be used with the divide-outputs of the table-oscillators/LFO's to scale the input back to maximal quantification 4 steps, whatever the amount of quantification of the quantizer of the oscillator/LFO.

divScaleA

in
D
add
amp
out
amp

Multiply (attenuate) with a constant value, then divide by an integer.
To be used with the divide-outputs of the table-oscillators/LFO's to scale the input back to maximal quantification 4 steps, whatever the amount of quantification of the quantizer of the oscillator/LFO.

divideI

in
divide
result

Divide two integers

divremc

a
denominator
rem
div

divide integer with constant, also outputs remainder (modulo). Uses integer input to set denominator

divremcF

in
denom
rem
div
scaled

fractional divremc module
scaled output is the remainder, scaled back to 0-64 range.

divremcGates

a
denominator
G1
G2
rem
div
G1
G2

divide integer with constant, also outputs remainder (modulo). Gate int inputs set position for triggers (eg. when set to 3, each time rem goes by "3", sends a gate out)

divremcPend

a
denominator
rem
div
pendulum

divide integer with constant, also outputs remainder (modulo). Uses integer input to set denominator

expCurveA

in
exp
out
exp
stack

description

expCurveK

in
exp
out
exp
stack

(inverse) exponential curving module
exp parameter above zero is exponential curve
exp parameter below zero is inverse exponential curve

expoGlide

in
glideOFF
out
glide

exponential glide
When glide is zero, there is no glide!
When input glideOFF is high, glide is off.

formulator

a
b
c
d
e
f
g
h
formula
o1
o2
o3
o4
formula1
formula2
formula3
formula4
formula
scaleIn
scaleOut

An easy maths module, all calculations are done in floats and returned to integers.
In- and outputs are scaled.
4 sets of 4 formulas can be set in the text-entries.
Start with output name and use input names in the functions, always end with an " ; " at the end of a formula.
Multiple lines can be used the enter a single formula.
you can add extra names by adding: (float32_t) X; (where X is the new name)

----------example:

o1=SIN(a)/COT(b)*LOG(f);

o2=CLIP(c,MAX(f,g),MIN(d,e));

float32_t T;
T=POW(f,e);
o3=1/T;

o4=a+b+c+d+e+f+g+h;

----------end of example

list of available "special" functions:

PI PI-value 3.14159265359....
SIN(X) Sine from X. For a full cycle enter: SIN(X*2*PI)
COS(X) Cosine from X. For a full cycle enter: COS(X*2*PI)
TAN(X) Tangent from X. For a full cycle enter: TAN(X*2*PI)
SEC(X) Secant from X. For a full cycle enter: SEC(X*2*PI)
CSC(X) Cosecant from X. For a full cycle enter: CSC(X*2*PI)
COT(X) Cotangent from X. For a full cycle enter: COT(X*2*PI)
POW(X,Y) Power function X^Y
SQR(X) Squareroot of X
ABS(X) Absolute (positive) value of X
LOG(X) Log function on X. For an input at scaleIn value, returns 0dB change to the scaleOut value.
QNT(X,range) Quantizes to range value)
DIV(X,range) Number of divisions: number of times that X has passed the range value)
REM(X,range) Remaining: X wraps back to 0 if it passes the range value)
MAX(X,Y) Maximum of X and Y)
MIN(X,Y) Minimum of X and Y)
CLP(X,max,min) Clipping between max and min)

of course you can also use the normal functions:

X+Y add X to Y
X-Y subtract Y from X
X*Y multiply X and Y
X/Y divide X by Y
X>Y compare: X greater then Y
X>=Y compare: X greater then or equal to Y
XX<=Y compare: X smaller then or equal to Y
X==Y compare: only if X equals Y
X&&Y compare: AND X and Y both above 0
X||Y compare: OR X or Y above zero


"not usable" for float calculations, need "special" care to use these:

^ this is a integer function, not usable for floats. BUT you can use it if you put (int32_t) in front of the value/name.
: and ? this is used for other functions like: (X>Y?X:Y). Which means, if X is greater then Y, return X, otherwise return Y.

gatePart

count
max
out
length

This module is made for use with the polycount module.
Connect the count and max inputs to the count and max outputs of the polycount.
The "length" controls for how long the gate will be high in respect to the length of the current stage.

gatePart2

count
max
out
length
start

This module is made for use with the polycount module.
Connect the count and max inputs to the count and max outputs of the polycount.
The "length" controls till which count the gate will be high in respect to the length of the current stage.
The "start" controls from which count the gate will be high in respect to the length of the current stage.

glideMultiExt

in
glideOFF
Glide
out
glide
mode

glide module for control signals with 3 different glide modes:
1-exponential (continous calculation of difference between current output value and input value, adding a part of the difference to the output at each sample calculation)
2-linear difference (only when input changes, calculates difference and adds a portion of this to the current output value at each new sample until it reaches the input value.
3-linear static time (when input changes, adds/subtracts a fixed value to the current output value until it reaches the input value. Difference between values does not influence change-rate.

glide_multi

in
glideOFF
out
glide
mode

glide module for control signals with 3 different glide modes:
1-exponential (continous calculation of difference between current output value and input value, adding a part of the difference to the output at each sample calculation)
2-linear difference (only when input changes, calculates difference and adds a portion of this to the current output value at each new sample until it reaches the input value.
3-linear static time (when input changes, adds/subtracts a fixed value to the current output value until it reaches the input value. Difference between values does not influence change-rate.

kickCalc

hit
tail
phit
psub
ptail
out

Basskick modulator
Takes 2 envelopes for hit and tail pitch modulation and uses them to fade between the pitch of the hit, the "sub" midsection for the "oompf" and a bassnote/modulation in the tail.

kickCalc2

volEnv
hitEnv
tailEnv
bassEnv
pitchHit
pitchSub
pitchTail
pitch
vol
bassMod
pitchHit
pitchSub
pitchTail

Basskick modulator
Takes 2 envelopes for hit and tail pitch modulation and uses them to fade between the pitch of the hit, the "sub" midsection for the "oompf" and a bassnote/modulation in the tail.

max4

in1
in2
in3
in4
out

max of 4 values

morphController

phase
lvl
o1
o2
o3
o4
width
start
spread

Morph-controller
the phase-input sends a positive triangle to the outputs one by one like:
/\__
_/\_
__/\
\__/
The width of the triangle as well as the spreading between these and the start-position (which one(s) is/are high at phase=0) can be controlled.
The width goes from very narrow spikes to all 4 overlapping, though mixed.
Spread allows to change the order of the triangles, to make 2 triangles go high at the same time or follow-up shortly after each other while having "blank" spaces in the middle. Very nice to use for modulation-widths of different modulations!

ratioVCA

in
Multiply
Divide
out

Set Ratio between incoming and outgoing value

ratioVCAI

in
Multiply
Divide
power
out

Set Ratio between incoming and outgoing value

ratiomaxVCA

in
Multiply
Divide
maxtimes
out

Set Ratio between incoming and outgoing value

ratios235

i1
rate
o1
rate
total

(no description)

scaleInOut

in
out
inMin
inMax
outMin
outMax

arbitrary signal scaler
with inMin and inMax, you set the width of the incoming signal (signal is clipped if incoming signal goes beyong the limits set by the inMin and inMax controls)
with outMin and outMax, you set the width of the outgoing signal

tripplepower

a
b
c
d
result

3x power curve. Usable for shaping the phasor output before sending into sine shaper

sss/MI

braidsA

pitch
timbre
color
wave
mode
pitch
timbre
color
d1

Harmonics oscillator from Mutable Instruments Braids

sss/midi

CCzoom

midiCC
trig
cc
default
zoomcc

Receives Midi Continuous Controller messages
Has a CC-entry for setting a "zoom" function. This bitshifts the incoming midiCC and only updates the part of the internal value that fits the zoom-bit-depth. This allows for a "universal zoom setting", so every parameter can be controlled up to the tiniest precision.

QuNeoMIDI2CV

note
gate
gate2
velocity
releaseVelocity
pressure
CV1
CV2
polyindex

Monophonic MIDI keyboard note input, gate, velocity and release velocity to use with the QuNeo midicontroller.
The module sorts out the 2 extra X/Y midicontrols that are send with each note and outputs these a 2 extra polyphonic controls next to the pressure output.

QuneoPoly4

count
G1
N1
V1
P1
A1
B1
G2
N2
V2
P2
A2
B2
G3
N3
V3
P3
A3
B3
G4
N4
V4
P4
A4
B4

Polyphonic MIDI keyboard with note, gate, velocity, pressure, X and Y outputs to use with the QuNeo midicontroller.
The module sorts out the 2 extra X/Y midicontrols that are send with each note and outputs these a 2 extra polyphonic controls next to the pressure output.
This module can play 4 voices, each with their own X/Y control.

quneo layout of the 16 pad:
lowest note=36, left bottom is first note, then to the right and up:

48,49,50,51
44,45,46,47
40,41,42,43
36,37,38,39

pressure starts at 23, each next in line has an increment of 3 (23,26,29, etc)
pressure starts at 24, each next in line has an increment of 3 (24,27,30, etc)
pressure starts at 25, each next in line has an increment of 3 (25,28,31, etc)

eg for pressure:

59,62,65,68
47,50,53,56
35,38,41,44
23,26,29,32

QuneoPoly4Rec

count
load
save
filename
clear
whipe
G1
N1
V1
P1
A1
B1
G2
N2
V2
P2
A2
B2
G3
N3
V3
P3
A3
B3
G4
N4
V4
P4
A4
B4
size
load
save

4 voice polyphonic MIDI keyboard RECORDER with note, gate, velocity, pressure, X and Y outputs to use with the QuNeo midicontroller.
The module sorts out the 2 extra X/Y midicontrols that are send with each note and outputs these a 2 extra polyphonic controls next to the pressure output.
This module can record 4 voices, each with their own X/Y control.

The count input can be set to a fast rate, this way, combined with a large table-size, fast automations can be recorded
Note though, the bigger the tables, the longer the load/save time!

quneo layout of the 16 pad:
lowest note=36, left bottom is first note, then to the right and up:

48,49,50,51
44,45,46,47
40,41,42,43
36,37,38,39

pressure starts at 23, each next in line has an increment of 3 (23,26,29, etc)
pressure starts at 24, each next in line has an increment of 3 (24,27,30, etc)
pressure starts at 25, each next in line has an increment of 3 (25,28,31, etc)

eg for pressure:

59,62,65,68
47,50,53,56
35,38,41,44
23,26,29,32

THRU

device

midi thru module for all channels and all data types

arpMidi

gate
gate
note
velocity
S
length
sustain

Monophonic MIDI keyboard note input, gate, velocity and release velocity. Polyphonic touch output.

arpeggio

gate
note
touch
pulselength_1
CountMem2_1
CountMem2_1
CountMem2_1
CountMem2_1
CountMem2_1
CountMem2_1
CountMem2_1
CountMem2_1
CountMem2_1
CountMem2_1
CountMem2_1
CountMem2_1
CountMem2_1
CountMem2_1
CountMem2_1
CountMem2_1
value

(no description)

arpeggio2

gate
gatesOn
note
touch
lownote
pulselength_1
rndWeightNote_1
rndWeightNote_1
rndWeightNote_1
rndWeightNote_1
rndWeightNote_1
rndWeightNote_1
rndWeightNote_1
rndWeightNote_1
rndWeightNote_1
rndWeightNote_1
rndWeightNote_1
rndWeightNote_1
value
value
value

(no description)

clkIN

position
active
clock
reset
random
trg1
trg2
trg3
CH
CC

midi clock&position receive module.
Works with the "clkOUT" module to proper functioning!
Also features 5 extra "main" momentary trigger outputs.
These can be used for whatever you want to trigger, but as I often use a dedicated reset and random, I've added these labels for the first two.
Also, the "reset" output also goes high when receiving the midi start message, but not when midi continue is used.

clkOUT

position
start
stop
continue
clock
reset
random
trg1
trg2
trg3
position
active
clock
reset
random
device
CH
CC

main midi clock module with song position and several extra boolean triggers to communicate with other axoloti's.
Comes with it's own receive module for proper functioning of the midi messages! (clkIN module)
reset/random/triggers are send as a single combined midiCC value whenever any one of them go high (each input being one bit) to reduce message count if several get updated at the same time. NOTE! No "off" message will be send as the receiver does this automatically, again, to save message count.

clock

active
pos4ppq
pos24ppq
trig4ppq
trig24ppq
time
baserate

Midi clock slave
-also outputs a 4ppq and 24ppq clock
-time output gives the sample-time for a 4ppq clock.

keyboard

channel
oct
b12

internal polyphonic midi keyboard

korgKP3control

pgm
trig
X
Y
fxdepth
gate
clock
active
sampleA
sampleB
sampleC
sampleD
device
channel
clock
range

Dedicated Korg Kaosspad 3 external midi controller object
-program change inputs for selecting FX (better only do this while gate is low and not at the beginning when the gate goes high)
-gate/X/Y/fx-depth midi control (with midi message thinning, also only sends when gate is high)
-selectable clock source (pin input, external midi or off)
-trigger inputs for sample A to D

midi2cvRtrg

note
gate
retrigger
velocity
releaseVelocity
mode
channel
highnote
lownote

Monophonic MIDI keyboard note input, gate, retrigger, velocity and release velocity.
Can select a different midichannel then main patch or follow patch midichannel.

midichordIN

n1
n2
n3
ccl
channel
singleOctave

Receives 3 notes (triad) with pitchbend offset.
To be used with the pythagorean tonnetz sequencer and "midichordOUT" modules.
This way the frequencies being generated by the tonnetz sequencer can also be send to external boards.
This module outputs note-values instead of the frequency input values of the "midichordOUT" module.

midichordOUT

f1
f2
f3
device
channel

Sends 3 notes (triad) with pitchbend offset whenever one of the input changes.
To be used with the pythagorean tonnetz sequencer and "midichordIN" modules.
This way the frequencies being generated by the tonnetz sequencer can also be send to external boards.
Inputs are frequency inputs (outputs of pythagorean tonnetz sequencer) that get converted internally to note numbers plus pitchbend offset.

multiCC

selectA
selectB
midiCC1a
midiCC1b
midiCC1c
midiCC1d
midiCC2a
midiCC2b
midiCC2c
midiCC2d
midiCC3a
midiCC3b
midiCC3c
midiCC3d
midiCC4a
midiCC4b
midiCC4c
midiCC4d
default
ccCV1
ccCV2
ccCV3
ccCV4
midichannel

Receives Midi Continuous Controller messages for 4 inputs.
Has a binairy selector (2 boolean-inputs) to select between 4 outputs for each midiCC-> 4 controls to 16 outputs.

noteTV

gate
touch
Note

Monophonic MIDI keyboard note input. Only responding to a single note, with polyphonic aftertouch and gate output.
When gate goes low, holds velocity of initial impact.

notechannel

note
gate
gate2
velocity
releaseVelocity
midichannel

Monophonic MIDI keyboard note input, gate, velocity and release velocity modulation source

poly8ARecorder

active
count
filename
load
size
midichannelIn
channelOut1
channelOut2
channelOut3
channelOut4
channelOut5
channelOut6
channelOut7
channelOut8
rec
length
poly
selectHi
selectLow
clear
load
save

Midi 8-voice input recorder with polyphonic aftertouch record.
Aftertouch is recorded at the same rate of the count input.
Notes are recorded 1/6 of the rate of the count input.

Multiple voice allocation modes using the "poly" switch:
1= monophonic, notes will be recorded to the selected channel ("select" switch)
2= internal count steps through the 8 voices for each incoming midi note
3= checks the lowest empty channel and records incoming midi notes to that channel
4= polyphonic, uses the polyphonic index to write to certain channel (needs to be in a polyphonic subpatch for this to work!!)

-set the size(maximum length) of the pattern-table before start
-set the length of the pattern during playtime with "length"
-connect a counter or the pos24ppq of the midi clock to the count-input. Notes will be recorded at pos4ppq rate and aftertouch on pos24ppq.
-connect the "active" output of the midi counter or a switch to the "active" input, otherwise nothing will be played!-> only plays when active is high!
-to record, press the "rec" button

-to save your recorded pattern, add a string/indexed to the filename input.
-press save for saving the pattern to your SDcard
-press load to load a pattern from your SDcard
When there is still audio playing, a short bleep will sound when you load/save a pattern. To avoid this, (automatically) mute the audio out when pattern is loaded/saved.

Each channel can send on it's own midichannel, allowing you to play different synthesizers from this single midi recorder.

This module pairs very well with the arturia beatstep pro. Finally an aftertouch recorder!

polyA8Recorder

active
count
filename
load
size
midichannelIn
channelOut1
channelOut2
channelOut3
channelOut4
channelOut5
channelOut6
channelOut7
channelOut8
rec
length
poly
selectHi
selectLow
clear
load
save

Midi 8-voice input recorder with polyphonic aftertouch record.
Aftertouch is recorded at the same rate of the count input.
Notes are recorded 1/6 of the rate of the count input.

Multiple voice allocation modes using the "poly" switch:
1= monophonic, notes will be recorded to the selected channel ("select" switch)
2= internal count steps through the 8 voices for each incoming midi note
3= checks the lowest empty channel and records incoming midi notes to that channel
4= polyphonic, uses the polyphonic index to write to certain channel (needs to be in a polyphonic subpatch for this to work!!)

-set the size(maximum length) of the pattern-table before start
-set the length of the pattern during playtime with "length"
-connect a counter or the pos24ppq of the midi clock to the count-input. Notes will be recorded at pos4ppq rate and aftertouch on pos24ppq.
-connect the "active" output of the midi counter or a switch to the "active" input, otherwise nothing will be played!-> only plays when active is high!
-to record, press the "rec" button

-to save your recorded pattern, add a string/indexed to the filename input.
-press save for saving the pattern to your SDcard
-press load to load a pattern from your SDcard
When there is still audio playing, a short bleep will sound when you load/save a pattern. To avoid this, (automatically) mute the audio out when pattern is loaded/saved.

Each channel can send on it's own midichannel, allowing you to play different synthesizers from this single midi recorder.

This module pairs very well with the arturia beatstep pro. Finally an aftertouch recorder!

polymidiXL

read
write
restart
maxcount
port
load
save
filename
DelChnl
fromMin
fromMax
copy
toMin
you can stretch parts! (int32)">toMax
delay
time
transpose
tail
repeats
bound
erase
active
key
scale
undo
size
scale
CHANNEL internal/DIN 1 2 3 4 5 6 7 8 9 A B C D E F G 1 2 3 4 5 6 7 8 9 A B C D E F
edit
mute
solo
scaled
predelay
toChnlOffset

"Monophonic MIDI keyboard note input, gate, velocity and release velocity"..... well, yes, that's where it started.. XD

This is now a polyphonic midi-recorder, able to record midinotes from every channel and 2 ports (internal/DIN).
Each channel can be set to be editted (whether it's recording or only sending thru the played midi to play along with your recording)
Each channel/port can be muted independently
Each channel/port can be solo'd + added to solo'd channels
Each channel can use the scaling of the 46 scales in the scale7bank (used with pads, unused notes are just skipped, 7 pads=1 octave)

Read-and write- counterposition can be set independently. This also allows for timing-adjustments (eg. delay the writeposition in respect to the read-position when you have latency)
The counter can be set pretty fast as it just records positions where recorded notes should be played. So eg. you could run at 192x host tempo with a maxcount of 24*64 to have a short but lively (unquantized) sequence.

Don't forget to send a "gate-high" to the "active" input when you want the sequencer to actually be active and do something..

Amount of maximum notes to be recorded is set by the "size" attribute. I set it to 8129... never passed it and quick loading time.

Several midi-fx are added:
"copy": this copies from a part (from min/max) of the selected "edit" channels to a part (to min/max) of the channels "former channel"+"toChannelOffset". So:
if the "edit" of channels 1,2,3,4 is "on" and "toChannelOffset" is set to 5, it will copy these channels to channels 6,7,8,9 respectively.

"delay": this adds delayed midi-notes to the existing midi-pattern. The amount of repeats can be set as well as transposition, time and velocity-decay. "bound" will loop delayed notes if they surpass the maximum count.

"DelChnl" deletes only one channel
"erase" erases all channels
"undo" erases last 64 notes (not sure if that's so very helpful..)

It's possible to control the channel edit/mute/solo/scaled over midi using midichannel 1. sending a midiCC 57,58,59,60 set the bar to edit (0=edit/1=mute/2=solo/3=scaled)
Sending midiCC 1 to 16 on midichannel2 toggles the seperate steps.

polymidiXL2

read
write
restart
maxcount
port
load
save
filename
DelChnl
fromMin
fromMax
copy
toMin
you can stretch parts! (int32)">toMax
delay
time
transpose
tail
repeats
bound
erase
active
key
scale
undo
size
scale
CHANNEL internal/DIN 1 2 3 4 5 6 7 8 9 A B C D E F G 1 2 3 4 5 6 7 8 9 A B C D E F
edit
mute
solo
scaled
predelay
toChnlOffset

"Monophonic MIDI keyboard note input, gate, velocity and release velocity"..... well, yes, that's where it started.. XD

This is now a polyphonic midi-recorder, able to record midinotes from every channel and 2 ports (internal/DIN).
Each channel can be set to be editted (whether it's recording or only sending thru the played midi to play along with your recording)
Each channel/port can be muted independently
Each channel/port can be solo'd + added to solo'd channels
Each channel can use the scaling of the 46 scales in the scale7bank (used with pads, unused notes are just skipped, 7 pads=1 octave)

Read-and write- counterposition can be set independently. This also allows for timing-adjustments (eg. delay the writeposition in respect to the read-position when you have latency)
The counter can be set pretty fast as it just records positions where recorded notes should be played. So eg. you could run at 192x host tempo with a maxcount of 24*64 to have a short but lively (unquantized) sequence.

Don't forget to send a "gate-high" to the "active" input when you want the sequencer to actually be active and do something..

Amount of maximum notes to be recorded is set by the "size" attribute. I set it to 8129... never passed it and quick loading time.

Several midi-fx are added:
"copy": this copies from a part (from min/max) of the selected "edit" channels to a part (to min/max) of the channels "former channel"+"toChannelOffset". So:
if the "edit" of channels 1,2,3,4 is "on" and "toChannelOffset" is set to 5, it will copy these channels to channels 6,7,8,9 respectively.

"delay": this adds delayed midi-notes to the existing midi-pattern. The amount of repeats can be set as well as transposition, time and velocity-decay. "bound" will loop delayed notes if they surpass the maximum count.

"DelChnl" deletes only one channel
"erase" erases all channels
"undo" erases last 64 notes (not sure if that's so very helpful..)

It's possible to control the channel edit/mute/solo/scaled over midi using midichannel 1. sending a midiCC 57,58,59,60 set the bar to edit (0=edit/1=mute/2=solo/3=scaled)
Sending midiCC 1 to 16 on midichannel2 toggles the seperate steps.

rndMidiNotes

trig
touch
generate
offset
channel
maxNote
minNote

This module generates random internal midi-notes.
-touch controls the polyphonic midi aftertouch that's being send with the random generated notes
-generate controls the amount of random notes that are being generated (max=16)
-offset controls the aftertouch-offset of each new extra generated random note.

this module is a complement to the glitchBeast module, so effects can be triggered randomly while the timing of the random fx can be recorded using the "touchrec" module.

singleTouch

gate
touch
Note

Monophonic MIDI keyboard note input. Only responding to a single note, with polyphonic aftertouch and gate output

touchchannel

note
gate
gate2
velocity
releaseVelocity
touch
midichannel

Monophonic MIDI keyboard note input, gate, velocity and release velocity. Polyphonic touch output.

sss/midi/internal

channelnote

note
velo
trig
channel

Midi note output. Sends to midi/in/* objects only.

sss/midi/out

clockthru

device

Midi clock thru

continuousCC16

i1
i2
i3
i4
i5
i6
i7
i8
i9
i10
i11
i12
i13
i14
i15
i16
device
channel
cc
rate

Sends out a continuous stream of midi messages for 16 CC numbers starting from the "cc" attribute (0-15, 1-16, etc)
Useful in combination with the "ctrlRec16" module and the doepfer MTV16 to create a 16-channel knob recorder for your modular!

sss/MI/FX

glitch

l
r
select
gate
mod1
mod2
mod3
l
r
size
mix
rate

chorus effect from the rings dsp code open sourced by mutable instruments.
any bugs/issues you find are our own, report on the axoloti forum.

Thanks to Olivier Gillet from Mutable Instruments for open sourcing their code.
http://mutable-instruments.com

multifx

l
r
order
Cmix
Pmix
Emix
Rmix
Pfrequency
Pshift
l
r
size
Cmix
Pmix
Emix
Rmix
order
Camount
Cdepth
Pfrequency
Pshift
Pfeedback
Eamount
Edepth
Ramount
Rtime
Rdiffusion
Rgain
Rlowpass
Alltime
Allshift
Allfeed
pingpong

chorus effect from the rings dsp code open sourced by mutable instruments.
any bugs/issues you find are our own, report on the axoloti forum.

Thanks to Olivier Gillet from Mutable Instruments for open sourcing their code.
http://mutable-instruments.com

roomdelay

l
r
order
Cmix
Pmix
Emix
Rmix
Pfrequency
Pshift
l
r
size
Cmix
Pmix
Emix
Rmix
order
Camount
Cdepth
Pfrequency
Pshift
Pfeedback
Eamount
Edepth
Ramount
Rtime
Rdiffusion
Rgain
Rlowpass
Alltime
Allshift
Allfeed
pingpong

chorus effect from the rings dsp code open sourced by mutable instruments.
any bugs/issues you find are our own, report on the axoloti forum.

Thanks to Olivier Gillet from Mutable Instruments for open sourcing their code.
http://mutable-instruments.com

sss/mix

Control

peak
V
P
A
S
V
P
A
S
peak

Control element for the desktop mixer

RdSt

outL
outR
L
R

stereo peak readout for the desktop mixer

deskCtrl1

a
mute
solo
gain

channel control module for the deskmix1 module
set the name of the deskmix1 module in the "a" reference box

deskCtrl2

mute
solo
gain
pan
sendLvl
sendSel
a
mute
solo
gain
pan
sendLvl
select

control module for the deskmix2 module
Enter the name of the deskmix2 module in the reference box!
mute: channel mute
solo: channel solo
gain: channel level
pan: channel panning
sendLvl: volume of audio send to selected send-output
select: selects which send-output the audio is send to

all parameters can be k-rate modulated for complex controlled mixing

deskmix1

bus_in
1
2
3
4
5
6
7
8
out
volume

8 input s-rate mixer, square gain scale
controlled with the deskCtrl1 module (load as many as the deskCtrl1 modules as that you need channels!)

deskmix2

1
2
3
4
5
6
7
8
L
R
send1
send2
send3
send4
send5
send6
send7
send8
volume
send
unmute
unsolo

8 input s-rate mixer, controlled remotely from the control modules (deskCtrl2 module, load this as many times as the channels you are using)
Features solo/mute/gain/pan/sendLvl/sendSelect for all channels->controlled with deskCtrl2 module.

deskmix3

1
2
3
4
5
6
7
8
L
R
send1
send2
send3
send4
send5
send6
send7
send8
volume
send
unmute
unsolo

up to 8 input s-rate mixer, controlled remotely from the control modules (deskCtrl2 module, load this as many times as the channels you are using).

Features solo/mute/gain/pan/sendLvl/sendSelect for all channels->controlled with deskCtrl2 module.

unlike the deskmix2 module, where the whole code is written out, this version uses a for-loop, so it first counts the amount of control modules that are loaded and then only calculates the channels that are actually in use.
THOUGH! it does somehow ask 1% more.. something which I think, is really really weird..
This saves quite some lines of code, so if you just ran out of memory because the code gets too big, you might want to use this one instead of the deskmix2 module.

desktopmix

audio1
audio2
audio3
audio4
audio5
audio6
audio7
audio8
returnL
returnR
volume1
volume2
volume3
volume4
volume5
volume6
volume7
volume8
pan1
pan2
pan3
pan4
pan5
pan6
pan7
pan8
aux1
aux2
aux3
aux4
aux5
aux6
aux7
aux8
sendVol1
sendVol2
sendVol3
sendVol4
sendVol5
sendVol6
sendVol7
sendVol8
outL
outR
peak1
peak2
peak3
peak4
peak5
peak6
peak7
peak8
peakL
peakR
aux1
aux2
aux3
aux4
aux5
aux6
aux7
aux8
MainVol

Desktop mixer core to be controlled with the desktop mixer controllers

features external pan, volume, aux-destination and aux-sendLevel controls for 8 channels.

distMix4

in1
in2
in3
in4
out
gain1
gain2
gain3
gain4
center
modC
shelf
modS
absD1
absD2
absC
absS

4 input s-rate mixer, square gain scale with a nasty distortion
Pairs very well with the sss/edrum/DR5 module!

distmix3

in1
in2
in3
out
gain1
gain2
gain3
symmetry
overall
GAIN

3 channel 2 stage distorting mixer.
The volume of each input is controlled at the first stage adding individual distortion based on the strength of the respective input plus the (mix)value of the second stage.
The second stage then sums the three channels and applies it's own distortion when the signal becomes hot.

For a very aggressive distortion, add a second module and connect the output of the first to all three inputs of the second.
When applying a loud basskick at one of the inputs and a less loud bass, the mixer will tend to duck the bass,

interPan

v
a
o1
o2

panner, with linear interpolation from k- to s-rate

matrix16x16

in1
in2
in3
in4
in5
in6
in7
in8
in9
in10
in11
in12
in13
in14
in15
in16
filename
o1
o2
o3
o4
o5
o6
o7
o8
o9
o10
o11
o12
o13
o14
o15
o16
gain
source
destiny
clear
load
save

16x16 modulation matrix with preset load/save

matrix8x16

in1
in2
in3
in4
in5
in6
in7
in8
filename
o1
o2
o3
o4
o5
o6
o7
o8
o9
o10
o11
o12
o13
o14
o15
o16
gain
source
destiny
clear
load
save

8x16 modulation matrix with preset load/save

mixSMP

i0
i1
i2
i3
select
mix
pan
spread
left
right
select
pan
spread
mix
volume

This is a mixing module with a low control count, allowing quick adjustments in a live situation.

select: morphs through the available inputs and sets that channel as the "main channel", following channels will be "side" channels. The main is always the "loudest" channel

mix: controls the volume of the "side" channels. 1nd channel to be mixed in is mixed in linearly, 2nd at a power of 2 and 3rd at a power of 4.

mixsix

in1
in2
in3
in4
in5
in6
out
gain1
gain2
gain3
gain4
gain5
gain6

6 input s-rate mixer, shows gain units, removed bus to save memory for a project.

multimorpher

i0
i1
i2
i3
i4
i5
i6
i7
mix
o00
o01
o02
o03
o04
o05
o06
o07
o08
o09
o10
o11
o12
o13
o14
o15
quant01
step01
start01
quant02
step02
start02
quant03
step03
start03
quant04
step04
start04
quant05
step05
start05
quant06
step06
start06
quant07
step07
start07
quant08
step08
start08
quant09
step09
start09
quant10
step10
start10
quant11
step11
start11
quant12
step12
start12
quant13
step13
start13
quant14
step14
start14
quant15
step15
start15
quant16
step16
start16

Smooth input rotator. Smoothly rotates the 8 inputs along with their negative counterparts to the 16 outputs
This new version has a quantize-knob to set how many inputs will be selected when the mix goes from low to high, step sets the stepsize, skipping intermediate inputs and start sets the selected input when mix is all the way down (a start-offset for the selector)

quadPanRotator

in1
in2
in3
in4
outL
outR
gain1
gain2
gain3
gain4
rate

4 input s-rate mixer with a panning rotator
each input's panning is 90 degrees shifted in respect to the former/next
rate controls the rotation speed

quadrant

i1
i2
i3
i4
x
y
o

crossfade between four inputs

rotationMix

i1
i2
i3
i4
angle
distance
o

crossfade between four inputs using angle and distance controls.
distance is limited to a 1:1 ratio, so high distance values turn the sine-rotation into a clipped triangle rotation, following the maximum mix-limits.

smthfade

i1
i2
c
o

smoothed crossfade between two inputs

sss/mux

13ModLvlSel

i0
i1
i2
i3
i4
i5
i6
i7
i8
i9
i10
i11
i12
s1
A1
s2
A2
s3
A3
s4
A4
s5
A5
s6
A6
s7
A7
s8
A8
o1
o2
o3
o4
o5
o6
o7
o8

select from 13 incoming modulators for the 8 mod outputs and set their level

mod-selector

i0
i1
i2
i3
i4
i5
i6
i7
s1
A1
s2
A2
s3
A3
s4
A4
s5
A5
s6
A6
s7
A7
s8
A8
o1
o2
o3
o4
o5
o6
o7
o8

select from 8 incoming modulators for the 8 mod outputs and set their level

smthRotSeq

i0
i1
i2
i3
i4
i5
i6
i7
s
o0
o1
o2
o3
o4
o5
o6
o7
output
i0
i1
i2
i3
i4
i5
i6
i7

Smooth input rotator. Smoothly rotates all the inputs along the 8 outputs.
This new version has internal 16-step sequences for each output for rotating through the inputs.

How to use:
-first select which output you want to make the sequence for.
-then press the buttons in the order you want them to morph/rotate
-redo this for all the outputs
-when the max of 16 steps is reached, it will restart the count and overwrite the oldest selected inputs.

it will save how many inputs are added (max 16) and will keep cycling through them in a 16-step sequence.

smthRotator

i0
i1
i2
i3
i4
i5
i6
i7
s
o0
o1
o2
o3
o4
o5
o6
o7
jump
exp

Smooth input rotator. Smoothly rotates all the inputs along the 8 outputs.
This new version has a linear and exponential output-jump size, skipping outputs and so generating different patterns

smthRotator4

i0
i1
i2
i3
s
o0
o1
o2
o3
jump

Smooth input rotator. Smoothly rotates all the inputs along the 8 outputs.
This new version has a linear and exponential output-jump size, skipping outputs and so generating different patterns

smthRotator4A

i0
i1
i2
i3
s
o0
o1
o2
o3
jump

Smooth input rotator. Smoothly rotates all the inputs along the 8 outputs.
This new version has a linear and exponential output-jump size, skipping outputs and so generating different patterns

smthSelector

i0
i1
i2
i3
i4
i5
i6
i7
out
select
jump
exp

Smooth input selector. Smoothly selects between all the inputs.
Has a linear and exponential output-jump size, causing it to skip inputs and generating different patterns

sss/noise

coloured

center
width
side1
side2
invert
noise
center
width
side1
side2
invert

Coloured noise based on 2 biquad allpass filters that can be added or subtracted to get LP/HP/BP/NOTCH/PEAK/LOWSHELF/HIGHSHELF filtered noise

diginoise

rate
cut
wave
rate
cut

bandpass filtered sampled noise
Range -64..64

gausFixSnc

trig
seed
wave
seed

fixed retriggered pseudo gaussian distributed (white) noise
useful for drums/attack-part of sounds that should stay the same for each gate.
Range -64..64
This version has no extra randomisation at initialisation, so noise-seed can be used as a preset value for later recall.

multiNoise

init
pitch
rate
fFM
rFM
RANDOM
wave
phase
rnd
pitch
linkP2R
rate
chaotic
same
update
fixRnd
randFix
linkO2F
modF
damp
linkD2B
brighten

Seeded random generator with lots of goodies to change the character of the noise.
Hard to tell what each control does, best is just to check it out and listen to the responses when changing a parameter while showing the signal on a display &/ analyser.

noiseOsc

pitch
cut
wave
pitch
tone
cut

noise oscillator with noise-update rate in semitones (oscillator pitch), tone (phase octaver for noise update) and cut (BP-filter depending on both pitch and cut parameters)

retrGaussian

trig
wave
seed

retriggered pseudo gaussian distributed (white) noise
useful for drums/attack-part of sounds that should stay the same for each gate.
Range -64..64

sss/osc

11XShaper

a
b
c
d
e
f
g
mode
s1
s2
s3
s4
s5
s6
r1
r2
r3
r4
r5
r6
Min
result
table

multicore phase-shaper:
0=hard bezier
1=soft bezier
2=vosim
3=6x spectral morph
4=glitch multi shaper
5=phased tripple sine AM
6=6x spectral morph AM
7=dual double pulsar
8=saw-tri-square-sine morpher
9=random all-shape glitch
10=superdupersaw
11=table writer

1coreModOSC

pitch
Efreq
Lfreq
phase
ExtLFM
ExtEFM
ExtPM
EFM
LFM
PM
BuckReadEFM
BuckReadLFM
BuckReadPM
active
wave
pitch
LP
HP
ExtEFM
ExtLFM
ExtPM
EFM
LFM
PM
BuckReadEFM
BuckReadLFM
BuckReadPM

Single core oscillator featuring:
-external exponential and linear FM (LFM=indexed to internally modulated frequency) and external phase modulation
-internal exponential and linear FM (LFM=indexed to internal frequency) and phase modulation.

2DHQtable

pitch
mix1
mix2
step
sinemix
sync
out
divide1
divide2
table
pitch
FMW
waveform
sinemix
mix1
quant1
start1
step1
mix2
quant2
start2
step2

2D wavetable morph oscillator.
This oscillator uses the waveformGenerator module for generating it's waveforms.
With the mix-inputs/knobs, you morph through the different waveforms.
-quant sets the amount of waveforms that will be morphed through when mix goes from minimum to maximum.
-start sets the start-position in the table when mix is at zero
-step sets the step-size through the table, skipping in-between waveforms (wrapping back to 0 when above maximum available waveforms)

For easy use, use my qtsLFO4 for controlling the mix. Connect the divide-output to the D-input (divide) of the qtsLFO4.
When using saw/ramp, set it to bipolar, as the input is wrapped up/back down again when the input is below 0 or above 64 (turning it into a triangle-shape)

2DdualOsc

pitch1
pitch2
FMW1
FMW2
mix1
mix2
waveform
step
sinemix1
sinemix2
sync
wavemix
out
divide1
divide2
table
pitch1
HS
dampHS
SS
pitch2
unlink
FMW1
FMW2
waveform
SW1
W1
sinemix1
mix1
quant1
start1
step1
SW2
W2
sinemix2
mix2
quant2
start2
step2
wavemix
AMmix

2D wavetable morph oscillator.
This oscillator uses the waveformGenerator module for generating it's waveforms.
With the mix-inputs/knobs, you morph through the different waveforms.
-quant sets the amount of waveforms that will be morphed through when mix goes from minimum to maximum.
-start sets the start-position in the table when mix is at zero
-step sets the step-size through the table, skipping in-between waveforms (wrapping back to 0 when above maximum available waveforms)

For easy use, use my qtsLFO4 for controlling the mix. Connect the divide-output to the D-input (divide) of the qtsLFO4.
When using saw/ramp, set it to bipolar, as the input is wrapped up/back down again when the input is below 0 or above 64 (turning it into a triangle-shape)
Or use my qSmRnd to randonly and smoothly step through the waveforms set by the quantizer.

Both the internal oscillators can also choose between sine-wave or a wave from the table as their "base", non-morphing, waveform. This waveform is mixed out/in by the sinemix1/2 inlet's and knobs. The mix goes from 0 to 64 and is clipped to these values. The knobs can thus be used to offset a modulating signal.

An "unlink" is provided between pitch1 and pitch2 to be able to send each oscillator its own (scaled) pitch-sequence

2Dtablemorph

pitch
mix1
mix2
FM
sync
step
out
divide1
divide2
table
pitch
FMW
mix1
quant1
start1
step1
mix2
quant2
start2
step2

2D wavetable morph oscillator.
This oscillator uses the waveformGenerator module for generating it's waveforms.
With the mix-inputs/knobs, you morph through the different waveforms.
-quant sets the amount of waveforms that will be morphed through when mix goes from minimum to maximum.
-start sets the start-position in the table when mix is at zero
-step sets the step-size through the table, skipping in-between waveforms (wrapping back to 0 when above maximum available waveforms)

For easy use, use my qtsLFO4 for controlling the mix. Connect the divide-output to the D-input (divide) of the qtsLFO4.
When using saw/ramp, set it to bipolar, as the input is wrapped up/back down again when the input is below 0 or above 64 (turning it into a triangle-shape)

2coreModOsc

pitch1
pitch2
freq
ExtLFM
phase
ExtPM
EFM1
LFM1
EFM2
LFM2
Filtertrack
active
wave
pitch1
pitch2
LP
HP
ExtLFM
ExtPM
EFM1
LFM1
EFM2
LFM2
Filtertrack
Power

2-core oscillator featuring:
-two cores which are treated as x/y coördinates to perform a "distance-from-center-relocation"-function.
(or how the hack you want to name it, it provides a shaping control and that's what matters)
The higher the "power" knob, the more it saturates the output.
-both inputs and parameters for each control
-pitch-offset for both oscillators
-independent cross FM from output to the two cores, linear and exponential.
-external linear FM using frequency dependent modulation-index.
-external PM with PM width control
-lowpass and highpass filtering over output and internal LFM with additional pitch-tracking width (pitch inputs+paramaters divided by two).

3AMShape

phaseA
rate1
rate2
rate3
phase1
phase2
phase3
out

3x AM sine shaper

3FMbandOsc

pitch1
sideband1
sideband2
freq
phase
FM1
FM2
active
wave
pitch1
sideband1
sideband2
FM1
FM2

tripple sine wave oscillator with internal frequency modulation.

NOTE!!!-> sideband1 and sideband2 are sideband "goal" frequencies created by the FM! So these are not the actual rates of the oscillators!

3xModOsc

pitch
FM
PM
AM
active
phasor
pitch1
Hrm1
Hrm2
Hrm3
lfo

3-core oscillator with serial FM,PM and AM

6HrmShape

phase
h1
h2
h3
h4
h5
h6
s1
s2
s3
s4
s5
s6
r1
r2
r3
r4
r5
r6
Min
o1

Harmonic sine morph shaper. Asks lots of cpu, but very nice for drones.

6xHrmrphCtrl

select
value
change
select
Change
FMW
Walk
SpreadMain
Spread1
Spread2
SpreadExpo
AM
Step1
Step2
Range
Minimum
Algo
ShiftStep
ShiftHalf
ShiftSeconds
ShiftThirds

controller for the range counter modules

6xHrmrphMem

FMW
Walk
SprdM
Sprd1
Sprd2
SprdE
AM
Step1
Step2
Range
Minimum
Algo
ShiftStep
ShiftHalf
ShiftSec
ShiftThr
sel
in
trg
FMW
Walk
SprdM
Sprd1
Sprd2
SprdE
AM
Step1
Step2
Range
Minimum
Algo
ShiftStep
ShiftHalf
ShiftSec
ShiftThr
FMW
Walk
SprdM
Sprd1
Sprd2
SprdE
AM
Step1
Step2
Range
Minimum
Algo
ShiftStep
ShiftHalf
ShiftSec
ShiftThr

This is the control module for the 6xHrmrphOSC module.

6xHrmrphOSC

Pitch1
Pitch2
Pitch3
Pitch4
Pitch5
Pitch6
FMin
FMW
Walk
MainSprd
Sprd1
Sprd2
ExpSprd
AM
s1
s2
r1
Min
Algo
ShiftStep
ShiftHalf
ShiftSecond
ShiftThirds
active
o1
Walk
Walk
Pitch1
Detune
HP

Massive spectral harmonic&FM morphing oscillator

DX7

main
pitch1
pitch2
pitch3
pitch4
pitch5
pitch6
vol1
vol2
vol3
vol4
vol5
vol6
FM
algo
wave
pitch
algo
OS

DX7-style 6-operator FM oscillator

FAMSrecalc

Pcar
PFmod
PAmod
PSync
FMWcar
FMWam
AM
out
pitch
FMWcar
FMWam
AM
softsync
OS

This is a FM, AM and sync oscillator in which the modulation frequencies and carrier frequencies are recalculated based upon the "wanted" frequencies set by the pitch inputs.
The module can thus play "chords" where the 2nd and 3rd note of the chord are created by FM and AM modulation (and thus also creating overtones based on the FM/AM modulation).
The internal sync-oscillator is a soft-sync, of which the dampening factor is controlled by the softsync frequency. The lower the softsync dampening, the less influence the sync has on the carrier and modulation oscillators.

FAMrecalc

Pcar
PFmod
PAmod
FMWcar
FMWam
AM
out
pitch
FMWcar
FMWam
AM
OS

This is a FM and AM oscillator in which the modulation frequencies and carrier frequencies are recalculated based upon the "wanted" frequencies set by the pitch inputs.
The module can thus play "chords" where the 2nd and 3rd note of the chord are created by FM and AM modulation (and thus also creating overtones based on the FM/AM modulation).

The module can be oversampled, although differences in response are hard to hear.

QO_control

volume
octave
harmonic
PW
main
fine
semi
octave
harmonic
fm1
fm2
fm3
waveform
PW
rate
PWM
cutoff
volume

description

QO_core

wave
main
ctrl1
ctrl2
ctrl3
ctrl4

quad core oscillator, controlled by the QO_main and QO_control modules.
Enter the name of the QO_main and QO_control modules into the object reference boxes.

Also volume (envelope) is controlled by the main and control modules.
The overall volume is controlled from the main module
The volumes of the seperate oscillators is controlled from the control modules
So no need for external vca's

QO_main

pitch
volume
fine
octave
semi
FM
PWM
volume

This is the main pitch/volume/pulse-width modulation-width control module for the QO_core quad oscillator.
Enter the name of this module into the "main" object reference on the QO_control and QO_core modules.

STO

pitch
shape
sub
LP
wave
pitch
shape
LP
sub

sine wave oscillator

STO2

pitch
shape
pulse
sub
PW
phase
LP
sync
wave
pitch
shape
pulse
hrm
sub
PW
phase
LP

sine wave oscillator

SiTrSaPu_Osc

pitch
FMW
freq
phase
slope
shift
saturate
active
out
pitch
FM
slope
shift
sine
saturate

description

TheCreator

filename
out
countCreate
countSaturate
countMaximise
size
OSCILLATOR-OUT
wave
freq
CREATION-SETTINGS
phaseshift
decline
damp
harmonics
harmChange
start
offstart
skip1
skip2
skip3
skip4
range
MAPCHANGE-settings-for-generating-different-waves-throughtout-the-table
changerate
startstep
Astep
Bstep
Cstep
Dstep
Estep
Fstep
press-to-CREATE-or-INTERUPT-to-stop
create
interupt
press-to-NORMALISE-or-SATURATE-to-max
gain
max
Maximise
sat
SAVEyourTABLEbeforeSHUTTINGdown!
SAVE2FILE
LOADFILE

Creates 1024 waveforms of 1024 samples each into a single wavetable in a single process.

just follow the controls from top to bottom, setting them to whatever setting, though reminding of some specialities:

-harmonics: sets the maximum amount of harmonics that can ever be created for any one of the waveforms
-range: sets the maximum harmonic that can be reaches above root-note.

-decline and damp: control the volume drop. Decline is relative to harmonic order. Damp attenuates each newly added harmonic.

-changerate: is set as a digital logic AND. 0 would be every single step, 1 would be each 2 steps, 2 each 4 steps etc..

-to create a new waveform (after having set all the above parameters) press "create"
don't forget to shut down the volume by adding a "*c" or mixer module!

-to stop the creation process before it's finished, press interupt. (eg. if you forgot to lower the volume ;) )

-after creating a table, set the maximum allowed volume with "max" and press the "maximise" button.
-you can saturate your waveform "fatbasterd" style, pressing the "sat" button (gain adds distortion)

-after all of this, press "SAVE2FILE" (need to connect a string-module to enter a file name, I recommend string/indexed)
-you can compare saved tables by selecting a table using the string/indexed and pressing "LOADFILE".

amPulse

pitch
freq
gain
damp
mix1
mix2
mix3
phasor
phase
pitch
FM
gain
damp
mix1
mix2
mix3
dir

Saw/Sine & Sine AM oscillator.
frequency response of the sine can be made non-linear by adding gain, this simulates as if the signal is spinning into a black-hole, the closer the saw gets to zero. This response can be inverted with the "dir" button.
"Damp" dampens the signal (1st order LP filter)
"mix1" mixes from an 1st order exponential response to a next order exponential response->see "mix2"
"mix2" sets the "next" response, between 2nd order and 3rd order exponential.
"mix3" mixes between saw and sine response for the AM part, softening overtones with the sine-variant.

atomOSC

centerx
centery
reset
x1
y1
x2
y2
reset
x1
y1
x1rate
y1rate
x2
y2
x2rate
y2rate
centermw
mass1
mass2
centermass
damp1
damp2

Planetary audio modulator
The audio inputs can be seen as the x/y positions of a planet, which influences the x/y positions of 2 moons.
the x/y positions of the moons are used as output.

The first 8 controls (x1/y1/x2/y2/x1rate/y1rate/x2rate/y2rate) are the reset positions of the moons.
The rate controls control the starting rate at which the moons will move through the map.
x1/y1/x2/y2 control where the moons will start.

centermw adjusts the volume of the incoming audio (centerx/centery)

Mass1/2/center set the mass of the planet and the moons.
The higher the frequency, the less mass the moon has and the more it is influenced by the planet/other moon and the less it influences the other moon.
The lower the frequency, the more mass the moon has and the less it is influences by the planet/other moon and the more it influences the other moon.
Centermass sets the mass of the planet. The planet x/y position isn't influenced by the moons, but it influences the moons depending on it's mass.
The lower the frequency of the planet, the "heavier" it is and the more the moons are going to be influenced by it, instead of by each other.

damp1 and damp2 dampen the change in x/y positions of the moons and force them to center position. This can also result in drasticly pitch-changing modulations.

bassOsc

pitch
FMW
slope
mult
Onsync
sync
active
out
pitch
slope
Slope
mult
Mult
AM
FM
Swidth
sync

tri/saw oscillator with added sine ringmodulation for vowel-like or bass sounds

blepCore

(no controls)

Multi wave oscillator with sync and FM modulation
Bandwith limited

blepSlave

pitch
sync
mod
wave
wave
pitch
core
pitch
wave
fm
snc

Multi wave oscillator with sync and FM modulation
Bandwith limited

blepSlave1

pitch
sync
mod
wave
wave
pitch
core
pitch
wave
fm
snc

Multi wave oscillator with sync and FM modulation
Bandwith limited

blepSlave2

pitch1
fm1
pw1
pwm
mod
sync
wave1
pitch2
fm2
pw2
wave2
mix
complex
wave
pitch
core
snc1
wave1
pitch1
pw1
pwm1
fm1
wave2
track
link
selectP
selectM
selectS
snc2
pitch2
pw2
pwm2
fm2
mix

Multi wave oscillator with sync and FM modulation
Bandwith limited

blepSlave2s

pitch
fm
pw
pwm
mod
sync
wave
wave
pitch
core
snc
wave
pitch
pw
pwm
fm

Multi wave oscillator with sync and FM modulation
Bandwith limited

blepSlaveS

pitch
SPofs
fm
sync
mod
wave
mix
Sstep
Sstart
syncs
hrmPst
octPst
wave
pitch
frq
core
maxStack
pitch
SPofs
detune
wave
Wstep
fm
SFMofs
defm
selectM
Sstart
Sstep
syncs
selectS
mix
demix
stack

Multi wave oscillator with sync and FM modulation
Bandwith limited

blepcore2

(no controls)

Multi wave oscillator with sync and FM modulation
Bandwith limited
V2 has more oscillator models

blepmodsaw

pitch
phase
sync
wave
phase
pitch
morph
string
tone
extsync

Modified Saw wave oscillator
Bandwith limited
Added:
A phase-input, though this is computed as a linear, not-thru-zero fm response freq=freq+(input-previous).
A saw-wave multiplier, adding more saws-per-cycle.
A sine-wave adder, AM-modulated by the phase.
Internal or external sync:
-when external sync is on, without an input-signal, it will un-couple the internal sync, making the saw "walk" during a cyle which will create a morphing saw. With an input signal, it will lock both internal phase-generators onto the incoming signal.
-when external sync is off, the "sync" algorithm will use an internal phase generator as sync, creating a "fixed" waveform.

blepped

pitch
mod
strike
env
mode
self
wave
table
size
pitch
self
mod
sync
wave
index2wave
note2wave

blepped multi-waveform oscillator
Bandwith limited

blepped2

pitch
mod
mode
wave
pitch
mod
mode

triangle oscillator
Bandwith limited

blepped3

pitch
Poffset
beatrate
mod
wave
self
wave
pitch
PoffsetOn
LFO
negative
Poffset
self
mod
sync
wave
index2wave
note2wave

blepped multi-waveform oscillator
Bandwith limited

blepped4

pitch
mod
hrm
div
oct
sync
wave
softsync
reverse
self
wave
pitch
mod
self
wave
softsync
reverse

triangle oscillator
Bandwith limited

chaosGuide

sync
gate
x
y
z
b
r
s
time
LP
HP
x
b
r
s
time
x
y
z
LP
HP

chaotic oscillator, useful for percussion sounds and waveguide sounds with a noisy "pluck" part for as long as the gate is high. X, Y, and Z are the initial "pluck" values when either gate or sync goes high.
Connect an oscillator to the sync input for syncing the waveguide and using it as a timbre-controlled oscillator. Depending on the values of the controls, the timbre can be totally different.
Control the gate's length to provide different "pluck" times.

As the sync will be off as long as the gate is high, the oscillator will be in it's chaotic state.
This state can either be repeating, noise or decay quickly with random quirks.. everything is possible.

classic

pitch
freq
phase
saw
pls
shark
p2s
rate
trig
wave
duck
phase
pitch
div
saw
pls
shark
p2s
track
OS
rate
wave

sine wave based internal PM/FM oscillator
Though the knobs tell their independent function when the rest is set to zero, there is a lot of cross-influencing between the wave-morphs.

classic2

pitch
freq
phase
sync
saw
pls
shark
p2s
rate
trig
wave
duck
phase
pitch
div
saw
pls
shark
p2s
track
OS
rate
wave
softsync

sine wave based internal PM/FM oscillator
Though the knobs tell their independent function when the rest is set to zero, there is a lot of cross-influencing between the wave-morphs.

complex

pitch
subrate
pw1
pw2
sofs
sawizer
fm
sync
out
pitch
fm
sawizer
subrate
subhrm
sofs
submod
pw1
double
pw2
root
sub
pulse1
pulse2
softsync

Complex oscillator based on the "inf" distortion module
-at the base is a thru-zero sine oscillator with a soft&hard sync function
-root can be modulated to a saw-type thanks to internal self FM
-sub-harmonic generator can be forced to stay in a low-frequency region, no matter the input frequency
-2x pulsewidth generators and the option to send the sub to the pw-generators as offset
-a mixer to mix all the 4 types together
-a soft distortion at the end to limit between -64 and 64

complexSH

mix
rnd
pitch
timbre
sync
smodes
out
phase
pitch
pitch
rnd
mix
track
timbre
hardsync
softsync
reverse
swap
direction
wave

oscillator based on a S&H module and a random table for amplitudes and S&H times.
Note though, that this oscillator is mostly usable for bass as a high pitch will make the S&H unstable.
"Mix" mixes between two tables for amplitude and timing of the S&H and is a kind of complex pulsewidth modulation.
"Timbre" controls the overall rate of the timing of the S&H (higher pitch->faster pulses->higher timbre)
Features several kinds of sync that can be stacked up on each other.
Instead of giving them all their own off/on inputs, these are externally controlled by an integer value in which each bit stands for it's own sync off/on. Use a "DAC" to convert bits to externally control the sync type or just a random value generator.
0/1=hardsync
0/2=softsync
0/4=reverse
0/8=swap
0/16=direction
0/32,64,96,128..etc=wave (0 up to 15, but multiplied by 32)

contivari

pitch
rate
a
b
mode
reset
out
phase
rst
pitch
rate
a
b
mode
disp
scope

Interpolated continously trans-morphing wavetable oscillator (or whatever)
capable of sounding like LOTS of oscillators

A function uses the internal table together with param_a, param_b and param_rate to edit itself in a continous loop.
To make your own function, just embed the module, go over to K-rate code and follow the instructions.

"function dependent controls":
a=phase offset for sine-calculation for array-edit-position
b=phase offset for sine-calculation for editting amplitude of array position

"overall controls"
pitch=oscillator pitch
rate=changerate of wavetable->anti-clockwise=very slow morphing, clock-wise=fast morphing(=kinda noisy)
mode=sets formula to use for transformation
rst=when off, resets wavetable to zero, when on, resets wavetable to root-sine. (when reset input goes high)

doublepulsar

a
b
c
d
e
f
g
result

multi pulse/square shaper

dualBezShape

phase
i0
i1
i2
j0
j1
j2
o
phase

dual bezier curve shaper. One for position, the other for level.

fm8xRandom

pitch
freq
rndFM
rndHrm
phase
fm
active
wave
pitch
fm
rndFM
rndHrm
range
voices

8x sine wave oscillator with internal FM.
generated harmonics and FM routing are random.
Harmonics and FM routing can be independently randomised with the buttons and inputs.
Range sets the maximum harmonic range.

gausOsc

pitch
seed
wave
pitch
damp
rate
seed
rnd

seeded noise oscillator based on pseudo gaussian noise factory module.

glitchosc

a
b
c
d
e
f
g
out

Glitch shaper, based on the divremc module.

guitarAllocation

size
presets

allocation module to use with the guitarTableOsc and guitarTable modules. The table is saved monophonically, so in a polyphonic patch, the table won't be copied for each extra voice. They all just read from the same table!

The "size" sets the size of the waveforms that are created (8192 is a nice very-low-distortion size)
The "preset" control sets how many waveforms can be created

guitarDualOsc

pitch
pwm
mod
start
sync
rateM
rateD
preset1
preset2
wave
table
pitch
harm2nd
rateM
rateD
pwm
mod
start
preset1
preset2
link

this is the module to use with the guitarTable module in a polyphonic synthesizer.
The guitarTable module will create a complex waveform and this module is able to play that waveform. This was needed, otherwise, in a polyphonic setting, each module would create it's own table, filling up the available memory really quickly.

-features pulsewidth, start-shift (start) and pick-up (mod) modulation, all extern controllable. (though these are all only approximations to the changes made by the "fixed settings", reshaping the wavetable)

guitarDualOscV

pitch
pwm
mod
start
sync
rateM
rateD
preset1
preset2
volEnv
wave
table
pitch
harm2nd
rateM
rateD
pwm
mod
start
preset1
preset2
link

this is the module to use with the guitarTable module in a polyphonic synthesizer.
The guitarTable module will create a complex waveform and this module is able to play that waveform. This was needed, otherwise, in a polyphonic setting, each module would create it's own table, filling up the available memory really quickly.

-features pulsewidth, start-shift (start) and pick-up (mod) modulation, all extern controllable. (though these are all only approximations to the changes made by the "fixed settings", reshaping the wavetable)

guitarOsc

pitch
pwm
mod
start
wave
pitch
pwm
mod
start
damp
harmonics
jump
max
position
strike

"guitarOsc"
-features pulsewidth, start-shift (start) and pick-up (mod) modulation, all extern controllable. (though these are all only approximations, reshaping the wavetable)

below the continuous controls, we got "fixed" controls, even though you could change them live, this will create a bleep as it has to recalculate the waveform.
-damp: dampening-factor for each next added harmonic corresponding to harmonic number.
-harmonics: how many harmonics will be generated for the wavetable (low numbers reduce recalculation time!)
-jump: "jump" size for next added harmonic, skipping harmonics in-between
-max: sets maximum harmonic number that can be added, wraps when above the max.
-position: sets the read-out position of the guitar-element
-strike: sets the position where the string is struck

guitarTable

table
damp
minDiv
harmonics
jump
max
position
strike
preset
do

this module is used to create a monophonic table for the guitarOscillator, so it can be used in a polyphonic setting (each oscillator reads from the same table, so the table itself doesn't have to be polyphonic). This was needed as otherwise each voice would create it's own table, filling up the available memory really quickly!

"fixed" controls, even though you could change them live, this will create a harsh bleep as it has to recalculate the waveform.
-damp: dampening-factor for each next added harmonic corresponding to harmonic number.
-harmonics: how many harmonics will be generated for the wavetable (low numbers reduce recalculation time!)
-jump: "jump" size for next added harmonic, skipping harmonics in-between
-max: sets maximum harmonic number that can be added, wraps when above the max.
-position: sets the read-out position of the guitar-element
-strike: sets the position where the string is struck

guitarTableOsc

pitch
pwm
mod
start
preset
wave
table
pitch
pwm
mod
start
preset

this is the module to use with the guitarTable module in a polyphonic synthesizer.
The guitarTable module will create a complex waveform and this module is able to play that waveform. This was needed, otherwise, in a polyphonic setting, each module would create it's own table, filling up the available memory really quickly.

-features pulsewidth, start-shift (start) and pick-up (mod) modulation, all extern controllable. (though these are all only approximations to the changes made by the "fixed settings", reshaping the wavetable)

hrmMorph

pitch
freq
key
scale
noteStep1
noteStep2
noteJump1
noteJump2
noteMix
hrmStep
hrmMix
wavestart
wavestep1
wavestep2
wavestep3
wavestep4
wave
nDiv
hDiv
scale
table
pitch
detune
noteStep1
noteQuant
noteRepeat1
jump1
noteStep2
noteRepeat2
jump2
noteRange
noteMix
hrmStep
hrmQuant
hrmRange
hrmMix
wavestart
wavestep1
wavestep2
wavestep3
wavestep4

quad morphing sine oscillator
morphs both through a scaled pitch (use scaleBank module from my harmony folder) as well as harmonic overtones.
-use a triangle LFO or smoothed-out LFO to control the mix-inputs->morphs through the notes/harmonics.
-noteQuant and hrmQuant set the amount of pitches/harmonics that will be played when mix goes from zero to max.
-hrm/noteStep sets the stepsize of each next played note/harmonic.
-noteRepeat wraps the note-count, making it repeat after the set amount of steps. For the notes, you have 2 patterns which are added together before being "ranged" between minimum (zero) and maximum (noteRange).
-jump sets the offset size that will be added to the note each time the repeat wraps the count.
-hrm/noteRange sets the maximum range for the harmonics/notes.

hrmOsc

pitch
freq
phasor
pitch
fm
quant
offset
step
range

sort of harmonics-selecting oscillator or something

-quant sets the amount of harmonics used in a single phase-cycle, in powers of 2 (so, 2,4,8,16,32,64)
-offset gives an offset to all harmonic values, selecting a different set of harmonics in a single cycle
-step sets the stepsize for selecting harmonic values
-range sets the range for the highest harmonic that may be used

hrmOsc2

pitch
freq
phase
offset
step
phasor
pitch
fm
quant
offset
step
range
internal

sort of harmonics-selecting oscillator or something

-quant sets the amount of harmonics used in a single phase-cycle
-offset gives an offset to all harmonic values, selecting a different set of harmonics in a single cycle
-step sets the stepsize for selecting harmonic values
-range sets the range for the highest harmonic that may be used

monodualSine

pitch
saw
dip
gate
wave
mix
pitch
detune
fade
saw
dip

sine/saw/dip oscillator based on self-FM and self-PM.
Uses two phase-generators and mixes from old to new sine when gate-input goes high.
This prevents clicking
Also features self-modulation for creating saw/dip/combined waveforms

morphor

pitch
preset
load
fm
phase
sync
Hz
reset
active
out
phase
table
pitch
fm
pm
softness
load
preset
morph

based on the sculptor, but without the editing parameters.
First make a wavetable (or load a previous designed wavetable), then load the table into the module. If there is no wavetable, there won't be a sound!

Also, instead of a "lowpass morphed" change between presets, this uses an internal LFO to update the two tables to the currently selected preset-value and to morph between them using a sine-shape (thus always smooth)

You can "override" the load by sending a gate high to the load input (will update one of the tables and the other one at the next trigger, over and over..etc) This is useful, since the tables are updated by the LFO and it might take a while before the first trigger is send to update the table from a preset.

An extra phase-output (also in the sculptor) is added that you can use for adding shaped signals to the wavetable sound (eg use one of my phase-shaper modules).

NOTE!!!
Don't forget to add the table allocation module and set the name to a table that you have recorded to!
If you haven't made a wavetable yet, by using the sculptor, you won't hear a thing!!!!!!!!

nativePWM

pitch
pw
active
wave
pitch

pulse width modulation oscillator with "active" control
Bandwith limited

nativeSaw

pitch
active
wave
pitch

saw wave oscillator with "active" control
Non-bandwith limited, medium quality

nativeSawsync

pitch
sync
active
wave
pitch

Saw wave oscillator with "active" control
Bandwith limited

nativeSine

pitch
freq
phase
active
wave
pitch

sine wave oscillator with "active" control

nativeSquare

pitch
sync
active
wave
pitch

square wave oscillator with "active" control
Bandwith limited with sync input.
Sync resets oscillator phase on rising zero-crossing

nativeSuperSaw

pitch
detune
phase
active
wave
pitch
detune

seven detuned saw wave oscillators with "active" control and extra "phase" modulation/destruction inlet (guess the audio rate modulation is converted to k-rate because of the blep-code, though modulation can be quite fat still).
Non-bandwith limited

nativeTri

pitch
active
wave
pitch

triangle oscillator
Bandwith limited

octrivial

pitch
out
pitch
root
octaving
steps

sine oscillator with controls to create "weird" scalings.
"octaving" sets the octave-size. Normal would be 2 (octave is twice as high as the precious octave). Setting it to 3 will force each next "octave" to be 3 times higher.

"steps" sets the amount of steps/notes each octave will have.

notes follow equal temperament based on the settings set by these controls.

phazorFM

pitch
freq
FMW
phasor
pitch

phasor
saw wave like oscillator
Uses frequency dependent thru-zero FM.
Features an FM-index input

pllOSC

pitch
MOD
FM
PM
PLL
active
wave
pitch
LP
FM
PM
PLL

PLL oscillator.
Feed another audio signal into the "MOD" inlet and turn up the PLL to force the oscillator into tracking the incoming signal.
FM and PM controls modulation of the oscillator by the MOD input.

pllSine

pitch
freq
PLLphase
active
wave
pitch
power
mode
overtones
FM

sine wave oscillator with PLL function and frequency modulation with frequency dependent modulation index

polyFMOsc

morph
mod
note1
note2
note3
note4
vol1
vol2
vol3
vol4
fm1
fm2
fm3
fm4
fm5
fm6
fm7
fm8
active
out
pitch
detune
glide
fm
extfm
key
src1
src2
src3
src4
src5
src6
src7
src8

4-voice "chord" oscillator with internal FM and source selection for each of the 8 internal oscillators and individual amplitude control for the 4 voices.

*connect a non-bandlimited saw-LFO to the "morph" input to update note-values and morph between the internal oscillators.
*connect an attenuated LFO to the "mod" input to generate swing for the "morph" input and an update offset between the 4 voices.

connect note-patterns to the 4 "note(1-4)" inputs. eg. use the 4xRngCount2 module to send notes. Values will be scaled to key internally!

fm(1-8) inputs control the FM width of each internal oscillator independently for ultimate sonic morphing!

Glide generates a portamento for each oscillator, changing to another note.

"fm" knob controls overall fm width between oscillators.
"extFM" knob controls overall width of the incoming fm-width signals.
"src(1-8) select the internal oscillator that is send to the oscillator (so first control is for osc1, 2nd for osc2, etc)
**first 4 sources are the "combined 2-oscillator voices", last 8 sources are the individual 8 oscillators.

polyScanner

scan
offset
note1
note2
note3
note4
PW
x
y
active
out
pitch
detune
key
PW

4-voice "chord" oscillator with xy scanning between the 4 sine voices
features PW control for exponential curving the phase

*connect a non-bandlimited saw-LFO to morph through and update voices to incoming note value
*connect an attenuated LFO to "swing" the morphing

pairs really well with the 4RngCount2 module to provide note-inputs

polyWaveform

morph
mofs
note1
note2
note3
note4
PW
waveform
active
out
pitch
detune
key
waveform
wChg
PW

4-voice "chord" oscillator with multiple waveforms

connect a positive saw-LFO (non-bandlimited) to the morph input for normal operation
connect an attenuatable LFO to the mofs input to "swing" the morphing
connect note patterns to the note(1-4) inputs, these will be scaled to the selected key internally
"PW" controls an exponential shaping of the phase, generating PW-modulation for all waveform-options
"waveform" controls the selected "base-start" waveform
"wChg" sets different waveforms for each voice, one knob for all possible combinations **use shift+ctrl to get to smaller bits
"detune" offsets the pitch between the 4 voices.
"key" sets the key of the scale. (negative values for minor scales)

pulsine

pitch
fmw
freq
phase
gain1
gain2
hp
wave
pitch
pitch
fmw
phase
gain1
extend
gain2
hp

modded waveform oscillator able to make saw, sine and pulse waveforms using the "gain" parameters
-"gain1" controls the phase width going into the sine shaper, saturated.
-"extend" enables the gain to go lower, enabling saw->sine->pulse morphing instead of only sine->pulse.
-"gain2" controls the width of the sine going into a saturator.

the pitch output outputs the combined pitch information (parameter+input+FM-signal), this can be used together with the "mostfilter" module to filter the waveform while keeping track of the modulated pitch in real time.
-the result goes through a highpass filter to remove DC-offset

pulsine2

pitch
fmw
freq
phase
gain1
gain2
hp
volume
wave
pitch
pitch
fmw
phase
gain1
extend
gain2
hp
volume

modded waveform oscillator able to make saw, sine and pulse waveforms using the "gain" parameters
-"gain1" controls the phase width going into the sine shaper, saturated.
-"extend" enables the gain to go lower, enabling saw->sine->pulse morphing instead of only sine->pulse.
-"gain2" controls the width of the sine going into a saturator.

the pitch output outputs the combined pitch information (parameter+input+FM-signal), this can be used together with the "mostfilter" module to filter the waveform while keeping track of the modulated pitch in real time.
-the result goes through a highpass filter to remove DC-offset

quadTable

pitch
freq
phase
sync
preset1
preset2
preset3
preset4
mix1
mix2
mixSine
wave
table
pitch
FMW
PMW
detune
mix1
mix2
preset1
preset2
preset3
preset4
mixSine
octSine
SoftS
AM
sync

table oscillator allowing a smooth mix between 4 waves at a time and a mix between sinewave and table.
For a wavetable, use "TheCreator" module to create a big 1024-waveform wavetable.

quadTable2

pitch
freq
phase
sync
preset1
preset2
preset3
preset4
mix1
mix2
mixSine
sineABCD
sineACBD
wave
table
pitch
FMW
PMW
detune
mix1
mix2
stay1
semi1
hrm1
hrmSine1
preset1
S1
stay2
semi2
hrm2
hrmSine2
preset2
S2
stay3
semi3
hrm3
hrmSine3
preset3
S3
stay4
semi4
hrm4
hrmSine4
preset4
S4
mixSine
sineABCD
sineACBD
AM
sync
SoftS

extended quadtable oscillator allowing a smooth mix between 4 waves at a time and a mix between 4 sinewaves and table, each on their own semitone and harmonic offset.
For a wavetable, use "TheCreator" module to create a big 1024-waveform wavetable.

randOsc

pitch
max
seed1
seed2
randAmp
randUpd
chance
active
out
pitch
max
smooth
randAmp
randUpd
chance
seed1
seed2
div
SeRa

description

ringosc

pitch
freq
phase
mod
frq
wave
pitch
mod
freq

Ringmoduling sine wave oscillator

rndSines

rate
out
rate
Rmod
volume
Vmod
mode
update

sine oscillator with randomisation of pitch and volume.
for both modes, the pitch and volume are randomised at phase-restart, but:
Mode1: values are only updated if a random value is higher then the update-control and phase restarts.
Mode2: values are always updated at each phase restart, but the update-control sets the maximum change from the former random value, creating a more or less continuous random drift.

rubisik

pitch
freq
FMS
intFMW
extFMW
HSon
waveA
waveB
mix
out
pitch
sub
FMW
extFMW
FMS
waveA
waveB
mix
pw
LP
HP
Hsync
sine1
halfsine2
doublesine3
triangle4
saw5
doublesaw6
doubleshark7
doublefin8
square9
pulse10
sub11
mixOut12
filtered13

An emulation of the eurorack rubicon oscillator with some extra waveforms and options

INPUTS:
pitch: well.. it's the pitch..
freq: linear thru-zero highpass-filtered FM audio input.
FMS: select waveform for internal frequency modulation
intFMW: adds to the width of the internal linear thru-zero FM.
extFMW: connect an envelope of LFO to open up the external FM.
HSon: switches hardsync to on when it receives a high gate.
waveA: select waveform for osc 1
waveB: select waveform for osc 2
mix: select waveform for controlling the crossfade between osc 1 and osc2

EXTRA CONTROLS:
sub: transposes the sub oscillator 1 octave
FMW: controls the frequency modulation width-offset for the internal FM
extFMW: controls the width of the incoming k-rate envelope/LFO on the extFMW input
FMS: same as input
waveA: same as input
waveB: same as input
mix: same as input
pw: sets pulse width of pulse-waveform(9)
LP: sets lowpass frequency
HP: sets highpass frequency
Hsync: manual control for syncing the oscillator to the "freq" input

DISPLAYS
the displays show the waveforms that are selected.

rubisikTable

pitch
freq
FMS
intFMW
extFMW
PWM
HSon
waveA
waveB
mix
tableform1
tableform2
out
table
pitch
sub
FMW
extFMW
FMS
waveA
waveB
mix
tableform1
tableform2
pw
LP
HP
Hsync
sine0
halfsine1
doublesine2
triangle3
saw4
doublesaw5
doubleshark6
doublefin7
square8
pulse9
sub10
table11
table12
white13
pink14
mixOut15
filtered16

An emulation of the eurorack rubicon oscillator with some extra waveforms and options

INPUTS:
pitch: well.. it's the pitch..
freq: linear thru-zero highpass-filtered FM audio input.
FMS: select waveform for internal frequency modulation
intFMW: adds to the width of the internal linear thru-zero FM.
extFMW: connect an envelope of LFO to open up the external FM.
HSon: switches hardsync to on when it receives a high gate.
waveA: select waveform for osc 1
waveB: select waveform for osc 2
mix: select waveform for controlling the crossfade between osc 1 and osc2
tableform1: select waveform for the first table
tableform2: select waveform for the second table

EXTRA CONTROLS:
sub: transposes the sub oscillator 1 octave
FMW: controls the frequency modulation width-offset for the internal FM
extFMW: controls the width of the incoming k-rate envelope/LFO on the extFMW input
FMS: same as input
waveA: same as input
waveB: same as input
mix: same as input
tableform1: same as input
tableform2: same as input
pw: sets pulse width of pulse-waveform(9)
LP: sets lowpass frequency
HP: sets highpass frequency
Hsync: manual control for syncing the oscillator to the "freq" input

DISPLAYS
the displays show the waveforms that are selected.

ruby

pitch
symmetry
linFM
expFM
PWM
hsync
lFMS
eFMS
intLFM
extLFM
intEFM
extEFM
HSon
waveA
waveB
mix
tableform1
tableform2
out
table
pitch
symmetry
sub
LFM
extLFM
EFM
extEFM
lFMS
eFMS
waveA
waveB
mix
tableform1
tableform2
pw
LP
HP
Hsync
digitalrate
sine0
halfsine1
doublesine2
triangle3
saw4
doublesaw5
doubleshark6
doublefin7
square8
pulse9
sub10
table11
table12
white13
pink14
diginoise15
pulsenoise16
SHnoise17
SHdigital18
mixOut19
filtered20

An emulation of the eurorack rubicon oscillator with some extra waveforms and options

INPUTS:
pitch: well.. it's the pitch..
freq: linear thru-zero highpass-filtered FM audio input.
FMS: select waveform for internal frequency modulation
intFMW: adds to the width of the internal linear thru-zero FM.
extFMW: connect an envelope of LFO to open up the external FM.
HSon: switches hardsync to on when it receives a high gate.
waveA: select waveform for osc 1
waveB: select waveform for osc 2
mix: select waveform for controlling the crossfade between osc 1 and osc2

EXTRA CONTROLS:
sub: transposes the sub oscillator 1 octave
FMW: controls the frequency modulation width-offset for the internal FM
extFMW: controls the width of the incoming k-rate envelope/LFO on the extFMW input
FMS: same as input
waveA: same as input
waveB: same as input
mix: same as input
pw: sets pulse width of pulse-waveform(9)
LP: sets lowpass frequency
HP: sets highpass frequency
Hsync: manual control for syncing the oscillator to the "freq" input

DISPLAYS
the displays show the waveforms that are selected.

sawtrimod

a
b
c
d
e
f
g
result

saw<->tri mod oscillator

sawtrimod2

a
detune
shapeA
shapeB
walk
modwidth
mod
pitch
LP
HP
result

supersaw/saw-tri-mod oscillator

sculptor

pitch
preset
load
fm
phase
sync
active
out
phase
table
pitch
fm
pm
clear
harmonic
jump
steps
phase
sine
change
with
smooth
mirroradd
randomise
dcRemove
normalise
save
load
preset
morph
softness
update
wave

-sculptor is based on wavetable synthesis and uses a table to save it's waveforms.

-each waveform is 1024 samples long.

-pressing the "clear" button will clear the current table->no sound!

-holding "sine" will progressively add sine-waves to the existing table.
-The "harmonic" box sets the start harmonic the first added sine will be on.
-Even/odd harmonics have a # degrees phase shift depending on the "phase" box.
-Each higher harmonic will be of a lower volume than the previous lower harmonic (quarter of the volume less then the previous one).
-"jump" sets the harmonic-spreading between each extra sine that's added while holding down the "sine" button.
-"steps" sets the count-max for the amount of sines you want to add, before the count starts again and just adds the same ros of harmonics again, saturating the volume of these harmonics.
-don't forget to push "normalise" and "dcRemove" every once in a while, so the waveform doesn't become too "hot".

-holding change will progressively add small random shapes to the current waveform.

-pressing the "randomise" button will randomise the waveform.

-though the randomised waveform is full of harmonics, holding the smooth-button will progressively smooth out the waveform by averaging each point in the table with another point that has a selectable offset position to the table-position being avaraged ("with" parameter).

-with the "with" parameter you select with which other position you average the selected table position (which is in a "for-loop", so all table positions are being recalculated after each other.
So if "with" is set to 1, each point will be averaged with the next one. If set to 5, each point will be averaged with a point 5 steps next to it. The higher you go, the more you alter the harmonic content: notch or upper harmonic creation.

-after sculpting, you can subtract any DC-offset from the table and normalise the waveform.

-if you have your waveform, you save it using the "save" button to any of the available preset-positions (preset box) (depending on the table-size you have set on the allocation module). I set mine to 524288, which allows me to store up to 512 waveforms!

-to load a waveform, select a preset number and press "load". (REMEMBER!! you need to have a filled table-allocation module to load the waveform from!! If there isn't one yet, it can't find anything and thus won't load anything! In this case (first time you use this module), you first have to make your own table!)

-"morph" sets the rate the current table is morphed into the next selected preset after you hit "load". This is done by fading between 2 arrays and updating them one by one. NOTE! If you hit "load" before a new table is totally faded in, it will update the other and thus immediately change the sound instead of morphing it! Don't worry though, it won't bleep!

NOTE! To be able to actually save your waveforms, you need to add the table-save and table-load modules from the axoloti table folder! This way you can reload your carefully created waveforms after shutdown!

-when you have a preset-file, load it into the table (loud long beep as always) and hit "load" on the "sculptor" oscillator. Now it loads the selected preset from the table WITHOUT A BEEP! For any of your other waveforms, you won't hear any beep while switching presets as long as you don't use the "table save/load" mechanism! (keep that for after your recording/liveset/etc)

-"softness" controls a lowpass filter, the higher the value, the more it dampens the sound.

shapingOsc

Pitch
Phase
reset
waveform
Bipolar
Bezier1
Bezier2
curve
sinedPhase
active
wave
sined

shaping oscillator with several shaping tools

simpleTable

pitch
linFM
expFM
phase
sync
waveform
mixSine
wave
table
pitch
octSine
mixSine
waveform
LP

simple wavetable oscillator
loads wavetables created with the "TheCreator" module.

sineGS

pitch
freq
phase
sync
wave
phase
pitch
phase

sine wave oscillator with a krate sync input to sync the oscillator to a gate. eg. very useful for a neat kick-punch

sineSnc

pitch
freq
sync
wave
phase
pitch

sine wave oscillator with an krate sync input for use in basekicks, where you want to sync the start of the sine (0) at each trigger to keep the full impact of the punch without a click.

sinoid

pitch
fmw
rate
freq
phase
rst
wave
pitch
dir
FM
phase
hp
lp
feed
Scnt
rate

sine wave oscillator with a set of modulations
fm=internal fm width (filtered output)
phase=phase offset of "cosine" part of ring modulation
feed=amount of ring modulation of sine and 2nd sineshape part. Increases feedback loop of output into the 2nd sineshaper.
LP and HP filters filter the internal FM, ringmodulation and the output signal.
An internal counter can switch the play-direction after x-amount of zero-crossings of the phase. This rate also updates the position of the internal sine-lfo as a phase-offset.

sintri

pitch
shape
wave
pitch
shape

sine wave oscillator

spectralOscillator

pitch
freq
start
jump
offset
after
expo
damp
active
out
pitch
FM
harmonics
start
jump
offset
after
expo
range
damp

Spectral Oscillator with up to 32 harmonics.
Depending on the jump, offset and range parameters, the oscillator creates different waveforms.

subSine

pitch
freq
phase
wave
pitch
drive1
drive2

sub-sine wave oscillator
Generates 2 sines that can be overdriven into square-waves.

superSqrSaw

pitch
detune
pw
wave
pitch
detune
pw
power
saw
base

seven detuned square/saw wave oscillators
Non-bandwith limited
pw: controls the pulsewidth-base of the squarewaves. Detuned squarewaves have their pw-control multiplied, so each pulse can have another width.
power: when 0 all waves have the same volume, the higher "power", the less the detuned waves can be heard.
saw: sets the amount of saws instead of pulse waveforms
base: when on, uses a sawwave as base instead of a squarewave

superTable

pitch
linFM
waveform
waves
wavestep
detuneStack
detuneWave
harmonics
harmstep
wave
table
root
stack
waveform
waves
wavestep
detuneStack
detuneWave
harmonics
harmstep
maxharm

"super" wavetable oscillator like a supersaw, but then using tables
loads wavetables created with the "TheCreator" module (32bit!).

Asks quite a bit of cpu, but I think the sonic possibilities and the extra editable settings of the wavetables make up for that.
Stackable up to 32 voices, though cpu use will reach 50%!!
With 7 voices, it asks about 12% (5% more then the 7-voice supersaw).

supersaw

a
b
c
d
e
f
g
result

supersaw shaper

supertrisaw

pitch
FMW
freq
phase
slope
active
out
pitch
FM
slope
voices
detune

super triangle/saw-morpher
up to 8 voices

syncKing

pitch
PWM
FM
PM
AM
waveform
phase
freq
syncsource
am
hardsync
direcsync
bitsync
softsync
swapsync
possync
stepsync
Ring
active
out
pitch
FM
PM
AM
Grit
Waveform
Hardsync
Direcsync
Bitsync
Swapsync
Softsync
RespSo
Possync
RespPo
Stepsync
Stepsize

Oscillator with lots of sync options and modulation:
-two waveform functions, each with their own "PWM" control mode.
-control inlets for FM and AM width (eg for envelopes). FM is linear FM with frequency dependent modulation-index-width.
-independent audio inlets for phase, FM, AM and sync (of course you can all feed them the same signal).
-hardsync: resets phase to 0 immediately
-direcsync: reverses playdirection at sync
-bitsync: syncs phase to && bit of sync input
-softsync: syncs phase to 0, but with LP filter.
-swapsync: inverses output polarity
-possync: depending on phase position, soft-syncs phase forwards or backwards.
-stepsync: at sync moves phase at the amount of the "RespPo" setting.
-"grit" parameter feeds output back to phase position.

syncModOsc

pitch
LFM
LFW
EFM
EFW
softFM
phase
PMW
AM
AW
sync
softness
smoothSH
hardsync
softsync
smthSH
reverse
shift
active
wave
pitch
lin
LFM
EFM
softFM
PM
AM
hardsync
soft
SH
reverse
shift
softness
smoothSH

multi modulated oscillator on sine basis.
"pitch" controls pitch in normal logarithic sense
"lin" adds a linear offset to the rate of the oscillator
"LFM" and "EFM" are modulation width controls for linear and exponential modulation
"SoftFM" controls the width of the phase modulation by pseudo-derivative of sync-input.
"PM" controls the width of the normal phase modulation
"AM" controls the width of amplitude modulation
"hardsync" resets phase to zero immediatly at sync>0.
"soft" resets phase to zero at sync>0, but smoothed by a lowpass filter, which is controlled by "softness"
"SH" takes current wave-output value and adds it as an offset at sync>0, smoothed by the "smoothSH" control
"reverse" reverses play direction at sync>0
"shift" shifts the phase by the amount of the pseudo derivate of the sync signal when sync>0

features external "modulation width" inputs to control those with LFO's, sequencers or envelopes.

table1D

pitch
extFM
phase
sync
waveform
mix
env
step
Mstep
Dstep
wave
divide
table
root
hrm
div
extFM
PM
waveform
LP
mix
step
quant
Mstep
Mrng
Dstep
Drng
sync
rate
S
R
Z

DON'T FORGET TO ADD AN ENVELOPE/VOLUME CONTROL AT THE "ENV" INPUT!!!

wavetable oscillator that can linearyly morph through the table in a set amount of steps and stepsize.
loads wavetables created with the "TheCreator" module.
Has external frequency modulation, phase modulation and sync.

-hrm and div allow to set the oscillator to a ratio to the root-pitch
-extFM controls the external FM width
-waveform offsets the startposition of the table readout
-LP dampens the high frequencies/smooths waveform
-mix controls the morph through the wavetable AND harmonic ratio offsets
-step sets the stepsize with which you morph through the table
-quant sets the amount of waveforms you go through with the mix-control
-Mstep controls the stepsize of the harmonic multiplier
-Mrng sets the maximum harmonic multiplier that can be reached
-Dstep sets the stepsize of the harmonic division
-Drng sets the maximum harmonic division that can be reached

tableMorph

pitch
linFM
expFM
phase
sync
waveform
mixSine
mix1
mix2
mix3
wave
divide1
divide2
divide3
table
pitch
octSine
mixSine
waveform
LP
mix1
step1
quant1
mix2
step2
quant2
mix3
step3
quant3

morphing wavetable oscillator
loads wavetables created with the "TheCreator" module.

mixes between the waveforms over 3 axes.
X/Y/Z axis is controlled by mix1, mix2 and mix3 respectively. Range is unipolar fractional and negates the mix direction when over the min/max limits.
step1, step2 and step3 control the stepsize between selected waveform-presets.
quant1, quant2 and quant3 control how many waveforms will be played within the min/max range of the mix. This is multiplied by the steps1/2/3 to select the different waveforms. The set amount will also be send to the divide1/2/3 outputs to connect to the tempo-synced-LFO division-inputs. This keeps the rate of morph the same if you add more steps to the morph.
Depending on the mix-position of all 3 axes, 1 up to 8 different waveforms can be mixed together.

Controlling the mixes with tempo-synced LFO's or envelopes can create lots of different characters.
Using triangle or sine shapes (as long as there's no jump in value) will create a continuous morph
Using saw, pulse or fast envelopes (as long as there's a fast change or jump in value) will create continuous morphs with sudden changes happening rhytmically.

When using the same step values as those that have been set in the waveform creator "TheCreator", enables you to morph through the waveforms, following the wavetable generation settings.

tableOS

pitch
preset
mix
out
table
pitch
preset
mix
OS

simple, up to 16x oversampled, wavetable oscillator, able to use wavetables from the waveformLoader, waveformGenerator, waveformGuitar and waveformRandom modules.
"mix" mixes from sine to the selected waveform.

tableOS2

pitch
preset1
preset2
mix
out
table
pitch
preset1
mix
preset2
OS

simple, up to 16x oversampled, wavetable oscillator, able to use wavetables from the waveformLoader, waveformGenerator, waveformGuitar and waveformRandom modules.
"mix" mixes from preset1 to preset2.

tableOsc

pitch
freq
shift
size
mix
active
out
table
pitch
root
harmonic
fm
p2size
p2shift
size
shift
cut

table oscillator
Can use the tables created by the "sculptor" module or any other "raw" table data.
Inputs (same as corresponding parameters)
"pitch"->enter your pretty melody data in here ;)
"freq" input for audio rate fm
"Shift" shifts the start readout point through the table.
"size" sets the readout width by the phase
"mix" controls the sine/table mix

"root" sets the harmonic ratio of the sine
"harmonic" sets the harmonic ratio of the table oscillator
"fm" controls fm-width for "freq" input
"p2size" sends pitch data to offset the readout-size
"p2shift" sends pitch data to offset the start position of the readout
"cut" sets the pitch-offset of a 12dB LP-filter in respect to the incoming pitch data to smooth out the table.

tableOsc2

pitch
freq
shift
size
mix
active
out
table
pitch
root
harmonic
fm
p2size
p2shift
size
shift
cut

table oscillator Version2.
Addapted to be used with the wavetables created with the Creator module (creates 1024 waves in a single wavetable).
Can use the tables created by the "sculptor" module or any other "raw" table data.
Inputs (same as corresponding parameters)
"pitch"->enter your pretty melody data in here ;)
"freq" input for audio rate fm
"Shift" shifts the start readout point through the table.
"size" sets the readout width by the phase
"mix" controls the sine/table mix

"root" sets the harmonic ratio of the sine
"harmonic" sets the harmonic ratio of the table oscillator
"fm" controls fm-width for "freq" input
"p2size" sends pitch data to offset the readout-size
"p2shift" sends pitch data to offset the start position of the readout
"cut" sets the pitch-offset of a 12dB LP-filter in respect to the incoming pitch data to smooth out the table.

tablemorph2

pitch1
pitch2
pitch3
pitch4
extFM
phase
sync
waveform
mix1
mix2
mix3
env1
env2
env3
env4
step
wave
divide1
divide2
divide3
table
root
detune
hrm1
hrm2
hrm3
hrm4
intFM
extFM
waveform
LP
mix1
step1
quant1
mix2
step2
quant2
mix3
step3
quant3

DON'T FORGET TO CONNECT AN ENVELOPE OF VOLUME CONTROL TO THE "env1 to 4" INPUTS!!
quad wavetable oscillator
loads wavetables created with the "TheCreator" module.
each oscillator can play at it's own harmonic based on it's own pitch.

-quant controls how many waves will be morphed through using the corresponding mix-control
-step controls the stepsize between each selected waveform, skipping others.

Interesting combination is to
-control mix1 with the envelope (quant1 set to 2)
-control mix2 with a bit-fast LFO (quant set to around 4)
-control mix2 with a very slow LFO

this creates a nice morphing over several timing intervals:
-with each hit, it morphs following the envelope, allowing the strike to have a distinct other character then the tail
-the fast LFO morph changes the characteristics of the sound during the tail, making it "wobble"
-the slow LFO morph slowely changes the whole character of the sound over time

tabletrain

pitch
harm
mixWave
stepWave
startWave
train
stepTrain
out
div
table
pitch
mult
harm
preset
train
stepTrain
mixWave
stepWave
startWave
quant

This module uses the wavetables created with the wavetableGenerator and guitartable modules.
"mixWave" morphs through different waveforms.
"stepWave" and "startWave" set the stepsize and startposition of the morph within the available waveforms in the table.
"quant" sets the amount of waveforms that will be morphed through when mixWave goes from zero to max (returns to start-wave when at max. so can be driven with a saw-LFO).

Next to "low-frequency" "mixWave" morphing, there is also a high-frequency morph, controlled by the phase-position of the oscillator.
The phase is used to morph from one wave to the next, taking a new "goal" waveform when phase restarts. This way up to 64 waveforms can be played consecutively.
"train" sets the amount of waveforms that will be played.
"harm" multiplies the phase that is used for the train-morphing. Setting these two to different values will create frequency-ratios based on root frequency.
"mult" multiplies the phase with the "train" value, keeping the rootnote the same when changing the amount of train-waveforms.

tabletrainOS

pitch
harm
mixWave
stepWave
startWave
train
stepTrain
out
div
frq
pitch
table
pitch
mult
harm
preset
train
stepTrain
mixWave
stepWave
startWave
quant
OS

This module uses the wavetables created with the wavetableGenerator and guitartable modules.
Oversampling the osc allows higher frequencies without fold-over frequency shifting from alliasing.
"mixWave" morphs through different waveforms.
"stepWave" and "startWave" set the stepsize and startposition of the morph within the available waveforms in the table.
"quant" sets the amount of waveforms that will be morphed through when mixWave goes from zero to max (returns to start-wave when at max. so can be driven with a saw-LFO).

Next to "low-frequency" "mixWave" morphing, there is also a high-frequency morph, controlled by the phase-position of the oscillator.
The phase is used to morph from one wave to the next, taking a new "goal" waveform when phase restarts. This way up to 64 waveforms can be played consecutively.
"train" sets the amount of waveforms that will be played.
"harm" multiplies the phase that is used for the train-morphing. Setting these two to different values will create frequency-ratios based on root frequency.
"mult" multiplies the phase with the "train" value, keeping the rootnote the same when changing the amount of train-waveforms.

trisaw

pitch
FMW
slope
sync
active
out
sine
pitch
FM
slope
Swidth
Slope
AM

tri/saw oscillator with optional sine shaper, sync and AM modulation

vosimShaper

phase
w1
w2
w3
root
a1
a2
a3
AMW
ExtRing
RingWidth
real

3-harmonic vosim shaper

waveformGenerator

save
load
filename
size
harmonics
waveforms
minharm
maxharm
maxLvl
save
load

Generates waveforms to be used with table-oscillators/LFO's.
First 9 waveforms are 'standardised" waveforms
sine,triangle,saw,square,peak etc.
-harmonics, sets the number of harmonics that will be summed together for the standard waves. So setting this to 10 will only create the first 10 harmonics of eg. the saw.

Depending on the "waveforms"-setting, it fills the rest of the presets with random generated waveforms, though these are limited to the settings below the "waveforms" setting.

-minharm sets the minimum amount of harmonics that can be present in the random waveforms, though it might perfectly happen that it will sum the same harmonic multiple times (because of the random harmonic-number-selection).
-maxharm sets the maximum amount of harmonics that can be present in the random waveforms.
-The harmonic-numbers that are chosen to add are randomly selected.

-maxLvl sets the maximum output level for the waveform. 64 will fill the whole scope-display.
As my axoloti already starts clipping around 40, I often put this to 32 to save me some headroom.

waveformGuitar

table
do
minHarm

this module is used to create a waveform-table for the guitarOscillator.
it saves it generated waveforms into the table of the "waveformGenerator"
Amount of waveforms created depends on the setting on the "waveformGenerator".
Use "waveformTableCombinor" to combine tables.

randomised settings:
-damp: dampening-factor for each next added harmonic corresponding to harmonic number.
-harmonics: how many harmonics will be generated for the wavetable (low numbers reduce recalculation time!)
-jump: "jump" size for next added harmonic, skipping harmonics in-between
-max: sets maximum harmonic number that can be added, wraps when above the max.
-position: sets the read-out position of the guitar-element
-strike: sets the position where the string is struck

waveformLoader

load
filename
size
wavesize
load

allocate 32bit table in SDRAM memory for loading tables created with the waveformGenerator, guitarTable or other wavetable-generating modules.

waveformRandom

table
size
create
damp

Random waveform-table generator.
Creates random waves into the "waveformGenerator" module.
Amount of waveforms created depends on the setting on the "waveformGenerator".
Use "waveformTableCombinor" to combine tables.

waveformTableCombinor

save
load
filename
size
table
get
save
load
wavesReady

Combines tables from the waveformGenerator. After creating a big wavetable, the "waveformLoader" module can be used to load the wavetables later on.

The waveformGenerator can be used together with the waveformGuitar and waveformRandom modules to create different kinds of waveforms and load them all into a single table.

Pressing "get" will get the current wavetable from the waveformGenerator and saves it behind the "wavesReady" position.

At waveform-size 8192 (on waveformGenerator), "best" total amount of waveforms would be 127.
As this is also the amount of waveforms the waveformLoader will expect.

sss/patch

autoPreset

preset

apply preset, preset zero = init, and will reset ALL parameters, not just the presets
this version doesn't need a trigger to update the preset, but automatically responds when you change the preset number.

autoSource

1

generic modulation source
updates automatically when input changes

dispMatrix

send1
send2
send3
send4
instance
0
1
2
3
4
5
6
7

display module for the selected destinations for the send/receiver matrix modules

multisource

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

generic modulation source
updates automatically when input changes

receiveMatrix

maxdestinations
preset
1
2
3
4
5
6
7
8
table
instance

receiver (of send module) reads 8 positions from a table
has "instance" control to be able to add more receivers

maxdestinations inlet should be connected to the same inlet as on the send module
preset inlet should be connected to the same inlet as on the send module

sendMatrix

update
maxdestinations
preset
CV
selectUp
selectDown
destinationUp
destinationDown
table
CV
select
destiny

control send module, fractional type
to be used with my receive module and a 32b (sd)ram module (enter it's name in the box!)
you can use the internal knob and control it by midi-CC or connect an external signal to the CV inlet (eg analogue controls). These last ones will update the internal CV knob like the "hook" control module.

The "select" selector selects which output of the receiving module will be controlled
The "destiny" selector selects which receiver is being controlled.
These controls can be controlled externally by (analogue) button-presses to step through the menu.

extra inlets:
"update" updates the knob to the table value. eg when you load a new table (double trigger/press is needed though!)
"maxdestinations" should be the same as the amount of receiving modules you are using. The less receiving modules, the more presets you can make.
"preset" shifts the table-write/readout to select a new part to save/load presets.

sss/patch/expert

presetMorpher

preset
rate
morph
get
pre
rate
parameters
presets
preparams
value
morph
preset
get
rate
rnd

EXPERT MODULE, be warned, this one could screw up your patch! Save your patch before use!
Also, with next axoloti-update, it might not work anymore!

This module is able to get the values from the parameters of other modules (coming after&below this module) and save them as a preset (pressing the "get" parameter/input).

Attributes:
Set the amount of parameters to be saved using the "parameters" attribute (count all parameters between this module and the last parameter you want to be able to save).
Set the amount of available presets using the "presets" attribute
Use the "preparams" attribute to skip the first row of parameters, if there's anything in-between.

"value" selector..... forget it, not there for you, but somehow I needed it for the "first" parameter where the parameter-count starts..

Params/Saving/Morphing
Before you're able to morph, you first need to create a nice preset, select a preset-number and then hit "get".
After you've made multiple presets, you're able to smoothly morph between them. Be warned though, morphing to an empty preset can go to extreme random values beyond the limits of the parameters!!!!
You can morph through the presets manually, using the on-module parameters or control it externally (eg. over midi-> gate=morph, note=preset, velocity/touch=rate. I used a toggleswitch-controlled "demux" to switch between "get" input and "morph" input)

presetRandomiser

rndEQ
adsr1
lfo
blepped
filter1
sinemorph
filter2
quantizer
biquad
svf
rnd

EXPERT MODULE! (in like, I'm the amateur.. can't make this universal and this will probably not work with next update! Also, this one can screw up your lovely patch! Save before using!!!!)
You need to change the code in order for this module to work correctly for your patch!!

This module can be used to randomise lots of knobs with just a press of a button, even parameters that don't have an external input or those which can't be controlled by midi (eg. selectors).

It works together with the presetMorpher, which is also an "expert" module and is also able to perfectly screw up your patch.

BUT! Rightly (never press load on presetMorpher if there ain't a preset saved yet!) used and bounded(the randomisations), these together open up every single corner of your synthesizer/effect!
Just hit that randomise button until you hear a sweet patch, save it with the presetMorpher, create a bank of 64 presets and then just morph the hell out of it between all your presets, all parameters together at the same time!

sss/patt

1RngCount

Count
PreRng
PreMul
PreJmp
PreChg
AftRng
PreRng
AftRng

single core range counter (divremc with internal level manipulation)

4RngCount

Count
PreRng
PreMul
PreJmp
PreChg
MidRng
MidMul
MidJmp
MidChg
PstRng
PstMul
PstJmp
PstChg
AftRng
PreRng
MidRng
PstRng
AftRng

quad range counter (divremc with internal level manipulation)

4RngCount2

Count
CntOfs
PreRng
PreMul
PreJmp
PreChg
PreOfs
MidRng
MidMul
MidJmp
MidChg
MidOfs
PstRng
PstMul
PstJmp
PstChg
PstOfs
AftRng
AftOfs
PreRng
MidRng
PstRng
AftRng
PreRng
MidRng
PstRng
AftRng

quad range counter (divremc with internal level manipulation)

CountMem

sel
in
trg
PrS
PrJ
PrC
MiS
MiJ
MiC
PsS
PsJ
PsC
PrS
PrJ
PrC
MiS
MiJ
MiC
PsS
PsJ
PsC
PreStp
PreJmp
PreChg
MidStp
MidJmp
MidChg
PstStp
PstJmp
PstChg

parameter memory for the range counters

CountMem2

CnO
PrR
PrS
PrJ
PrC
PrO
MiR
MiS
MiJ
MiC
MiO
PsR
PsS
PsJ
PsC
PsO
AfR
AfO
trg
in
sel
CnO
PrR
PrS
PrJ
PrC
PrO
MiR
MiS
MiJ
MiC
MiO
PsR
PsS
PsJ
PsC
PsO
AfR
AfO
CntOfs
PreRng
PreStp
PreJmp
PreChg
PreOfs
MidRng
MidStp
MidJmp
MidChg
MidOfs
PstRng
PstStp
PstJmp
PstChg
PstOfs
AftRng
AftOfs

This is the control module for the quad counter/multiple single counter modules, based on the "range module" as I've called it for years, but here better known as the "divremc", a VERY usable module!

GateRndPattern

count
length
rnd
rand
rand
chance
repeat

random gate pattern generator
connect "COUNT" to a counter (sss-logic)
connect "LENGTH" to the max-count control
CHANCE sets the level to which the internal random pattern is compared. If CHANCE is higher, a high gate is generated.
REPEAT sets an euclidian division over the entire length. The smaller the value, the smaller the steps->more gates.

ReCntMem2

select
value
change
select
Change
1
2
3
4
5
6
7
8

parameter memory for the recount module

ReCntPos

sel
in
trg
a
b
c
d
e
f
g
h
count
count
step
maxstep
wrapped
times
trg1
trg2
a
b
c
d
e
f
g
h

recounter module. Recount after x-steps for 16 different count length after each other. All counts get summed and input gets ranged to the nearest 2^X above the sum.

WCG12

trig
save
load
preset
ext1
ext2
note
save
load
preset
ext1
ext2

WCG12 calculates the chance that certain notes will follow up on previous played notes.
(you can also use other data, but remember the note-input should be between 0 and 11 (12 notes), for a width of 16, use the WCG16.

The internal array can be set externally with the WCR12 or WCM12 modules (use WCR16 and WCM16 for the WCG16).
WITHOUT ONE OF THESE, THE MODULE WON'T WORK AS LONG AS YOU HAVEN'T RECORDED A CHANCETABLE BEFORE AND SAVED IT!

Sending note and gate data to the WCR12 will record for each note which notes have a chance to follow up on it (each time a note is played after teo previous notes, the weight of that sequence gets +1).

Each sequence can be manually edited by the WCM12/WCM16 by selecting the previous 2 notes and setting the chance for each note that they will follow up on this 2-note sequence.

Sending a gate/trigger to this module (WCG12/WCG16) will make it step through notes each time re-calculating the next possible note that could follow up on the two previous ones.

2 external (ext1/ext2) inputs are added to override the "previous notes" and will be selected when the ext1/ext2 switches as "on". Ext1 will override the oldest previous note and ext2 will override the last previous note.

Again, you don't need to use note-information. You can also record velocity (divide it to fit in a width of 12 or 16 ->WCG12 or WCG16), gate-length or rhythmic values (use a counter that repeats after x-amount of steps and record the chance that certain count-lengths follow up on each other)->see demo

The chance-array can be saved to a preset-index and will be saved under a fixed filename+presetindex.

WCG16

trig
save
load
preset
ext1
ext2
note
save
load
preset
ext1
ext2

WCG12 calculates the chance that certain notes will follow up on previous played notes.
(you can also use other data, but remember the note-input should be between 0 and 11 (12 notes), for a width of 16, use the WCG16.

The internal array can be set externally with the WCR12 or WCM12 modules (use WCR16 and WCM16 for the WCG16).
WITHOUT ONE OF THESE, THE MODULE WON'T WORK AS LONG AS YOU HAVEN'T RECORDED A CHANCETABLE BEFORE AND SAVED IT!

Sending note and gate data to the WCR12 will record for each note which notes have a chance to follow up on it (each time a note is played after teo previous notes, the weight of that sequence gets +1).

Each sequence can be manually edited by the WCM12/WCM16 by selecting the previous 2 notes and setting the chance for each note that they will follow up on this 2-note sequence.

Sending a gate/trigger to this module (WCG12/WCG16) will make it step through notes each time re-calculating the next possible note that could follow up on the two previous ones.

2 external (ext1/ext2) inputs are added to override the "previous notes" and will be selected when the ext1/ext2 switches as "on". Ext1 will override the oldest previous note and ext2 will override the last previous note.

Again, you don't need to use note-information. You can also record velocity (divide it to fit in a width of 12 or 16 ->WCG12 or WCG16), gate-length or rhythmic values (use a counter that repeats after x-amount of steps and record the chance that certain count-lengths follow up on each other)->see demo

The chance-array can be saved to a preset-index and will be saved under a fixed filename+presetindex.

WCM12

core
note1
note2
i0
i1
i2
i3
i4
i5
i6
i7
i8
i9
i10
i11
do

module for manually setting the chance that certain notes follow up on certain previous notes.

"Note1" sets the "oldest previous" note.
"Note2" sets the "last previous" note.
The small selectors set the chance for each note to follow up on this sequence.

WCM16

core
vel1
vel2
i0
i1
i2
i3
i4
i5
i6
i7
i8
i9
i10
i11
i12
i13
i14
i15
do

module for manually setting the chance that certain velocities follow up on certain previous velocities.

"vel1" sets the "oldest previous" velocity.
"vel2" sets the "last previous" velocity.
The small selectors set the chance for each velocity to follow up on this sequence.

WCR12

gate
note
core
send
reset
get

Records the weights for each three-note-follow-up and copies it into the internal array of the "WCG12 module" when you hit "send".

Connect a midi module note and gate outputs to the note and gate inputs and play a melody. Make sure your last played note makes a connection back to another note played before.

When the WCG12/WCG16 hangs on a certain note, this can be altered by playing this note twice on the keyboard, followed up by another note.

Press "send" to send the recorded chance-table to the WCG12/WCG16
Press "reset" to reset the recorded table to start a new recording.
Press "get" to get the chancetable from the WCG12/16 "core" module so you can alter it. (this way you can alter old recordings "on the fly" while live without losing the original saved settings.)

WCR16

gate
vel
core
send
reset
get

Records the weights for each three-note-follow-up and copies it into the internal array of the "WCG16 module" when you hit "send".

vel-input expects a value between 0 and 15, so when, for example, recording velocity, divide it by 4.
the vel-input will also be clipped between 0 and 15, so higher/lower values will result in 0 or 15

Connect a midi module note and gate outputs to the note and gate inputs and play a melody. Make sure your last played note makes a connection back to another note played before.

When the WCG12/WCG16 hangs on a certain note, this can be altered by playing this note twice on the keyboard, followed up by another note.

Press "send" to send the recorded chance-table to the WCG12/WCG16.
Press "reset" to reset the recorded table to start a new recording.
Press "get" to get the chancetable from the WCG12/16 "core" module so you can alter it. (this way you can alter old recordings "on the fly" while live without losing the original saved settings.)

WeightedFolMod

gate
note
core
copy
reset

Records the weights for each note-follow-up and copies it into the internal array of the "WeightedFollow module" when you hit "copy".

Connect a midi module note and gate outputs to the note and gate inputs and play a melody. Make sure your last played note makes a connection back to another note played before.

WeightedFolSet

core
note
i0
i1
i2
i3
i4
i5
i6
i7
i8
i9
i10
i11
octave

module for manually setting the chance that certain notes follow up on certain previous notes.

"Note" sets the "previous" note.
The small selectors set the chance of each note (1 octave)
"Octave" sets the octave offset for the chance selectors (so you can set the chance for follow-up notes over 4 octaves).

WeightedFollow

trig
save
load
preset
note
chance
max
save
load
preset

WeightedFollow calculates the chance that certain notes will follow up on previous played notes.

The internal array can be set externally with the WeightedFolRec module.
WITHOUT THIS, THE MODULE WON'T WORK!

Sending note and gate data to the WeightedFolRec will record for each note (48 notes, 4 octaves, wrapped when going over) which notes have a chance to follow up on it (each time a note is played after a certain note, that weight gets +1).

Sending a gate/trigger to this module (WeightedFollow) will make it step through notes.
The chance-array can be saved to a fixed filename with preset-index.

autoCurve

ksamples
gate
newValue
M
D
start
end
mix
out
start
mix
end

controlled curved automation module

feed the new "goal" value into the "newValue" input
at each new gate, the envelope will fade from the current position to the new one at the specified rate.

For an exponential curve, dial the "start" and "end" knobs to the left.
For an inverse-exponential curve, dial the "start" and "end" knobs to the right.
For an S-curve, dial "start" to the left and "end" to the right
For an inversed S-curve, dial "start" to the right and "end" to the left.
"mix" let's you choose whether the start or end curve has the dominant position (start=left, end=right).

"M" multiplies the rate (faster slope)
"D" divides the rate (slower slope)
rate is calculated based upen the ksamples output of the clock2time module (see my timers folder) to sync to host tempo or LFO.


extra info:

-----Note that if "D" is higher then M, the rate is lower then host tempo. If the incoming gate-tempo is faster, it will never reach it's goal. Instead it will try to go from it's latest position to it's new goal, though again at the given rate. If the tempo is still below gate-tempo, it also won't make the new goal. If, instead, the rate is higher then the gate-tempo, it will reach the new goal.-----

the curving is done using the start,end and mix parameters.
Each of these parameters are controls for exponential (left), linear(center) and inverse-exponential(right) curving of the envelope.
Maximum exponential is x^3;
(for the "mix" slider, this would be top-center-bottom respectively).
The "mix" envelope will crossfade from the "start" envelope to the "end" envelope.

so, to make an S-curve:
if "start" is set to exponential (counter-clockwise)
"end" is set to inv-exponential (clockwise)
"mix" is set to linear (center)

then the curve will start slowely, speed up to half of it's goal half-way and slows down when it nears it's goal.

if instead "mix" is set to exponential, with the other parameters remaining the same, it will be half way it's goal later.
So it slowly starts changing and if times almost up, it quickly goes to it's goal and quickly fades it in (because it's mixed to the inverse-exponential)

autoDraw

readout
level
save
load
filename
out
size
readout
startPos
width
startLvl
endLvl
follow
keep
curve
Scrv
stack
mode
do
rec
track
edit
load
save
__position
__till
__width
scope

Automation "drawing" module. Could also be used to make custom waveforms (read out the table with an interpolated table-read module).
Please read the below well:

The first 3 knobs, "readout", "startPos" and "width" are used to set the start and end points of the slope you are creating.
-readout: sets the startpoint anywhere in the whole array (big position offset).
-startpoint: sets the startpoint inside the display (small position offset)
-width: this sets the length of the slope/value-change. This value can go outside of the display for longer slopes/changes!

The two next knobs are used to set the start and end level, followed by two toggle buttons that control their response. In "normal" response, after hitting the "do" button, the start-level knob will change to the value of the end-level knob, so there's always a perfect fit to the next stage.
-startLvl: sets the level from which the change starts (readout+start).
-endLvl: sets the level of the end position (start+readout+width).
-follow: when this switch is on, changing the readout/start/width controls will change the level-knobs to the level of the current read-positions. This is very useful to smooth out a recording or force the recorded changes to a certain beat-size.
-keep: when on, keeps the current levels the same after hitting the "do" button. This way you can easily repeat a certain sawwave-like slope.

The next 4 controls are for setting the curve of the change.
-curve: creates an exponential or inverse-exponential slope from start to end point.
-Scrv: applies a S-curve to the change. the "curve" control changes it's mid-point.
-stack: stack multiple exponential functions to create steeper (s-)curves.
-mode: when mode is on, the "curve" parameter value is inverted after each "do" (see next part). Sometimes you'll notice that this parameter "should" invert after every "do" to create nicer automations.

The last controls are "menu/setting" controls.
-do: when "do" goes high, it copies the slope that you've created into the internal table, resets the start-level and end-level controls depending on whether the "follow" or "keep" are used and resets the start-position to the last end-position. So there's no need to adjust the start/readout positions every time. Note, that the readout-inlet is not used for the edit-position! So even while "track" is on, you can still just go ahead editting the automation normally.

-rec: records the "level" inlet into the current readout position (readout position is also controlled by the readout-inlet!). This way you could add a manual knob-change into your automation. Then use the editor to "sync" the changes to a certain "beat-length". As long as the "width" is set to a power-of-two value, it will be in sync with a 4/4 beat (as long as the LFO connected to the readout is in-sync to host tempo).

-track: when track is on, the display will follow the readout-inlet. Though, you can still see your "editting". Note that when hitting "do", it will not use the readout-inlet to copy the curve into the table. The readout-inlet is only used for reading out the table, putting it into the display and sending it to the module's output.

-edit: when on, it shows the current "edit" slope/curve on the display, which would be applied if you'ld hit "do".

Of course, your automation can be saved&loaded.
Connect a string-object for the filename and hit "save" to save.. and "load" to ehm... what was it..?

autoDraw2

readout
level
save
load
filename
out
size
readout
startPos
width
startLvl
endLvl
follow
keep
curve
Scrv
stack
mode
do
rec
track
edit
load
save
__position
__till
__width
d1
d2
d3
d4
d5
d6
d7
d8

Automation "drawing" module. Could also be used to make custom waveforms (read out the table with an interpolated table-read module).
Please read the below well:

The first 3 knobs, "readout", "startPos" and "width" are used to set the start and end points of the slope you are creating.
-readout: sets the startpoint anywhere in the whole array (big position offset).
-startpoint: sets the startpoint inside the display (small position offset)
-width: this sets the length of the slope/value-change. This value can go outside of the display for longer slopes/changes!

The two next knobs are used to set the start and end level, followed by two toggle buttons that control their response. In "normal" response, after hitting the "do" button, the start-level knob will change to the value of the end-level knob, so there's always a perfect fit to the next stage.
-startLvl: sets the level from which the change starts (readout+start).
-endLvl: sets the level of the end position (start+readout+width).
-follow: when this switch is on, changing the readout/start/width controls will change the level-knobs to the level of the current read-positions. This is very useful to smooth out a recording or force the recorded changes to a certain beat-size.
-keep: when on, keeps the current levels the same after hitting the "do" button. This way you can easily repeat a certain sawwave-like slope.

The next 4 controls are for setting the curve of the change.
-curve: creates an exponential or inverse-exponential slope from start to end point.
-Scrv: applies a S-curve to the change. the "curve" control changes it's mid-point.
-stack: stack multiple exponential functions to create steeper (s-)curves.
-mode: when mode is on, the "curve" parameter value is inverted after each "do" (see next part). Sometimes you'll notice that this parameter "should" invert after every "do" to create nicer automations.

The last controls are "menu/setting" controls.
-do: when "do" goes high, it copies the slope that you've created into the internal table, resets the start-level and end-level controls depending on whether the "follow" or "keep" are used and resets the start-position to the last end-position. So there's no need to adjust the start/readout positions every time. Note, that the readout-inlet is not used for the edit-position! So even while "track" is on, you can still just go ahead editting the automation normally.

-rec: records the "level" inlet into the current readout position (readout position is also controlled by the readout-inlet!). This way you could add a manual knob-change into your automation. Then use the editor to "sync" the changes to a certain "beat-length". As long as the "width" is set to a power-of-two value, it will be in sync with a 4/4 beat (as long as the LFO connected to the readout is in-sync to host tempo).

-track: when track is on, the display will follow the readout-inlet. Though, you can still see your "editting". Note that when hitting "do", it will not use the readout-inlet to copy the curve into the table. The readout-inlet is only used for reading out the table, putting it into the display and sending it to the module's output.

-edit: when on, it shows the current "edit" slope/curve on the display, which would be applied if you'ld hit "do".

Of course, your automation can be saved&loaded.
Connect a string-object for the filename and hit "save" to save.. and "load" to ehm... what was it..?

autoFit

count
max
out
size
CV
rate
steps
wait
rnd

allocate 16bit table in SDRAM memory, -128.00 .. 127.99

autoknob

count
pattern
RndAll
RndPt
out
size
patt
value
RndPt
RndAll
max
min

knob with an inbuild (randomisable) automator and pattern selector for live use. Doesn't save it's patterns! Pattern size and amount of patterns can be set using the attributes.
you can randomise just the selected pattern or all patterns at the same time.
Use the max/min knobs to set your desired output scaling

basePatt

count
rnd
base
diffchance
index
max
length
base
diffchance
differents
diffsize
nonseed

Pattern generator that normally outputs the "base" value and having a chance that it's randomly changed. This can be either as a random-pattern (count input) or ongoing randomly generated.
Amount of different random values can be set as well as a difference size (offset from base).
Checking the "nonseed" box will use non-repeating random values instead the randomised pattern, basically setting the "differents" to unlimited.

countCtrl

select
value
change
select
Change
PreStep
PreJump
PreChng
MidStep
MidJump
MidChng
PstStep
PstJump
PstChng

controller for the range counter modules

ctrl16Rec

trg
rec1
dub1
CV1
channel1
rec2
dub2
CV2
channel2
steps1
steps2
rnd
sync
o1
o2
o3
o4
o5
o6
o7
o8
o9
o10
o11
o12
o13
o14
o15
o16
size
change
chance
damp
count
length
rnd

Continous control recorder for 16 outputs.
2 inputs for dual recording (x/y), recording starts when either "rec" of "dub" input is high and stops when it goes low. (use a clock-synced latch before the gate input to tempo-sync recording)
Before "dub" can be used, a recording has to be made using the "rec" input.
Rec can be any length up to the maximum length of the channel's buffer (buffer=size/16)
Dub can overwrite the recording at any position while looping at the rec-length.

Individual record channel selection ("channel" input), steps-per-record quantizer ("steps" input. Set to a high number to have a smooth output).
Also features a more or less "smooth" randomiser for all channels. This continuously adds a smoothed out random bipolar offset to the buffer depending on change and chance controls.

If you have a midicontroller that can both send out "touch" information next to the midiCC, connect this to the "rec" input to automatically start recording when you touch the controller and stop when you release it.

ctrlRec16

trg
rec1
dub1
CV1
channel1
rec2
dub2
CV2
channel2
steps1
steps2
rnd
sync
o1
o2
o3
o4
o5
o6
o7
o8
o9
o10
o11
o12
o13
o14
o15
o16
size
change
chance
damp
count
length
rnd

Continous control recorder for 16 outputs.
2 inputs for dual recording (x/y), recording starts when either "rec" of "dub" input is high and stops when it goes low. (use a clock-synced latch before the gate input to tempo-sync recording)
Before "dub" can be used, a recording has to be made using the "rec" input.
Rec can be any length up to the maximum length of the channel's buffer (buffer=size/16)
Dub can overwrite the recording at any position while looping at the rec-length.

Individual record channel selection ("channel" input), steps-per-record quantizer ("steps" input. Set to a high number to have a smooth output).
Also features a more or less "smooth" randomiser for all channels. This continuously adds a smoothed out random bipolar offset to the buffer depending on change and chance controls.

If you have a midicontroller that can both send out "touch" information next to the midiCC, connect this to the "rec" input to automatically start recording when you touch the controller and stop when you release it.

dualEuclid

a
gate
denom1
denom2

dual euclidian trigger generator
produces a trigger after the amount of steps set by the denom 1 and 2 controls

euclidToggle

a
gate
denom1
denom2
denom3

Euclidian toggling gate generator
Feed it a counter and it will toggle the gate everytime one of the denominators wraps the count

gateEuclid

count
maxcount
repeatA
startA
widthA
repeatB
startB
widthB
A
nA
B
nB
X
nX
O
nO

euclidian gate generator with multiple outs (n-outputs are inverted gates of the other outputs)

maxcount set the base for the repeat/start/width controls. Normally this would be the same value as the maximum count of the counter, but this can also be controlled independently if you want to set a smaller base then the max-count.

repeat A and B set the size of the euclidian repetition respective to the maxcount input.
start A and B offset the position of the euclidian repetition respective to the repetition size.
width A and B set the gate length within each euclidian repetition respective to the repetition size.

gateFiller

trig
count
max
filled
v
filled
quant1
fit
start
step
quant2
gate

Euclidian gate generator and random "trigger-filler".
Randomly fills up the array with gates until the desired amount of gates is reached.
When the "filled" control is dailed up, it randomly adds more and more gates to the remaining positions.
When the "filled" control is dialed down, it randomly removes more and more gates from the array.
Controlling the "filled" externally wil slowely transform the randomised pattern.

Next to the random gates, there's also an euclidian pattern generator.
-start sets the start-count-offset (when zero, first gate on will always be on the first count).
-step sets the stepsize between gates (when set to 5, each next fifth position in the array will be high, wraps when max-count is reached)
-fit sets the amount of steps that will be set high. NOTE! Depending on the stepsize and quantification this could or could not fill up the entire array: when max is set to 32 and stepsize is 4, it will repeat putting the same positions to a gate high over and over, skipping all other positions.
-Quantification controls set the division that the notes may be filling (eight, quarter, half, whole beat) The higher the setting, the larger the quantification step (power of 2).

gateSpreader

count
max
generate
gates
gate
gates
generate
gates
qnt

This module generates an x-amount of steps within the given max-count (input). Use my "countExt" or "polyCount" module to connect the "max" input/output.
After hitting "generate" it will generate new gates one by one, each time checking which distance between gates is the longest and then randomly divides this distance into 2 gates.

The maximum amount of gates being generated is set by the "gates" selector and their timing can be quantised with the "qnt" selector (powers of 2!).

The amount of gates ACTUALLY TO BE PLAYED depends on the "gates" input which is scaled to the "gates" selector (which just sets the maximum amount of gates to be generated in the array).
When the "gate" input is 0, no gate will be generated.
When "gate" input goes higher, it adds the gates in the order they were created, making smaller and smaller sections by adding gates in the longest "pauzes". Up to the amount of gates set by the "gate" selector.

gateSpreaderExp

count
max
generate
gates
qnt
gate
gates
number
o1
o2
o3
o4
o5
skipped
generate
gates
qnt
start
div
p0
p1
p2
p3
p4
swing
toggle
random
mod
repeat

Expanded gate spreader
This module generates an x-amount of steps within the given max-count (input). Use my "countExt" or "polyCount" module to connect the "max" input/output.
After hitting "generate" it will generate new gates one by one, each time checking which distance between gates is the longest and then randomly divides this distance into 2 gates.

The maximum amount of gates being generated is set by the "gates" selector and their timing can be quantised with the "qnt" selector (powers of 2!).

The amount of gates ACTUALLY TO BE PLAYED depends on the "gates" input which is scaled to the "gates" selector (which just sets the maximum amount of gates to be generated in the array).
When the "gate" input is 0, no gate will be generated.
When "gate" input goes higher, it adds the gates in the order they were created, making smaller and smaller sections by adding gates in the longest "pauzes". Up to the amount of gates set by the "gate" selector.

gateburst

trig
rnd
r
gate
length
chance
max
min

Gate burst generator
min/max controls set the minimum and maximum trigger length (after how many input-triggers it retriggers).
Minimum is 2 (up and down cost 2 triggers).
So connect this to a clock that's running twice, tripple or four times the base tempo.

goalStepper

next
trig
steps
stepsize
out
count
steps
next

pattern generator that steps from a former value to a new value in a set amount of steps.
INPUTS:
"next" sets the next goal that the pattern will go to.
at each trigger at the "trig" input, it will advance 1 step.
"steps" sets the pattern length, after which the goal (new value) is reached.
"stepsize" sets the count-size for the pattern, skipping intermediate steps and repeating steps, but making sure the last step will always be the goal.
OUTPUTS:
"out" outputs the pattern-value
"count" outputs the count-position->maximum is set by the "steps" input
"next" outputs a trigger when the maximum count is reached.

By making a loop between this module and a counter and LFO (qtsLFO4), interesting patterns can be made:
-connect "steps" output to the multiply input on the qtsLFO4, this way each stage takes the same time, but with a different measure (7/8, 9/8 15/8 etc etc) Don't forget to set the multiply parameter to 0, as it would otherwise offset the count-rate from host position!
-connect the LFO output to the "trig" input and set the waveform to square (switch-position to 5)
-connect the "next" output to a counter
-connect counter output to 3 "sel/sel dial8" modules.
-connect one sel/dial8 module to the "next" input, feeding the "goal-values"
-connect one to the "steps" input, setting how many steps it will take to reach the next value
-connect the last one to the "stepsize" input, enabling different patterns for each stage.

melGen1x

trig
r
semi
oct
restartbar
restartbars
semi
oct
self
sum
size
bar
bars
start
shift
octaves
semis
integrate

stackable melody generator
Each stacked generator can add it's own note change to the entire sequence
Together they create an entire sequence with multiple layers to connect your oscillators to.
Each bar a "fill" is generated which starts from the "start" minus the shift parameter for the length of "barlenght-start"(what's left). The fill goes around the semitone scale toward the next note in the bars-sequence in steps based on chord scaling (2 steps within the scale each time) and holds this new note until the bar restarts (and then it is the actual current note).
Stacking several of them with first a couple short, quick sequences with not many octaves and semitones in it, followed by a couple of slower ones, provides a really nice start to experiment.

melGen8x

r
trig
semi
oct
restart1
restart2
restart3
restart4
restart5
restart6
restart7
restart8
self1
self2
self3
self4
self5
self6
self7
self8
semi1
semi2
semi3
semi4
semi5
semi6
semi7
semi8
oct1
oct2
oct3
oct4
oct5
oct6
oct7
oct8
sum1
sum2
sum3
sum4
sum5
sum6
sum7
sum8
size
rnd
octaves

8x stacked randomised melody generator
-sum&self outputs send out actual semitones to connect your oscillators to.
-semi&oct outputs are to connect to scale modules with 7 notes/octave
This version only has two controls:
-maximum octave
-randomise everything...
-all parameters of the single version are randomised within certain "usable" limitations
-sequences can select any of the former sequences's semitone,octave and triggers
-all sequences have their own outputs
Each stacked generator can add it's own note change to the entire sequence
Together they create an entire sequence with multiple layers to connect your oscillators to.
Each bar a "fill" is generated which starts from the "start" minus the shift parameter for the length of "barlenght-start"(what's left). The fill goes around the semitone scale toward the next note in the bars-sequence in steps based on chord scaling (2 steps within the scale each time) and holds this new note until the bar restarts (and then it is the actual current note).
Stacking several of them with first a couple short, quick sequences with not many octaves and semitones in it, followed by a couple of slower ones, provides a really nice start to experiment.

multiPatt

count
trig
save
load
filename
patt1
patt2
patt3
patt4
patt5
patt6
patt7
patt8
parts
qnt
lng
rng
stp
pattern
part
save
load

Generates 8 patterns based on euclidian functions.
Each pattern can have multiple "parts"(attribute) that influence the pattern.
Using "pattern", you select which pattern to adjust.
Using "part" (parameter) you select which part of the selected pattern you'ld like to adjust. (max set by attribute)

"qnt" sets the amount of steps it takes before a new value will be generated.
"lng" sets the length of the part after which it will repeat itself until count restarts.
"rng" sets the maximum level that the part can reach. Note also, that the individual parts get summed, thus total range is the sum of the ranges of all parts.

"stp" sets the stepsize of each step, skipping intermediate steps. (wrapped by "rng")

with these 4 controls and the pattern and part controls, you can set all parts of all patterns.
Combing different "qnt" values will result in interesting rhythms.

This module combines very well with the "songnotes" module.

noRepShiftReg

add
index
rnd
d1
d2
d3
d4
d5
d6
d7
d8
d1
d2
d3
d4
d5
d6
d7
d8

No-repeating shift register

When the add input goes high:
-All values at the d1-d8 outputs will shift down one output, d8 will be removed.
-Except when the new value is somewhere in the middle. In that case, this output is removed and only from the first output up to that output, the outputs are shifted down.
-The value at the index input will always be send to the first output (d1)

Useful for manually making orders of index numbers that may not be repeated in the order.
eg. a set of footswitches that you can press to set an order of an fx-chain, where each footswitch selects it's own index number to enter.
ps. if you only need 4 outputs, use the upper four.

partCount

count
out
range
range
offset
length
sustain

part counter
only lets the count through for a part of the whole range.
The last count position can be kept when "sustain" is high, otherwise it goes back to 0 when it reaches the maximum length.

q16RndMorph

mix
start
step
rnd
save
load
filename
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
div
presets
ranges
mix
next
quant
start
step
rnd
CV
channel
update

"qRndMorph"

Interpolated random shaper.
Turns a phase (phazor oscillator/LFO/positive knob) into an multi-channel animation using a morphable random table.
Usable for fast one-modulation/knob animation of 8 different channels.

"mix" morphs through the available waveforms in the wavetable
"start" is the "base" waveform, where it will start when "mix" is at minimum or maximum.
"step" is the stepsize for selecting from the random table while morphing with the "mix". Last step is always the same as the first step, so you could use a saw to morph through the random values continuously in one direction.

"quant" sets the amount of waveforms that the mix will morph through. At 64, it will morph back to the "base" waveform.

"rnd" only randomises the table positions that aren't currently read out (which is always 2 positions). So when you press "rnd", it won't suddenly jump to another random value.
"new" only randomises the table positions that are currently read out (which is always 2 positions). So when you press "new", the outputs suddenly jump to new random values, while leaving the unused positions the same.

The current "mostly" selected table position can also be altered manually.
"channel" selects which output you alter.
Whenever the CV-parameter changes, it updates the value of the current channel at the current table-position.
For easy stepping through all positions, set "mix" to zero and use the "next" button to step through the mix-positions. Note though, that this will follow the "quant" and "step" settings!

Each output has it's own dedicated min/max settings, available as knobs, so these could be altered by midi.

q8RndMorph

mix
rnd
save
load
filename
1
2
3
4
5
6
7
8
div
presets
mix
next
quant
start
step
rnd
CV
channel
update

"qRndMorph"

Interpolated random shaper.
Turns a phase (phazor oscillator/LFO/positive knob) into an multi-channel animation using a morphable random table.
Usable for fast one-modulation/knob animation of 8 different channels.

"mix" morphs through the available waveforms in the wavetable
"start" is the "base" waveform, where it will start when "mix" is at minimum or maximum.
"step" is the stepsize for selecting from the random table while morphing with the "mix". Last step is always the same as the first step, so you could use a saw to morph through the random values continuously in one direction.

"quant" sets the amount of waveforms that the mix will morph through. At 64, it will morph back to the "base" waveform.

"rnd" only randomises the table positions that aren't currently read out (which is always 2 positions). So when you press "rnd", it won't suddenly jump to another random value.
"new" only randomises the table positions that are currently read out (which is always 2 positions). So when you press "new", the outputs suddenly jump to new random values, while leaving the unused positions the same.

The current "mostly" selected table position can also be altered manually.
"channel" selects which output you alter.
Whenever the CV-parameter changes, it updates the value of the current channel at the current table-position.
For easy stepping through all positions, set "mix" to zero and use the "next" button to step through the mix-positions. Note though, that this will follow the "quant" and "step" settings!

Each output has it's own dedicated min/max settings, available as knobs, so these could be altered by midi.

q8RndMrpMM

mix
start
step
rnd
new
save
load
filename
1
2
3
4
5
6
7
8
div
presets
ranges
mix
next
quant
start
step
rnd
new
CV
channel
update

"qRndMorph"

Interpolated random shaper.
Turns a phase (phazor oscillator/LFO/positive knob) into an multi-channel animation using a morphable random table.
Usable for fast one-modulation/knob animation of 8 different channels.

"mix" morphs through the available waveforms in the wavetable
"start" is the "base" waveform, where it will start when "mix" is at minimum or maximum.
"step" is the stepsize for selecting from the random table while morphing with the "mix". Last step is always the same as the first step, so you could use a saw to morph through the random values continuously in one direction.

"quant" sets the amount of waveforms that the mix will morph through. At 64, it will morph back to the "base" waveform.

"rnd" only randomises the table positions that aren't currently read out (which is always 2 positions). So when you press "rnd", it won't suddenly jump to another random value.
"new" only randomises the table positions that are currently read out (which is always 2 positions). So when you press "new", the outputs suddenly jump to new random values, while leaving the unused positions the same.

The current "mostly" selected table position can also be altered manually.
"channel" selects which output you alter.
Whenever the CV-parameter changes, it updates the value of the current channel at the current table-position.
For easy stepping through all positions, set "mix" to zero and use the "next" button to step through the mix-positions. Note though, that this will follow the "quant" and "step" settings!

Each output has it's own dedicated min/max settings, available as knobs, so these could be altered by midi.

qRndMorph

mix
start
step
rnd
new
save
load
filename
1
2
3
4
5
6
7
8
div
presets
mix
next
quant
start
step
rnd
new
CV
channel
max1
min1
max2
min2
max3
min3
max4
min4
max5
min5
max6
min6
max7
min7
max8
min8
update

"qRndMorph"

Interpolated random shaper.
Turns a phase (phazor oscillator/LFO/positive knob) into an multi-channel animation using a morphable random table.
Usable for fast one-modulation/knob animation of 8 different channels.

"mix" morphs through the available waveforms in the wavetable
"start" is the "base" waveform, where it will start when "mix" is at minimum or maximum.
"step" is the stepsize for selecting from the random table while morphing with the "mix". Last step is always the same as the first step, so you could use a saw to morph through the random values continuously in one direction.

"quant" sets the amount of waveforms that the mix will morph through. At 64, it will morph back to the "base" waveform.

"rnd" only randomises the table positions that aren't currently read out (which is always 2 positions). So when you press "rnd", it won't suddenly jump to another random value.
"new" only randomises the table positions that are currently read out (which is always 2 positions). So when you press "new", the outputs suddenly jump to new random values, while leaving the unused positions the same.

The current "mostly" selected table position can also be altered manually.
"channel" selects which output you alter.
Whenever the CV-parameter changes, it updates the value of the current channel at the current table-position.
For easy stepping through all positions, set "mix" to zero and use the "next" button to step through the mix-positions. Note though, that this will follow the "quant" and "step" settings!

Each output has it's own dedicated min/max settings, available as knobs, so these could be altered by midi.

riotCell

BPM
reset
gate
Bsync
Psync
bar
part
Gcount
Scount
M
D
bars
barlength
start
stepsize
pulselength
1
probability
timeOffset

This module is based on the trigger riot, though this can be seen as a single cell so you can set the size of your sequencer-matrix yourself.

The module expects a main BPM value (just an integer control)
All internal counters are reset at a trigger-high in the reset input.

-M multiplies the main BPM, speeding up the clock in integer ratios
-D divides the main clock, slowing the clock down in integer ratios
-bars set how many times a bar is repeated
-barlength sets the count-length of each bar

the following settings are based upon the barlength:
-start offsets the count within a bar, thereby offsetting the timing of the gate based on the set tempo and stepsize.
-stepsize sets the euclidian stepsize, generating a beat every number of counts set by this control. So putting it to 16 will generate a gate at each quarter (->16/64) of the barlength. For a drum&bass kick with a barlength of 16, value would be around 41. The snare would have a start offset of 16 and stepsize of 32.
-pulselength sets the length of the gate within the range of the stepsize. Set the "1" button to set minimum size to 1, otherwise low values will generate no gate (which would also be usable as a "mute" control).
-probability sets the chance that at any given count a random gate is being generated.
-timeoffset offsets the internal LFO which triggers the counter, thereby offsetting the count, but not fixed to the main tempo. It's more like a clock-swing.

rndEuclidPatt

count
length
rnd
rand
rand
width
repeat1
Rwidth1
repeat2
Rwidth2
repeat3
Rwidth3
repeat4
Rwidth4

combined euclidian and random pattern generator
connect "COUNT" to a counter (sss-logic)
connect "LENGTH" to the max-count control
width sets the level of the random sequence
REPEAT(1-4) set an euclidian division over the entire length, generating gates. The smaller the value, the smaller the steps and the more gates will be generated.
Rwidth(1-4) set the width of the euclidian gates, being added to the pattern.

rndPatt

rnd
count
length
maxi
cha
off
v
rnd
max
offset
chance
length
rnd

random generated pattern
each time a trigger is received, positions of the pattern will be randomised or not, depending on the change parameter (in percentage, so 100 is randomising the whole pattern when triggered).

Connect a control to the "length" input to set the total length of the incoming count (eg use my counter, where the max-control is controlled externally and use that max-control to control both modules' length).

With the length-parameter you can set a division of the total length, repeating only a part of the random values.
eg. set max to 8 and the length-knob to about 21.00 and you'll get a 1,2,3,1,2,3,1,2 repetition.

The chance-parameter sets the chance that any position in the pattern will be randomised when a random-trigger is received.

The pattern will be newly randomised each time you start up your axoloti.

rndPattF

rnd
count
length
chance
change
max
min
v
rnd
maxSteps
repeat
chance
change
nonMemRnd
size
freeze
maxFreeze
rnd
CV
max
min

random generated pattern
each time a trigger is received, positions of the pattern will be randomised or not, depending on the change parameter (in percentage, so 100 is randomising the whole pattern when triggered).

Connect a control to the "length" input to set the total length of the incoming count (eg use my counter, where the max-control is controlled externally and use that max-control to control both modules' length).

With the length-parameter you can set a division of the total length, repeating only a part of the random values.
eg. set max to 8 and the length-knob to about 21.00 and you'll get a 1,2,3,1,2,3,1,2 repetition.

The chance-parameter sets the chance that any position in the pattern will be randomised when a random-trigger is received.

The pattern will be newly randomised each time you start up your axoloti.

rndPattF16

count
rnd
max
o1
o2
o3
o4
o5
o6
o7
o8
o9
o10
o11
o12
o13
o14
o15
o16
maxlength
start
repeat
chance
change
nonMemChance
nonMemChange
freeze
maxFreeze
difference
errorChance
errorSize
glidechance
gliderate

16 channel random pattern generator with lots of goodies

rndStepper

trig
r
rnd
sort
o
c
rnd
amtX2
maxstep
maximum
minimum
chance
change

pattern generator
-creates a list of random stepsizes together with their negative counterpart (eg. 2 and -2)
-then randomly re-orders this list so that if the whole sequence is played it will always go back to 0 at starting point.

rndWeightNote

trig
rnd
count
length
maxOct
minOct
pattern
chancePatt
save
load
filename
random
repeating
maxlength
maxpatterns
C
cis
D
dis
E
F
fis
G
gis
A
ais
B

Weighted random note generator
2 modes:
-random: randomly chosen with each trigger at the trigger input.
-repeating: the incoming count selects notes from a randomised table.

-for each note in the octave you can set the weighted chance that this note-value will show up at the random outputs.
-if a chance-control is zero, the note will not be selected by the randomiser.
-if only one chance-control is above zero, only this note will be played.
-if more then 1 note is above zero, the ratio between the controls will be the weight of the chance of these notes being played.
-8 of these chance-tables can be made (eg. one for each chordmode plus one extra)

inputs:
-trig: updates the "random" output to a new random value depending on the random-weight of each note.
-rnd: randomises the internal tables (set length with "maxlength" attribute and the amount of tables with the "maxpatterns" attribute).
-count: connect a counter or pattern generator to step through the randomised table. Count will be wrapped when above "length".
-length: set the maximum value till where the incoming count/pattern-output will come. Maximum is "maxlength" attribute.
-maxOct: sets the maximum octave which the randomised or repeating note outputs can reach.
-minOct: sets the minimum octave which the randomised or repeating note outputs can reach.
(to cover only octave "zero", set both to 0)
-pattern: selects one of the randomised patterns to use for the "repeating" output.
-chancepatt: selects which chance-pattern is used to select the chance of each note to be selected by the random values.

CHANCE PRESETS:
-save: press save to save the chance-table to a file on your SD-card (set filename using a filename module->string folder)
-load: press load to load a chance-table from your SD-card
-filename: set the filename you want the chance-tables to be saved to/loaded from.

rndWeightPatt

trig
rnd
count
length
maxOct
minOct
pattern
random
repeating
maxlength
maxpatterns
C
cis
D
dis
E
F
fis
G
gis
A
ais
B

Weighted random pattern generator
Based on the RndWeidthNote module (earlier version to be more precise), but without the ability to save multiple chance tables.
This does mean that it's still fixed to the 12 possible possitions of the 12 notes/octave.
So it can be used as a note generator, but also as a random value generator.
when using as a kind random value generator for 8 possible positions, just leave the last 4 controls to zero.

rndWeightSeq

trig
rst
filename
load
o1
o2
o3
o4
cnt
b0
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11
b12
b13
b14
b15
rnd
clear
output
parameter
save
load
Gchance
Pchance
Pwidth
Rchance
Rwidth
Dchance
Dwidth
length1
length2
length3
length4
mainlength
chance
gatelength
retrigger
delay

weighted random gate generator with 4 channels
each channel has 4 sequences:
-rnd chance per step (when slider is at max, it will always generate a trigger on that step)
-play length per step (gatelength->also max length for fill)
-retrigger per step (for fills)
-delay per step (for swing)

-rnd chance for any gate anywhere
-rnd chance for changing the current gatelength
-width for random gatelength->adds to step gatelength value
-rnd chance for random retrigger
-width for random retrigger->adds to step retrigger value
-rnd chance for random delay
-width for rnd chance random delay->adds to step delay

-maximum count length for the 4 sequencers (wraps back to step 0 when reaching maximum count)
-maximum "main" count length for the internal counter.

sRndEuclidPatt

count
length
rnd
rand
rand
width1
repeat
width2

random gate pattern generator
connect "COUNT" to a counter (sss-logic)
connect "LENGTH" to the max-count control
width1 sets the width of the random sequence
REPEAT sets an euclidian division over the entire length. The smaller the value, the smaller the steps->more gates.
Width sets the width of the gates, being added to the random sequence.

songsetup

copy2next
copyfrom
from
update
size
part
preset
nominator
denominator
measures
bars
loopback
loop2part
loops
lastpart
loopparts
length

(USE WITH THE MODULE: patt/songtracker)
a songtracker to create songs
a song is divided into parts where each part is divided in bars, bars in measures and measures in steps.
Each part has it's own settings for:
-nominator (steps in measure)
-denominator (rate within the measure based on main tempo)
-amount of measures within a bar
-amount of bars within the part
-whether the part loops back to another part (repeating several parts as a whole)
-which part to loop back to
-how many times this loop has to be performed before going further to the next part after the loop. (don't loop back within another loop, otherwise it will loop endlessly)

the remaining controls set the last part of the song and whether the song will repeat after the last part has been played

These two modules should be able to setup whole songs (hopefully)

songtracker

tempo
r
play
pause
stop
run
clock
step
maxstep
measure
maxmeasure
bar
maxbar
part
maxparts
preset
sm
smmax
smb
smbmax
smbp
smbpmax
mb
mbmax
mbp
mbpmax
bp
bpmax
memory

(USE WITH MODULE: patt/songsetup)
A tracker consisting of several counters that uses the stored table of the "songsetup" module to play a song.

The integer outputs give the "counter position" or "counter maximum" of the respective counters.
These are seperated into:
-independent outputs for the different counters (steps/measure, measures/bar,bars/part,parts/song) and their own maximum steplength.
-combinations of 2,3 or 4 counters and their combined maximum steplength.

By controlling pattern and preset generators/controllers with these outputs, these two modules should be able to setup whole songs (hopefully)

weightedSeqQuneo

trig
rst
filename
load
o1
o2
o3
o4
cnt
trig
repeat1
o1
o2
p1
p2
save
load
Gchance
Pchance
Pwidth
Rchance
Rwidth
Dchance
Dwidth
mainlength
chance
gatelength
retrigger
delay

weighted random gate generator with 4 channels
each channel has 4 sequences:
-rnd chance per step (when slider is at max, it will always generate a trigger on that step)
-play length per step (gatelength->also max length for fill)
-retrigger per step (for fills)
-delay per step (for swing)

-rnd chance for any gate anywhere
-rnd chance for changing the current gatelength
-width for random gatelength->adds to step gatelength value
-rnd chance for random retrigger
-width for random retrigger->adds to step retrigger value
-rnd chance for random delay
-width for rnd chance random delay->adds to step delay

-maximum count length for the 4 sequencers (wraps back to step 0 when reaching maximum count)
-maximum "main" count length for the internal counter.

sss/pulse

lfsrburstMod

trig
out
p1

lfsr burst with controllable "burst" using a knob and velocity-dependent trigger input.

sss/quneo

pads

rate
1g
1p
1x
1y
2g
2p
2x
2y
3g
3p
3x
3y
4g
4p
4x
4y
ch
cc

Receives Midi messages from 4 quneo midi controller pads (3 cc's per pad->pressure,X,Y)
Also generates a slewed gate/mix when pad is pressed.
(my own row start CC's: 23,35,47,59)

polyCCs

active
save
load
filename
a1
a2
a3
a4
a5
a6
a7
a8
b1
b2
b3
b4
b5
b6
b7
b8
c1
c2
c3
c4
c5
c6
c7
c8
d1
d2
d3
d4
d5
d6
d7
d8
layer
cc
hold

Receives Midi Continuous Controller messages from the Quneo midicontroller
Only the two bottom rows of pads will be read
Each pad-layer will be send to it's own control-output
The hold-function makes sure the output won't be reset to zero when releasing, but holding the last CC value, even if the pads are set to reset to zero (needed for turning the LEDS off in "normal mode" after releasing the pad).
Note though, that this doesn't really work for the pressure-control, as it will go down to zero if you release the pad anyways..

sss/rand

qSmRnd

trig
div
rate
out
rate

With each trigger, the algorithm will randomly choose to go up or down a set value. The value depends on the "div" input, dividing the 0 to 64 range into an "x" amount of steps.
The rate controls the change-rate at each new value.

randomdrift

random
width
smooth

random drift with new-value-offset width and output smoothing

sss/reverb

fdn8mod

inL
inR
rnd
depth
outL
outR
size
decay
size
t1
t2
t3
t4
t5
t6
t7
t8
rate
depth
spread
sine
rnd
stages
dry
wet

4/8 stage FDN reverb network
has overall decay and size parameters for quick adjusting the reverb
times can be modulated by internal LFOs which are evenly phase-spreaded sines.

fnd4Mod

in1
in2
in3
in4
out1
out2
out3
out4
d1
size
decay
s1
s2
s3
s4

Feedback delay network with 4 delay lines. High quality 32bit.

primeVerb

i1
i2
i3
i4
rnd
o1
o2
size
size
decay
rnd
rate
dry
wet
brightness
darkness

Reverb with times calculated depending on primes.
Able to create long reverb tails

sss/sampler

livePlayer

in
play
splice
repeat
octave
pitch
reverse
out
samples
starts
pitch
demix

live sample player to be used with the liveRecord module.
-play triggers the selected splice to play
-splice selects the splice to play
-when repeat is on, repeats selected splice
-octave offsets the play-rate in octaves
-pitch offsets the playrate in normal semitone pitch
-reverse inverses play direction
-"demix" parameter ducks the "thru" when play goes high

liveRecord

in
rec
clear
samples
starts
autoclear

live samplerecorder to be used with the livePlayer.
Uses a 32bit "starts" table and a 16bit "samples" table.
Autoclear resets the entire buffer when the recorder goes over the maximum time.

loadtrain1

load
offset
remsize
load
offset
remsize
first
samples
samples
starts
sample01
sample02
sample03
sample04
sample05
sample06
sample07
sample08
sample09
sample10
sample11
sample12
sample13
sample14
sample15
sample16
first
samples
first
last

allocate 16bit table in SDRAM memory, -128.00 .. 127.99

loadtrain2

load
index
rndLoad
new
offset
remsize
load
offset
remsize
first
samples
samples
starts
prefix
suffix
first
sampleStart
sampleEnd
rndMax
rndMin
rndSamples
offset
first
last
samplesize

load samples from sdcard using into 2 table allocators (samples=16bit,starts=32bit)
samples can be either .tab, .wav or .raw, all 16bit.
You can load either a consecutive order of indexed samples when you've saved drumkits in consecutive order
(eg. sample000.raw,sample001.raw,sample002.rar,etc)
or set maximum and minimum index number to randomly load a set of samples between these index numbers
(eg. sample053.raw,sample952.raw,sample002.raw,etc) For this, the rndLoad input has to be high.
A randomisation can be skipped if the "new" input is low.

sampleplayer1

gate
sample1
swap
sample2
mixrate
mixTilt
pitch1
pitch2
reverse
repeat
Swalk
alternate
start
loopStart
loopEnd
end
first
samples
walkUp
walkDown
out
samples
starts

complex dual sample player to use with the loadtrain modules

sampleplayer2

gate1
gate2
gate3
gate4
pitch1
pitch2
pitch3
pitch4
sample1
sample2
sample3
sample4
first
samples
out
samples
starts
pitch

a simple sample player to play 4 independent samples from a samplebank made by the loadtrain modules.

sss/sel

4chanceSeq

count
gate
def1
def2
def3
def4
count
gate
1
2
3
4
1
2
3
4
white
light
dark
black

quad randomisable trigger sequencer
Each color has it's own chance.

8chanceSeq

count
gate
save
load
filename
1
2
3
4
5
6
7
8
patterns
1
2
3
4
5
6
7
8
white
light
dark
black
save
load
pattern

quad randomisable trigger sequencer
Each color has it's own chance.

text2index

count
out
text

converts a text into the index-numbers (see library in the "local data", you can change this library yourself! Just make sure the amount of characters is within the array size (now it's d[128] for max 128 characters).

Use a selector, pattern generator or counter to step through the text. Each character (even space!-> index 0) counts as 1 step.

The counter reads the index-position within the text, converts the character into a value by comparing it to the library and outputs the index-value from that character within the library.

This can be used to control presets for example. Best example would be a "talking synth" where each character stands for a preset making a distinct sound.

sss/seq

64stpSeqController

value
add
select
b16

controller for the 64step, 4 channel, preset sequencer.
connect outputs to corresponding inputs.
Use "selectbar" on the sequencer module to select bar 2,3 and 4 for counts longer then 16.

64stp_4ch_Prst_Seq

trig
r
v
add
select
o1
o2
o3
o4
maxcount
count
table
channel
preset
barlength
selectbar
bars
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
position

Trigger sequencer with up to 64 steps.
-"table": enter the table-name here. (use table save/load to actually save the presets to your SDRAM card! IF YOU DON'T, YOU WILL LOOSE YOUR PROGRAMMED RHYTHM!!!)
-"channel": 4 (drum) trigger channels to program
-"preset": depending on table size, you can save lots of rhythm presets.
-"barlength": sets amount of steps per bar (normal=16)
-selectbar: select which bar you want to edit (1 to 4)
-"bars": sets max amount of bars (4 max)

inputs&outputs:
-connect a trigger/LFO source to "trig" input and set the desired rate on that module.
-"r" input resets the counter
-"v" input is the value to be entered on a position in the sequence.
-"add" input asks for a trigger to save the v-input value to the selected position in the sequence.
-"select" input selects position in the sequence where the data should be recorded.

For a bit more easy control with entering gates, use the controller object (same map)!

-"maxcount" outputs the maximum count
-o1 to 04 output short triggers (not one-step-long gates!)

basearch

next
new
rnd
out
seq
pattern
next
new
channel
difference

Pattern selector/finder for the "baseq" sequencer.
Select base pattern to base the search on
Select on which channel in the pattern you want to base your search on.
Select how different the newly found pattern may be from your base-pattern.
The controls:
"next" searches for the next pattern that's similar enough to the base pattern.
"new" copies the currently selected pattern to the base-pattern-value to start it's next search based on this new pattern.
"rnd" chooses as random pattern as long as it's high. When low, goes back to the selected pattern.

baseq

clock
muteKick
muteBasskick
muteToms
muteSnares
muteOpenHH
muteClosedHH
muteCymbals
mutePercussions
muteVoice
p1
p2
p3
p4
p5
p6
p7
p8
pV
chn1
chn2
chn3
chn4
chn5
chn6
chn7
chn8
chnV
kick
basskick
toms
snares
openHH
closedHH
cymbals
percussions
voice
mode

Basic drumpattern generator containing 2913 different drum patterns of 8 channels each.
THIS TABLE-FILE HAS TO BE DOWNLOADED FIRST!
For file, go to:
http://community.axoloti.com/t/sirsicksik-contributions/1731/939?u=sirsicksik

Each drumchannel or the voice channel can select it's own sequence channel and pattern preset, but in normal use the channel-selection is expected to be ordered index 0-7 for chn1 to chn8.
p1 to p8 select the preset for the respective channel
chn1 to chn8 selects which channel of that preset is used to generate gates
Each of the outputs can be muted with a high-gate on the respective mute inputs.

clockswing

trigIn
reset
swing
trigOut
swing

adds swing to a trigger signal
First gate/trigger is let through as a short trigger
Second gate/trigger resets the internal counter and only generates a short trigger if the internal counter passes the swing value. Internal counter is at krate. Most swing values will be between 0 (no swing) and 200. If the swing value is so high that the counter will be reset before it has generated a trigger, it won't generate a trigger. So it's useful to add a reset signal (once every 64 steps? or more?) to both the swing module and the sequencer that you're providing the swing to.

clockswing2

trigIn
reset
swing
trigOut
swing
repeat

adds swing to a trigger signal
First gate/trigger is let through as a short trigger
Second gate/trigger resets the internal counter and only generates a short trigger if the internal counter passes the swing value. Internal counter is at krate. Most swing values will be between 0 (no swing) and 200. If the swing value is so high that the counter will be reset before it has generated a trigger, it won't generate a trigger. So it's useful to add a reset signal (once every 64 steps? or more?) to both the swing module and the sequencer that you're providing the swing to.

clockswing3

trigIn
reset
swing
trigOut
swing
repeat
range
in

adds swing to a trigger signal
First gate/trigger is let through as a short trigger
Second gate/trigger resets the internal counter and only generates a short trigger if the internal counter passes the swing value. Internal counter is at krate. Most swing values will be between 0 (no swing) and 200. If the swing value is so high that the counter will be reset before it has generated a trigger, it won't generate a trigger. So it's useful to add a reset signal (once every 64 steps? or more?) to both the swing module and the sequencer that you're providing the swing to.

euclid

count
update
out1
start1
step1
ratio1
steps
countmax
update
mainstep
ratioA
ratioB
stepsOn
maxcount

euclidian sequencer

lifeGame

evolve
play
change
randomise
reset
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
load
save
reset
max
rnd
change
chance
play
update

This is the core "game of life" module which can be read out by the other life modules.
It can also be used as a normal XY-sequencer (not using the evolver)
It can only "evolve" when play is high.
You can create your own starting pattern (set play to off!!), use the rnd (total randomise->drastic and quite chaotic, often lots of "invinsible" black cells) or use the "change", which makes use of the chance-parameter to set what the chance is for each cell to get randomised. The max-parameter sets which values may be generated and leaves higher values untouched.

Then press "save" to put it into the internal array for calculation and press play (if you actually want it to evolve, that is.. you can also use it as a fixed XY-sequencer.)

Each step can be 0,1,2 or 3. These generate different outcomes for the readout modules, but also have different characteristics when it comes to the game of life!

A white step is zero.. dead... no gate and not adding a value to the CV's. Though when the total value of all cells around the dead cell is exactly 3, the cell becomes "alive".
A light-grey step is 1.
A dark-grey step is 2.
A black step is 3, and is also "invinsible" in the game of life... it cannot die and generates new living cells around it as long as there are no other life around the dead cell "trying to come to life" (as this would make the total of all the cells around the dead cell go above 3).

Rules:
1. only if the cell isn't black, then the following rules will be applied:
2. if the total of the cells around the calculated cell is above 3, it loses 1 point until it's dead(light/dark grey only). So a dark grey cell can survive 1 round longer then a light gray cell.
3. if the total of the cells around the calculated cell is 2 or 3, the cell gains a point.
4. if the total of the cells around the calculated cell is above 3, the cell loses the half the difference between the total amount minus it's own value. This way grey cells can always "kill" other white cells together, but 3 light grey cells can't kill a grey one, only take 1 level off of it. They need to be with more to do that.
5. if a cell is dead and the total of the cells around it is exactly 3, it becomes alive.

Enjoy playing! :)

lifeRow

row
max
min
out
ref
row
max
min

This module reads an entire row as a 32-bit value, which can be scaled with the min/max knobs between a minimum and maximum value.

lifeSurface

Xs
Ys
Xe
Ye
max
min
CV
ref
Xs
Ys
Xe
Ye
max
min

This module reads out a 2D surface of the game of life module
The outcome is a scaled based upon how many coordinates are within the surface.
Each step has 4 possible values, 0,1,2,3, and all steps are added together, scaled to the total amount of steps*3 (*3 because each step has 3 as its highest value).
Using the min/max parameters, you can set the minimum and maximum output values.

lifeXYread

trig
X
Y
gate
CV
ref
X
Y
V1
V2
V3
V4

Reads out a XY-coordinate of the "game of life" module and outputs a gate when both the input trigger and the coordinate are above zero (light/dark grey and black steps on game of life module)
When using a toggle button, the gates can be (un)muted and act like a sustain if multiple steps in a row are above zero.
Send a gate/trigger signal into the trigger input to add a rhythmic variation of the gate output or to create pulses instead of a sustained gate output.

pianoDecoder

clock
vel1
vel2
vel3
notes
device
channel
vel1
vel2
vel3
channel1
channel2
channel3
lownote

Decodes the polyphonic "pianobar" sequencer and sends the data as midi internally or externally.
Each velocity-step can be set to it's own velocity and midi-channel.
Useful to write three polyphonic melody lines in a single sequencer, mixable/automatable using the three velocity inputs.

pianoMemory

save
load
index
chained
table1
table2
table3
table4
table5
table6
table7
table8
prefix
suffix

save/load up to 8 tables to/from sdcard in a row
Meant to be used with the pianoBar and pianoDecoder modules, but could also be used for other applications for saving multiple arrays at once

Tables that aren't used still need an entry, so just copy one of the module-names that you've used for the active slots.
Set the amount of modules/tables with the "chained" attribute.

pianobar

count
notes
clear
oct
chain
notes
clear
oct
B
Bb
A
Ab
G
Gb
F
E
Eb
D
Db
C
count

Polyphonic piano-bar sequencer with 3 velocity levels (set with pianoDecoder).
Retriggers if velocity changes, even when gates are connected, otherwise, if same velocity, sustains the gate.
Used in combination with the pianoDecoder which outputs polyphonic midi internally/externally.

pianoroll

count
gate1
note1
gate2
note2
gate3
note3
gate4
note4
gate5
note5
gate6
note6
gate7
note7
gate8
note8
gate1
note1
gate2
note2
gate3
note3
gate4
note4
gate5
note5
gate6
note6
gate7
note7
gate8
note8
gates
size
file
rec
reset
Bb
Ais
Aa
Gis
Gg
Fis
Ff
Ee
Dis
Dd
Cis
Cc
load
octave
sequence
save
CopyTo
copy
CLEARSEQ
SAVE2FILE
in

Pianoroll module

first:
1. set the size of the table. For each sequence (=4 octaves with 16 steps), 48 positions are used.
2. set the filename in the "file" edit box. (I chose 0:/pianoroll.tab)
3. if it starts bitching about "no such file found", create a table under that name first using the table-save module..

use "octave" and "sequence" selectors to select a specific part of the entire sequence.
each sequence is 16 steps and can cover 4 octaves.

EDITING
to edit the part of the sequence:
-to reset the editor to "whole octave, no gates-on", press "reset".

-press "load" if you want to load the already created sequence that was saved in this part (part= octave&sequence_

-press the boxes in the editor to add notes to the sequence. The boxes can have 4 values: 0,1,2,3, which can be used to control extra functions in your synth, select slides, velocity etc.

-to save the edit, select the right sequence and octave and press "save".

-to copy a sequence to another sequence (copies all 4 octaves):
-select the sequence you want to copy FROM using the "sequence" selector.
-select the sequence you want to copy TO using the "CopyTo" selector.
-press "copy".
you can use this to make repeating 16-step patterns, which can later be edited for variation.

-to clear ALL sequences (emtpy array), press the "CLEARSEQ" button.

-to save the entire array to your SD-card for future recall, press "SAVE2FILE".

RECORDING MODE
for this, a subpatch of mine is needed: "8voice2rec". This translates polyphonic note-input to 8 seperate note&gate channels (gate has 4 values 0,1,2,3).
-connect the corresponding outputs and inputs (gates to gates, notes to notes, duh..)
-set polyphony on "8voice2rec" to 8 and set it to the incoming midi channel, device and port.

when you want to record, press the "rec" toggle-button above the sequence-editor and start playing while the count is running.
Note that more then 8 voices can be recorded into the sequencer! Depending on the follow-up of notes, this can create some nice variations when the sequencer repeats, due to the voice-allocation-algorithm.

polymodeGateGenerator

in
def
gate
chance1
chance2
chance3
chance4
chance5
cycle6
cycle7
cycle8
cycle9
cycle10
chain
o
i0
i1
i2
i3
i4
i5
i6
i7
i8
i9
i10
i11
i12
i13
i14
i15
i16
i17
i18
i19
i20
i21
i22
i23
i24
i25
i26
i27
i28
i29
i30
i31

A gate sequencer with 16 different "modes" for each step, allowing for a more or less recognizable but changing gate-sequence
0=gate OFF
1 to 5 are chance-controlled, set by the chance inputs. So when a step is set to 5 and the chance5 input is at 32, theres a 50% chance that it will generate a gate.
6-10 are "cycle" inputs. So, eg. when cycle6 is set to 3, an internal counter is triggered each time the sequencer comes along a step set to "6". Only when the internal counter is 0, a gate is generated.
11-12 are selected by an internal 0/1 counter that is triggered at each first step of the sequence. When it's 0, it will play the "11" steps, when 1, it will play the "12" steps.
13-16 are the same like above, but the internal counter will count 0, 1, 2, 3 (-> 13, 14 ,15, 16)

shuffledautomator

in
count
presetRead
presetWrite
tablevar
allload
hold
normcount
t1
t2
t3
t4
t5
t6
t7
t8
var
table
tableRead
tablevar
presetRead
presetWrite
save
load
allsave
allload
posplay
through
scope1

enter the name of the table-allocation module (SDram!!) in the "table" entry.

Connect anything to the "in" input to use as a source to be recorded into the automation.
As soon as the "in" input changes, it's being recorded to the selected automation position after 6 steps. (reason now follows->)

To detect short "stops", while it should keep recording, it keeps track of the latest 6 values. If at least one of the last 6 values is different from the others, it keeps recording.

Count input asks for a counter with a countlength between 0 to 128 steps. (128 steps is counting from 0 to 127). I advice to use my "shufflingSequencer" to provide both the "count" and "normcount" (it has these outputs for this reason)
This is used to read out the automation. You can use a normal counter or any other pattern generator to step through all the positions in the automation.

PresetRead can be used to automate the preset being read by the module.
PresetWrite can be used to automate the preset being written to by the module
tablevar can be used to automate the selected table in the preset to send to the var-output.

a trigger in the allload input will load all presets and automatically fills each table (used for automatic preset-load on startup or automated preset loading)

a trigger in the hold input will update the outputs to the value of the current table position.
Use the "through" switch to make the signal continuous (then no trigger is needed)

Use the normcount to feed the automation recorder a "normal" counting signal (0 to 127). This way you're sure that you're recording to the right positions. Of course, you can also connect the same signal as the count input, but if this generates a pseudo-random count, automation wont be recorded fluently. Also, this normcount is used to drive the position-indicator. Due to the way it updates, you won't be able to make up your recording in the display!

Controls:
tableread: sets which table you are currently updating to the display and will be recorded to when changing the "in" input.

tablevar: selects an automation from one of the 8 tables to feed to the var output.

presetread: sets preset to read from when loading presets.
presetwrite: sets preset to write to when saving presets.
save: saves currently selected table into the currently selected presetwrite position of the table allocator.
load: loads currently selected table from the currently selected presetwrite position of the table allocator.
allsave: saves ALL automation in a single preset to the table allocator
allload: loads ALL automation in a single preset to the internal automation

posplay: shows position indicator of the automation recorded (normcount)
through: when on, outputs continuously update. When off, a trigger is needed at the hold-input to update outputs.

shufflingGateSequencer

trig
reset
sequence
reverse
ones
twos
fours
eights
sixteens
thirtytwos
xor
xorValue
andShift
andValue
shiftValue
Pload
g1
g2
g3
g4
pos16
count
normcount
maxcount
table
b1
b2
b3
b4
chance0
chance1
chance2
gate
steps
load
save
bar
seqRead
seqWrite
Psave
Pload
bank
Grec
c0rec
c1rec
c2rec
recG1
recG2
recG3
recG4
clear

"constant from 16 flags".....hmmmm... that one evolved quickly...

FIRST ADD A TABLE ALLOCATION MODULE AND "TABLE SAVE" MODULE FROM THE FACTORY TABLE FOLDER!!!!!!!!!! and make a structure to save the table into a .tab file! BEFORE EDITTING!!!
(otherwise you'll lose everything as you can't save it as it's needed to stop the patcher to add the modules and restart the patcher... NOOOOOOOOooooooooo!..... *sight*)

4 channel 64-step(max) gate sequencer with 1024 presets per-bank. (positions and values are saved together as a single decimal number, so 1024 numbers equals 1024 sequences per bank!)
Each step has 4 positions (white=chance0, light gray=chance1, dark gray=chance2 and black). A black step always generates a high gate, the others can be given a random-chance value of that step generating a gate. (chance of colors set by the chance0, chance1 and chance2 controls)

There's no internal storage memory, so the module loads banks from- and saves to table allocation module (size at least 4* 1024*(number of banks) ).
Because of this, there are no presets available when you use this module for the first time.

-Then first edit the bars of the sequencer to have a rhythm.
-check whether you're saving to the right bar ("bar" selector)
-check whether you've saving to the right preset ("seqwrite" selector, for first timers, start with preset/slot 0).
-set the preset load position ("seqread" selector) to the same number (for first timers, this will be preset/slot 0)
-press "save"
-your sequence has now been saved to the internal memory at the preset/slot and in the bar that you've selected.

-now select another BAR.
-now EITHER:
-press "save", which will save the same sequence of the former bar to the next bar. Do this 2 times more and you've filled your 64 step sequence.
-OOOORRRRRR
-in case the internal memory is empty at that spot, press load, and it will reset all the bars to zero. (This will be your "first-time" case, it will reset as there's no preset to
load).
-in case the internal memory is NOT empty in the newly selected bar, but contains another sequence (previously loaded from a table or eddited before), it will load that sequence into
the sequence editor.

-after editting all the BARS and saving them TO THE SAME(!!) "seqwrite" number, you can select a new "seqwrite".
-to start a fresh sequence (empty editor) and the internal memory is empty in the selected "seqread", press "load" to quick-reset sequence.
-if you already have a sequence in that position, and want to load that one, select the same number for "seqread" and press load for all the bars.
-if you already have a sequence in that position but want to over-write it with another sequence (eg, your former sequence):
-This can be done quite quickly: select bar1, press "load", press "save", select next bar, press "load", press "save', etc. for the two other bars (takes you 4 seconds most with a
mouse..?)
-then edit the copied bars one by one (select a bar, press load->loads into editor->edit sequence->press save->REPEAT WITH NEXT BAR)

It's pretty important to understand how this bar/preset-system and read/write-functions (load/save) work, as you might very well be over-writing or loading the wrong sequence.. destroying precious old or freshly found sequences!

TO FINISH THIS OFF!!!
Hope you read and added a "save table" module by now, as when you press "stop" after editing to add the "save" module, you just lost everything except your last loaded sequence in the editor!!

-if you made some sequence-presets you can save these to the table allocator by first selecting a "bank" and then pressing "Psave". Each bank will have 1024 positions for sequences.
-now press "save" for the "table save" module, to save the table into a file on your SDRAM card. (oh shit, you didn't have one... all for nothing.. go get it!! ;) )
-your table is now saved onto your SDRAM card.

-TO RE-LOAD old files, add a "table load" module from the factory table folder and give it the same table-name to load the table to as the "save table" module.
-then press "Pload" on the sequencer module (this module that would be..). The table is now loaded into the sequencer and ready to be used (if you're triggering the sequencer already, it should be sending out gates already->it's the internal memory that's used to play the sequences.


NOW THE FUN PART STARTS!
All those boolean-inputs at the side??

-First one is of course for triggering the internal counter.
-Counting modifications to bitswap/shift/logic, bit-invert and reverse (from current play position) the counter output with external sequences/controls. (internal counter itself is untouched, so it always goes back to where it should have been if the modification wouldn't happen.)

well.. guess that's the "only couple of things you need to know"..... ghehe

ahh shit, I added more functionality.. ;)

live recorder:
to record to a channel, select the channel with the toggle switches (recG1 to recG4).
You can record to multiple channels at the same time (to record parallel hits)

then hit any of the c0rec/c1rec/c2rec/Grec buttons to add a white,light grey, dark grey or black step to the recording position.

to clear a pattern (white steps only), press the "clear" button.

sss/shape

6xHrmrphMem

Pitch
FMin
FMW
Walk
MainSprd
Sprd1
Sprd2
ExpSprd
AM
s1
s2
r1
Min
Algo
ShiftStep
ShiftHalf
ShiftSecond
ShiftThirds
o1
Walk
Walk
Pitch1
Pitch2
Pitch3
Pitch4
Pitch5
Pitch6
HP

input multiplexer. Output is i1 when s < 1, i[i] when....

Ushapes

in
phsIn
phsInv
phsSin
phsCos
PIn
Inv
Sin
Cos
SIN

turns unipolar phase into other shapes. Each outputs has it's own phase-offset input, except SIN, which is a direct conversion from the phase input.

crvShape

in
exp
mod
offset
out
exp
stack
mod
offset

Curve-shaper for phase distortion.

Curve is created by the exp and mod controls.
negative exp=exponential
positive exp=inverse exponential
negative mod= inverse s-curve
positive mod= s-curve.

mod is actually a modulation of the exp input by the signal itself, fading from exponential to inverse exponential (or the other way around) and added to the exp-control.

SO:
When you want an (inverse) exponential curve, only use the exp-control
When you want a S-curve, first dial in the mod-control and use the exp-control to offset the center of the s-curve.

offset adds an offset to the output, eg. to offset the phase.

dualBezShapeV2

phase
width
pos0
pos1
pos2
ampl0
ampl1
ampl2
rateP0
rateP1
rateP2
rateA0
rateA1
rateA2
o
phase
hrm1
hrm2
hrmR

dual bezier curve shaper. One for position, the other for level.
This version has "rate" added to the modulation options. With these you set the vector-rates at each point.

formantshaper

phase
throat
frq1
frq2
frq3
frq4
frq5
bw1
bw2
bw3
bw4
bw5
gain1
gain2
gain3
gain4
gain5
out

Formant shaper.
This is an extra shaper that you can use on the oscillator output to force more exitation of the formants.

Connect the phase of the oscillator to the phase input. (or a phasor oscillator running at same speed as the "throat" oscillator if you don't have both the signals present. I advice to use my "morphor" oscillator which has an extra phase output)
Connect a shaped signal to the "throat" input.
Using a "fatbasterd" (distortion folder) before the throat input helps creating pulsed vocals and adding harmonics for the filter.

sinePeak

in
offset
strength
level
out
offset
strength
level
stack

adds a "sined peak" to the phase (incoming signal).
Peak is a triangle converted by an exponential curve (stackable for tighter peak) and then goes through a sine-shaper to round of the peak.
offset: controls the position of the peak
strength: controls the tightness of the peak (the higher, the thinner)
level: controls the hight of the peak.

tableShape

phase
mix
step
out
div
table
harmonic
mix
quant
start
step

Interpolated wavetable shaper.
Turns a phase (phazor oscillator, positive non-bandlimited saw-wave) into a wave using a morphable wavetable.

"mix" morphs through the available waveforms in the wavetable
"start" is the "base" waveform, where it will start when "mix" is at minimum or maximum.
"step" is the stepsize for selecting from the waveforms while morphing with the "mix". Last step is always the same as the first step, so you could use a saw to morph through the waveforms continuously in one direction.

"harmonic" multiplies the incoming phase to generate higher harmonic waveforms based on root phase.
"quant" sets the amount of waveforms that the mix will morph through. At 64, it will morph back to the "base" waveform.

This module pairs very VERY well with the other shape modules for lots of tonal control!

sss/spat

spatialRotator

i1
angle
distance
o1
o2
o3
o4

crossfade between four outputs using angle and distance controls.
distance is limited to a 1:1 ratio, so high distance values turn the sine-rotation into a clipped triangle rotation, following the maximum mix-limits.

sss/sss

polyMidiIn

note
gate
gate2
velocity
releaseVelocity
touch

Monophonic MIDI keyboard note input, gate, velocity and release velocity. Polyphonic touch output.

softClip

i1
gain
o1
gain
mod

Soft limiter with input gain and positive/negative gain offset (gain-modulation by incoming audio)to create tube-like waveforms and other distortions (high mod settings)

sss/stomps

reverbMod

inL
inR
outL
outR
on
*c_1
feedback
read_1
read_2
read_3
mix_1
mix_1
mix_1
fnd4Mod_1
fnd4Mod_1
fnd4Mod_1
fnd4Mod_1
fnd4Mod_1
fnd4Mod_1

(no description)

sss/string

findFree

findFree
index
first
last
rnd
selected
free
autoload
prefix
suffix
free
sel

Indexed filename string combiner with some extra's:
-checks the SDcard how many tables are saved using the same prefix (only as long as indices follow up, counter stops when it finds an unused index number).
-seperate filename outputs for selected filename (for loading) and free filename (for saving)
-wraps the index input so it can only select from the available indices.
-3 extra load inputs:
first index (normally index 000)
last index (free index minus one, eg. index 011 if index 012 is empty, in other words, last one that you've saved)
random index (randomly selects an index number from the available indices)

sss/synth

AAsynth

outlet_1
adsr_1
adsr_1
adsr_1
adsr_1
adsr_2
adsr_2
adsr_2
adsr_2
sel_1
sel_1
sel_1
sel_1
sel_1
sel_1
sel_1
sel_1
blepped_3
blepped_3
blepped_3
blepped_3
blepped_3
blepped_3
blepped_3
pitch
amp

(no description)

GUITAR

inL
inR
outL
outR
size
decay
size
t1
t2
t3
t4
t5
t6
t7
t8
rate
depth
spread
sine
rnd
stages
dry
wet

4/8 stage FDN reverb network
has overall decay and size parameters for quick adjusting the reverb
times can be modulated by internal LFOs which are evenly phase-spreaded sines.

HQ2Dtable

inlet_1
outlet_1
waveformGenerator_1
waveformGenerator_1
volume
volume
volume
volume
harmonics
harmonics
harmonics
harmonics
mix1
mix1
mix1
mix1
mid2
mid2
mid2
mid2
divScale_1
divScale_2
2DHQtable_1
2DHQtable_1
2DHQtable_1
2DHQtable_1
2DHQtable_1
2DHQtable_1
2DHQtable_1
2DHQtable_1
2DHQtable_1
2DHQtable_1
2DHQtable_1
2DHQtable_1

(no description)

HQ2Dtable2

mod1-form
tempo sync
mod2-step
sync LFOs
MODE1
MODE2
outlet_1
waveformGenerator_1
waveformGenerator_1
VOLUME
VOLUME
VOLUME
VOLUME
VOLUME
VOLUME
VOLUME
LFOMORPH
LFOMORPH
LFOMORPH
LFOMORPH
LFOMORPH
LFOMORPH
LFOMORPH
LFOMORPH
ENV2MIX1
ENV2MIX2
MIX1MORPH
MIX1MORPH
MIX1MORPH
MIX1MORPH
MIX1MORPH
MIX1MORPH
MIX1MORPH
MIX1MORPH
MIX1MORPH
MIX2MORPH
MIX2MORPH
MIX2MORPH
MIX2MORPH
MIX2MORPH
MIX2MORPH
MIX2MORPH
MIX2MORPH
MIX2MORPH
2DmorphLFO_1
2DmorphLFO_1
2DmorphLFO_1
2DmorphLFO_1
2DmorphLFO_1
2DmorphLFO_1
2DmorphLFO_1
2DmorphLFO_1
2DmorphLFO_1
LFO2LFORATE
SYNC OSC
ENV2CUTOFF
LFO2CUT2
MOD1-CUTOFF
amp
pitch
FMW
waveform
sinemix
mix1
quant1
start1
step1
mix2
quant2
start2
step2
AM
mode
wave
sync
LFO
amp
amp
pitch1
pitch2
reso1
reso2
mode1
mode2
SerPar
drive1
drive2

(no description)

dualguitar

scale
key
preset
inlet_1
outlet_1
ADSRcrv2_1
ADSRcrv2_1
ADSRcrv2_1
ADSRcrv2_1
ADSRcrv2_1
ADSRcrv2_1
ADSRcrv2_1
bipAmp_4
bipAmp_5
bipAmp_6
pitch
harm2nd
rateM
rateD
pwm
mod
start
preset1
preset2
link

(no description)

guitarExtTable

preset
outlet_1
ADSRcrv2_1
ADSRcrv2_1
ADSRcrv2_1
ADSRcrv2_1
ADSRcrv2_1
ADSRcrv2_1
ADSRcrv2_1
ADSRcrv2_1
bipAmp_4
bipAmp_5
bipAmp_6
guitarDualOscV_1
guitarDualOscV_1
guitarDualOscV_1
guitarDualOscV_1
guitarDualOscV_1
guitarDualOscV_1
guitarDualOscV_1
guitarDualOscV_1
guitarDualOscV_1
guitarDualOscV_1

(no description)

polyBase

outlet_1
ADloopR_1
ADloopR_1
ADloopR_1
ADloopR_1
ADloopR_1
ADloopR_1
ADloopR_1
bassOsc_1
bassOsc_1
bassOsc_1
bassOsc_1
bassOsc_1

(no description)

polySintri

scale
key
outlet_1
ENV vol
ENV vol
ENV vol
ENV vol
ENV sh/pi
ENV sh/pi
sine_1
CurveShape
CurveShape
MW shape
CurvePitch
CurvePitch
MW pitch
sintri_1
sintri_1
MW tremelo

(no description)

polyString

GlideOff
Glidetime
Feed
A
D
position
tailtime
color
mode
strength
influence
BPcut
BPres
outlet_1
bp_1
bp_1
glideMultiExt_1
glideMultiExt_1
KarplusStrong2_1
KarplusStrong2_1
KarplusStrong2_1
KarplusStrong2_1
KarplusStrong2_1
KarplusStrong2_1
KarplusStrong2_1
a
d

(no description)

polyTable

mixSine
mix1
mix2
mix3
audio out
divide1
divide2
divide3
Load
preset
touch smooth
touchwidth
OSC
OSC
OSC
OSC
OSC
OSC
OSC
OSC
OSC
OSC
OSC
OSC
OSC
OSC
ENV
ENV
ENV
ENV
ENV
ENV
ENV

(no description)

polyguitar

PWM
MOD
START
sync
cut
outlet_1
guitarTable_1
guitarTable_1
guitarTable_1
guitarTable_1
guitarTable_1
guitarTable_1
guitarTable_1
guitarTable_1
vel/touch
ADSRcrv_1
ADSRcrv_1
ADSRcrv_1
ADSRcrv_1
ADSRcrv_1
ADSRcrv_1
ADSRcrv_1
smooth touch
touch2filter
touch2PWM
touch2MOD
touch2START
touch2cutoff
guitarDualOsc_1
guitarDualOsc_1
guitarDualOsc_1
guitarDualOsc_1
guitarDualOsc_1
guitarDualOsc_1
guitarDualOsc_1
expLPG_1
expLPG_1
expLPG_1
LPos_1
LPos_1
LPos_1

(no description)

quneo warper

sync
outlet_1
toggle_1
sel_1
sel_1
sel_1
sel_1
tabletrainOS_1
tabletrainOS_1
tabletrainOS_1
tabletrainOS_1
tabletrainOS_1
tabletrainOS_1
tabletrainOS_1
tabletrainOS_1
tabletrainOS_1
tabletrainOS_1
tabletrainOS_1
*c_1
BPstack_1
BPstack_1
BPstack_1
BPstack_1
BPstack_1
BPstack_1
BPstack_1
BPstack_1
ADSRcrv2_1
ADSRcrv2_1
ADSRcrv2_1
ADSRcrv2_1
ADSRcrv2_1
ADSRcrv2_1
ADSRcrv2_1
ADSRcrv2_1
ADSRcrv2_1
ADSRcrv2_1
fade
fade
mod
fade
mod

(no description)

simpleGuitarOsc

A
D
S
R
PWM
MOD
START
outlet_1
adsr_1
adsr_1
adsr_1
adsr_1
ENV2PWM
ENV2MOD
ENV2START
guitarTableOsc_1
guitarTableOsc_1
guitarTableOsc_1
guitarTableOsc_1
guitarTableOsc_1
*c_1
amp

(no description)

sss/table

16mod_recorder

read01
read02
read03
read04
read05
read06
read07
read08
read09
read10
read11
read12
read13
read14
read15
read16
write
v
sel
trig
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
table01
table02
table03
table04
table05
table06
table07
table08
table09
table10
table11
table12
table13
table14
table15
table16

16 output modulation recorder

allocate 32u 16 sliders

b0
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11
b12
b13
b14
b15

table in RAM memory, direct from sliders

arrayEdit

core
def
set
i0
i1
i2
i3
i4
i5
i6
i7
i8
i9
i10
i11
i12
i13
i14
i15
length
pattern

This module is used to alter the patterns in the "polycountMan" module and "polyRyTrig" module (set module-name in "core" attribute).
First 16 selectors set up the values within the pattern.
For "polycountMan" in controls the amount of measures for each stage.
For "polyRyTrig" it controls the amount of triggers that will be generated within the set amount of measures.

"length" sets the amount of selectors that will actually be used.
eg. for a 32-step loop with a stage-length of 10, the measures-per-stage could be:
5,3,5,2,1,5,3,5,1,1,1
if using the polyRyTrig and it would be set to:
5,4,5,2,3,5,3,5,2,1,3
it will create a "normal" count where the values are the same (like the 5's in the upper row). But by using a higher rate for the single measures (1's), you can make halves, tripples, quarters etc etc.
The first "3" has 4 triggers, generating 4 triggers within 3 measures, speeding up the rythm a bit.

"pattern" sets which pattern in the core-module is being controlled by the arrayEdit module. This knob is scaled to the amount of patterns made available by the core-module and is midiCC controllable.

mod16RecV2

pos
v
sel
rectrig
clear
rndChnl
rndAll
filename
load
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
size
load
save
SaveOn

16 output modulation recorder
uses single inputs for:
-counting position for all 16 recorders/readers
-value record and modulation select

when rectrig is high, it records the value on input_v into the selected modulation sequencer.
to randomise the selected channel, press "rndChnl"
to randomise all the channels together, press "rndAll"

recorded patterns can be saved an later recalled, just connect a string/indexed, provide a name and hit "save" to save your patterns.

monoTable

size
init

allocate 32bit table in SDRAM memory

primeCreate

(no controls)

table allocation module to create a file with the first 1024 primes on your SDcard.
After this, the "primes" module can be used to automatically load this table as a table allocation module.
Use the ctrl/primeRead module to select the primes from the table.

otherwise said:
-this module only needs to be used once to create a table on your card.
-after this you use the "primes" and "primeRead" modules to select prime-numbers.

primes

(no controls)

table allocation module for first 1024 primes.

sampleController

preset
startsample
startpitch
startStrt
startEnd
loopsample
looppitch
loopStrt
loopEnd
loopmode
LOOP
endsample
endpitch
endStrt
endEnd
samplelength
FMwidth
settings
samples
preset
intExt
FMwidth
startsample
startpitch
startStrt
startEnd
loopsample
looppitch
loopStrt
loopEnd
loopmode
LOOP
endsample
endpitch
endStrt
endEnd
samplelength
sample

description

samplePlayer

trig
startsample
startpitch
startStrt
startEnd
loopsample
looppitch
loopStrt
loopEnd
loopmode
LOOP
endsample
endpitch
endStrt
endEnd
samplelength
FMwidth
fm
o
stage
pitch
table
samplelength
intExt

read from table, nearest neighbour

samplerControllerHQ

preset
rndAll
startsample
startpitch
startStrt
startEnd
SLpitch
loopsample
looppitch
loopStrt
loopEnd
loopmode
LEpitch
endsample
endpitch
endStrt
endEnd
samplelength
settings
samples
preset
intExt
startsample
startpitch
startStrt
startEnd
SLpitch
loopsample
looppitch
loopStrt
loopEnd
loopmode
LEpitch
endsample
endpitch
endStrt
endEnd
samplelength
sample

controller for the samplePlayerHQ.
-Use a table-allocation and tablesave module to save your settings!! You'll need a tablesize of 4096!!
-set the samplelength to the same size as you've set in the "tablecreator" patch when creating the table!

-the first two presets cannot be randomised, these should be seen as your "fixed" settings. I'm using these for bassdrum (preset 0) and snare (preset 1). This way you can randomise the settings, while making sure the basic beat won't be changed too much.

-connect the "preset" input to:
-midi2cv module
-sequencer
-pattern generator
-random generator

-to manually edit a preset:
-press "intExt" to use the selected preset and be able to hear it play (otherwise it will use the preset-input)
-set the parameters for this preset and then go over to the next one

samplerPlayerHQ

gate
Ssample
Spitch
Sstart
Send
SLpitch
Lsample
Lpitch
Lstart
Lend
loopmode
LEpitch
Esample
Epitch
Estart
Eend
fm
samplelength
jump
size
o
position
stage
table
Ssample
Spitch
Sstart
Send
SLpitch
Lsample
Lpitch
Lstart
Lend
loopmode
LEpitch
Esample
Epitch
Estart
Eend

High quality sample-table player.
Each stage has it's own settings for:
-sample
-pitch
-start of play-position
-end of play-position

between each stage, it also has a pitch-control as it will move from the last end-position to the new start position of the next stage.

loopmode can be off/forward/reversed/alternating

an additional granular effect is added with the "jump" and "size" inputs.
Connect a "mutable" square-LFO to the "jump" input. Each time it goes high, it takes the time in-between triggers. The "size" parameter is combined with the current pitch and the sampled time. Each time "jump" goes high it will subtract/add the outcome from/to the current play-position. If "size" is set fully counter-clockwise, it will act as a retrigger. When size is positive, it will jump forward, skipping parts of the sample.
This setting is not added to the controller module, as it's more of a real-time and continuously modded, additional control.

saveloadPreset

save
load
filename
table

save and load table to sdcard

saveloadactivate

load
save
load
extraload
play
fadein
save
load
sure
rate
save
load

preset save/load module with "being sure" button (for when you accidentally press the wrong button and might have been overwriting your dear preset table!)

also features:
-force-load from external trigger
-automatic load at patch-start
-volume fade-in when play output is high after load. (use play output to activate modules or sync sequencers)
-linear fade-in rate control(exponential response of knob on linear fade-in)

tabRecorder

rec
val
delete
delALL
size
reset
gate
mix
out
size

records value input (to be used with "singleTouch" module to record aftertouch)
The recorded automation won't be reset to 0 when axoloti is restarted.

set the desired maximum table size with the "size" selector attribute.

For the "size" input:
Use a "ratioVCAI" module to set a desired ratio to host tempo, using the "clock2timing" module to provide the amount of samples (ksamples output).

A gate high at the "delete" input, WHILE rec is high, will set the currently recorded value to 0.

A gate high at the "delALL" input, WHILE rec is high, will set all position in the table to 0.

A gate high at the "reset" input will reset the internal readout position to 0.

outputs:
"gate" goes high when recorded readout value is above zero.
"mix" outputs a smoothed gate high to use with crossfaders
"out" outputs the recorded readout value

tableload

filename
trig
sample
MaxSampleAmount
table
samplelength

load table from sdcard

tableloadX

filename
trig
table
sizemult

load table from sdcard

tablesave

filename
trig
ready
table

save table to sdcard, added a "save ready" trigger. Useful if you need to halt another load/save until this one has finished.

tablesaveX

filename
trig
ready
table
sizemult

save table to sdcard, added a "save ready" trigger. Useful if you need to halt another load/save until this one has finished.
Also has a length multiplier in case you need to store wavetables that use "LENGTH" as the basis for a single cycle waveform, but save multiple samples/versions to a bigger table.

touchrec

gate
position
CV
rec
delete
deleteSEQ
clear
length
gate
CV
size

(aftertouch) automation recorder

-records only when "rec" is high.
-when "gate" is high, records CV onto current position and send incoming CV directly to output
-when "gate" goes low (recorded/live), holds last CV value.
-when "delete" is high, deletes gate/CV at current position when "gate" goes high
-when "deleteSEQ" is high, deletes the whole sequence when "gate" goes high
-when "clear" goes high, deletes the whole sequence immidiatly

-clear should be used as the main reset-control, resetting multiple automation modules to zero.
-connect gate and CV inputs to the gate/touch-outputs of my "noteTV" module (midi folder)

-delete and deleteSEQ should be used to only delete certain CV-positions or certain sequences.

sss/temp

ssProblem

pitch1
pitch2
mix1
mix2
step
sinemix1
sinemix2
sync
out
divide1
divide2
table
pitch1
HS
dampHS
SS
pitch2
FMW1
FMW2
waveform
SW1
W1
sinemix1
mix1
quant1
start1
step1
SW2
W2
sinemix2
mix2
quant2
start2
step2
wavemix
AMmix

2D wavetable morph oscillator.
This oscillator uses the waveformGenerator module for generating it's waveforms.
With the mix-inputs/knobs, you morph through the different waveforms.
-quant sets the amount of waveforms that will be morphed through when mix goes from minimum to maximum.
-start sets the start-position in the table when mix is at zero
-step sets the step-size through the table, skipping in-between waveforms (wrapping back to 0 when above maximum available waveforms)

For easy use, use my qtsLFO4 for controlling the mix. Connect the divide-output to the D-input (divide) of the qtsLFO4.
When using saw/ramp, set it to bipolar, as the input is wrapped up/back down again when the input is below 0 or above 64 (turning it into a triangle-shape)

sss/test

basaveload

a1
a2
a3
a4
a5
a6
a7
a8
load
save
pattern

(no description)

baseditor

table
value
1
p2
p3
p4
p5
p6
2
p8
p9
p10
p11
p12
3
p14
p15
p16
p17
p18
4
p20
p21
p22
p23
p24
5
p26
p27
p28
p29
p30
6
p32
p33
p34
p35
p36
7
p38
p39
p40
p41
p42
8
p44
p45
p46
p47
p48
9
p50
p51
p52
p53
p54
10
p56
p57
p58
p59
p60
11
p62
p63
p64
p65
p66
12
p68
p69
p70
p71
p72
13
p74
p75
p76
p77
p78
14
p80
p81
p82
p83
p84
15
p86
p87
p88
p89
p90
16
p92
p93
p94
p95
p96

table in RAM memory, direct from sliders

problem

(no controls)

(no description)

sampleloader2

table
prefix01
prefix02
prefix03
prefix04
prefix05
prefix06
prefix07
prefix08
prefix09
prefix10
prefix11
prefix12
prefix13
prefix14
prefix15
prefix16
suffix
notechannel
CCchannel
select
load
index

load table from sdcard

sss/timer

SyncPulse

trig
out
length

Generates a single pulse after a rising edge on trigger input.
The pulse-length depends on the time in-between triggers.
The length-control sets the amount of the time in-between triggers that the pulse will be high.

sss/timers

Clock2Timing

samplelength
trig
Ksamples
Seconds
Hz
Khz
basedelay
maxdelay
maxtimes

measures the time interval between triggers and converts them into several usable data

Clock2Timing2

trig
lengthpow
startrate
samples
pitch
freq
delay

Version2 of the clock2timing module
This version should take care of some alliasing issues at steady tempo while still being fast in updating at tempo changes.

sss/timing

pulselengthI

trig
length
pulse
delay

Generates a single pulse after a rising edge on trigger input. A new trigger before the pulse finishes at the output, creates a zero pulse before it goes high again for retriggering.

syncPulsDel

trig
sync
steps
out
start
stop

Generates a delayable synced pulse after a rising trigger on the trig input
The pulse-length depends on the time in-between triggers on the "sync" input, the "steps" input and the "stop" knob.
The time of the sync is multiplied with the steps to set the maximum trigger length, the "stop" knob sets the amount of that time the gate will be high.

This pulse is given after a synced delay time. The "start" knob sets a maximum of four times the "sync time"

sss/wave

play

pos
start
stop
filename
loop
size
out
end

streaming playback of a mono .wav file from sdcard (testing)

playertest

filename
trig
table

load table from sdcard

streamplay

pos
start
stop
sample
direction
pitch
wave
table
pitch

plays audio from the tablestream module

streamplayB

trig
velocity
pitch
direction
sample
wave
table

plays audio from the tablestream module

tablestream

load
filename
sample
ended
size
samples
init
fade
load
length

streaming playback of a mono .wav file from sdcard (testing)

tb/audio

mixer

left
right

Audio mixer configuration

tb/ctrl/axoc

bigknobs

out1
out2
out3
d1
d2
d3

Axoloti Control (AxoC) - large knobs control

joystick

led1
x
y
s
x
y
s

Axoloti Control (AxoC) - Joystick control

smallknobs

out1
out2
out3
d1
d2
d3

Axoloti Control (AxoC) - Small knob controls

switches

led1
led2
led3
out1
out2
out3
d1
d2
d3

Axoloti Control (AxoC) - switch control

tb/disp

print f

v
text

print object - prints frac on change, max 1/sec

print i

v
text

print object - prints integers on change, max 1/sec

tb/env

cycle ad

reset
a
d
env
end
a
d

cycling a/d env with modulation

tb/filter

lp lin

in
out
freq
reso

2-pole resonant low-pass filter (biquad)

tb/midi/ctrl

push

device
output
channel

Ableton Push controller

tb/midi/in

keyb

note
gate
gate2
velocity
releaseVelocity

Monophonic MIDI keyboard note input, gate, velocity and release velocity

tb/midi/utils

midiled

input

an object to forward midi from one device to another
note: does not handle sysex or clock

midithru

input
output
led

an object to forward midi from one device to another
note: does not handle sysex or clock

tb/script

oneliner_ik

in
out
line
c

one line script taking integer as output, and outputs float

tb/seq

automate 32b sdram

gate
reset
v
mode
trig
loop
v
clk
evt
end
size

automate events SDRAM memory

tb/seq/polyseq

note

trkIdx
stepIdx
gate
gate2
pitch
velocity
mod1
mod2
seq

Polyphonic, Polyrythmic, Polymetric sequencer
outputs notes for given step, used in conjuction with polyseq/notectrl , see help patch

notectrl

seq
track
step
gate
pitch
velocity
mod1
mod2
valid

Polyphonic, Polyrythmic, Polymetric sequencer
easy way to configure polyseq, used in conjuction with polyseq/note , see help patch

polyseq

clk
maxTracks
maxSteps
numValues

Polyphonic, Polyrythmic, Polymetric sequencer
main sequence object, holding track data.
allows multiple tracks (polyphony), each track with different lengths (polymeter) and a different clock division (polyrhythm)

the attributes, set the maximum number of steps etc, whilst the actual value used can be altered with polyseq/write, which can also be used to change the clock division.
the clock input, is for the fastest subdivision required.

polyseq/write can also be used for updating step values, and playback of sequences is done with polyseq/step and polyseq/read
for simple setup , use polyseq/notectrl with polyseq/note see help patch for details

read

trkIdx
stepIdx
valueIdx
stepValue
seq

Polyphonic, Polyrythmic, Polymetric sequencer
- read value for given step/value idx, inlets should be supplied from polyseq/track

track

trkIdx
trkIdx
stepIdx
stepTrig
seq

Polyphonic, Polyrythmic, Polymetric sequencer
outputs the current step for a give track and pulse for each step change, connect to polyseq/read or polyseq/note

write

trkIdx
trkSteps
trkClkDiv
trkSet
stepIdx
valueIdx
stepValue
stepSet
trkIdx
trkSteps
trkClkDiv
stepIdx
valueIdx
stepValue
seq

Polyphonic, Polyrythmic, Polymetric sequencer
allows setting of track parameters (number of steps and clock division) which allow polyryhtm and polymeters,
also can be used to set sequencer data
(stepSet , trkSet are used to change values)

tb/wave

wavetable load fn

filename
trig
loaded
waves
size

load 16bit pwm wavetable raw (no header) of single cycle waves.
use with wave/wavetable play
note: you can just load 1 wave and use as wave oscillator

filename is supplied as inlet, trig to load , check outlet to see if loaded successfully

wavetable load

waves
size
filename

load 16bit pwm wavetable raw (no header) of single cycle waves.
use with wave/wavetable play
note: you can just load 1 wave and use as wave oscillator

wavetable play

pitch
windex
freq
o
table
pitch
windex
xfade

play a wavetable, which has been loaded by wave/wavetable load/
crossfade will fade beween waves. (~ double cpu load).
note: you can use as a single wave oscillator by just loadng 1 wave

tiar/8bit

gen t

reset
offset
wave
code
clkDiv

(no description)

tiar/ADD16

amp

a1
a2
a3
a4
a5
a6
a7
a8
a9
a10
a11
a12
a13
a14
a15
a16

(no description)

amp

sl16

(no description)

decay

trig
ctlAmp
d1
d2
d3
d4
d5
d6
d7
d8
d9
d10
d11
d12
d13
d14
d15
d16

(no description)

decay

trig
ctlAmp
sl16s

(no description)

osc

out
ctlAmp
ctlPch

ADD16 osc, needs to connect to a ADD16 controller.
Experimental.

pitch

pitch
pitch

(no description)

swizzle

alphaAmp
alphaPch
ctlAmp
ctlPch

(no description)

tiar/artic

sentence1

step
maxStep
step

(no description)

tiar/conv

A_DtoADS

AD
A
D
S

A/D to ADS for simplified panel envelopes

O2 to SR 59

x1
x0
out

59 tap /2 decimator (downsampler)

O2 to SR Bellanger

x1
x0
out

19 tap /2 decimator (downsampler)

SR to O2 6

in
y1
y0

x2 interpolator (upsampler)

f_to_c

i
o
prefix

(no description)

f_to_c4

i0
i1
i2
i3
o

(no description)

i_to_c

i
o
prefix

(no description)

i_to_f

i
o

(no description)

pack_k_to_s

k0
k1
k2
k3
k4
k5
k6
k7
k8
k9
k10
k11
k12
k13
k14
k15
packed

(no description)

unpack_s_to_k

packed
k0
k1
k2
k3
k4
k5
k6
k7
k8
k9
k10
k11
k12
k13
k14
k15

(no description)

tiar/ctrl

20knobs

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
sw1
sw2
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20


tiar/delay

O2 SR read

pitch
out
delayname
pitch
offset

delay read tuned for O2write.

O2write sd

x1
x0
size

(no description)

O2write

x1
x0
size

(no description)

Z-1

in
out

(no description)

Z-2

in
out

(no description)

Z-3

in
out

(no description)

bridge

in
theta
out
delayName
theta
pos

simple delay bridge with ins and outs
delay coupling operator

bridge

theta
delayNameA
delayNameB
invA
invB
theta
posA
posB

simple delay bridge without lowpass filters
delay coupling operator

bridge

theta
LPA
attenA
LPB
attenB
delayNameA
delayNameB
invA
invB
theta
posA
LPA
attenA
posB
LPB
attenB

delay coupling operator

fixedDelay

in
out
delay

(no description)

inject

in
gain
delayName
gain
pos

injects a signal into a delay line

over1tap

in
d1
out1
size
Over
Ctrl

A single tap 32bit delay line with internal oversampling to limit unwanted interpolation filtering.
Useful for choruses

over3tap

in
d1
d2
d3
out1
out2
out3
size
Over
Ctrl

A three tap 32bit delay line with internal oversampling to limit unwanted interpolation filtering.
Useful for choruses

over5tap

in
d1
d2
d3
d4
d5
out1
out2
out3
out4
out5
size
Over

A five tap 32bit delay line with internal oversampling to limit unwanted interpolation filtering.
Useful for choruses

read tuned

pitch
out
delayname
pitch
offset

delay read tuned.

tiar/dev

EvOsc

pitch
Rand
out
pitch

(no description)

InDev

vib0
vib1
vib2
out
A
R1
L
R2

(no description)

InDev2

vib0
vib1
vib2
out
A
R1
L
R2

(no description)

InDev3

vib0
vib1
vib2
out
A
R1
L
R2

(no description)

InDev4

vib0
vib1
vib2
out
A
R1
L
R2

(no description)

InDev5

vib0
vib1
vib2
out
A
R1
L
R2

(no description)

InDev6

vib0
vib1
vib2
outA
outB
L2A
A2A
R2A
L4A
A4A
R4A
L8A
A8A
R8A
L2B
D2B
L4B
D4B
L8B
D8B

(no description)

InDev7

vib0
vib1
vib2
AL A
AH A
R A
D B
outA
outB
L2 A
L4 A
L8 A
AL A
AH A
L2 B
L4 B

(no description)

InDev8

vib0
vib1
vib2
L2 A
L4 A
L8 A
AL A
AH A
R A
Rev L A
Rev R A
L2 B
L4 B
D B
outA
outB

(no description)

O2 multimode svf m

x1
x0
pitch
reso
hp1
hp0
bp1
bp0
lp1
lp0
pitch
reso

multimode filter, state-variable type, modulation inputs

O4DP HardClip

in3
in2
in1
in0
out3
out2
out1
out0
InGain
OutGain

4x oversampled HardClip with Differentiated Polynomial Anti aliasing.

O4_to_SR

x3
x2
x1
x0
out

/4 decimator (downsampler)

SR to O2 6

in
y1
y0

6 tap x2 interpolator (upsampler)

SR to O4 6

in
y3
y2
y1
y0

x4 interpolator (upsampler)

SelfPMCple

pitch1
pitch2
fb1
fb2
fb21
fb12
y1
y2
pitch1
pitch2

(no description)

4 self PM oscs

pitch
fbMod
gain
wave0
wave1
wave2
wave3
pitch
fb1
fb0
detune
fb

Self PM oscillator (Very low cost)
Generates a band controlled sawtooth like wave form.
A square like wave form is obtained with negative kFb (negative kFb triggers
kFb by squared signal).
fb0 and fb1 controls the range of the feedback depth.
fbMod modulates the feedback in the range [fb0 fb1]

phasorSelect

note
C
Cs
D
Ds
E
F
Fs
G
Gs
A
As
B
out
note
oct

(no description)

tiar/disp

kscope 128 b sl

in
subSample
scope

slow positive control rate signal oscilloscope (time domain), showing 128 consecutive samples or sub samples.

scope

in
scope

bipolar audio rate signal oscilloscope (time domain), showing 128 consecutive samples after the signal becomes positive.

wf12_display

wf12
wf12

wf_12 waveform display for use with the 12Steps series of oscillators (tiar/osc)

wf16_display

wf16
update
wf16

wf_16 waveform display for use with the 16Steps series of oscillators (tiar/osc)

tiar/dist

DP inv2

in
factor
out
factor

1/x2 distortion with Differentiated Polynomial Anti aliasing.

DP sqrt

in
negSlope
out
negSlope
negLin

Square root with Differentiated Polynomial Anti aliasing.

DP type IIA

in
factor
offset
out
factor
offset

type IIA distortion with Differentiated Rational Function Anti aliasing.

DP type IIB

in
factor
offset
out
factor
offset

type IIB distortion by Differentiated Rational Function Anti aliasing.

DPHardClip

in
out
InGain
OutGain

HardClip with Differentiated Polynomial Anti aliasing.
Low CPU (~620 cycles) and acceptable aliasing.

DPSoftClip

in
out
InGain
OutGain

SoftClip with Differentiated Polynomial Anti aliasing.
Low CPU (~740 cycles) and acceptable aliasing.

FractalRing

x
y
out

FractalRing.
8x oversampling with triangular window decimation.

FractalRingSgnX

x
y
out

FractalRing.
8x oversampling with triangular window decimation.

O2DPHardClip

in1
in0
out1
out0
InGain
OutGain

HardClip with Differentiated Polynomial Anti aliasing.

O2DPSoftClip

in1
in0
out1
out0
InGain
OutGain

x2 oversampled SoftClip with Differentiated Polynomial Anti aliasing.

fractalI

in1
in0
out1
out0

FractalI.
8x oversampling with triangular window decimation.

O2fractalII

in1
in0
out1
out0

O2 Fractal II.
For use with O2 objects (oversampling x2 using interleaved audio signal pairs).
8x internal oversampling with triangular window decimation.

O2fractalIII

in1
in0
out1
out0

Fractal III. Bit pairs inversion
For use with O2 objects (oversampling x2 using interleaved audio signal pairs).
8x internal oversampling with triangular window decimation.

O4fractalII

in3
in2
in1
in0
out3
out2
out1
out0

O4 Fractal II.
For use with O4 objects (oversampling x4 using interleaved audio signal pairs).
8x internal oversampling with triangular window decimation.

SatPoly

in
out
a
b
c
d
e
f

SoftClip with Differentiated Polynomial Anti aliasing.

SqrtMix4

w
x
y
z
out
Gw
Gx
Gy
Gz

A non linear "mixer".
An input alone will not be distorted. Distortion occurs only when many
inputs are active.
The output is the square root of the sum of the input squares.
Note: the "square" and "squaroots" are "signed" i.e for negative values they
are -x*x and -sqrt(-x*x).

SyncAlias

in
pitch slave
pitch master
out
pitch slave
pitch master

Advanced version with built-in Master oscillator. See help patch for usage !!

alias9octs

in
out

9 octaves aliaser

compand

in
out

Compander (inverse function of the "expand" object).
Differentiated Anti aliasing.

expand

in
out

Expander (inverse function of the "compand" object).
Differentiated Anti aliasing.

fold

in
out
gain

Wave folder distortion.
Differentiated Anti aliasing.

fraXOR

w
x
y
z
out

fraXOR. 4 inputs XOR distortion
8x oversampling with triangular window decimation.

fractalI

in
out
offset

FractalI.
8x oversampling with triangular window decimation.

fractalII

in
out

Fractal II.
8x oversampling with triangular window decimation.

fractalIII

in
out

Fractal III. Bit pairs inversion
8x oversampling with triangular window decimation

fractalIV

in
out

Fractal IV. x^((x*3)>>3) (experim1)
8x oversampling with triangular window decimation

fractalV

in
out

Fractal V. (experim3)
8x oversampling with triangular window decimation

fractalVI

in
out

Fractal VI.
8x oversampling with triangular window decimation

modulo

in
out
gain

Modulo wave folder.
Differentiated Anti aliasing.

oldFloat

in
out
resolution

A quantifier that simulates limited accuracy float formats as found on early digital synthesizers. Not anti aliased.

rectify

in
out

Full wave rectifier.
Differentiated Anti aliasing.

sigmoid

in
out
InGain
OutGain

Sigmoid. Differentiated Anti aliasing.

smoothSat

in
out

(no description)

squares

in
out
gain

Squares wave distortion.
Differentiated Anti aliasing.

step

in
out

Step (infinite gain saturation).
Differentiated Anti aliasing.

swingVCA

in
vc
out
comp

Low fi Pseudo VCA as found in some drum machines

tiar/env

rms meter

in
pitch
rms
pitch

rms meter

tiar/FDN

A3

in0
in1
in2
out0
out1
out2

3x3 Householder reflection matrix

A4

in0
in1
in2
in3
out0
out1
out2
out3

4x4 Householder reflection matrix

A5

in0
in1
in2
in3
in4
out0
out1
out2
out3
out4

5x5 Householder reflection matrix

A6

in0
in1
in2
in3
in4
in5
out0
out1
out2
out3
out4
out5

6x6 Householder reflection matrix

A7

in0
in1
in2
in3
in4
in5
in6
out0
out1
out2
out3
out4
out5
out6

7x7 Householder reflection matrix

A8

in0
in1
in2
in3
in4
in5
in6
in7
out0
out1
out2
out3
out4
out5
out6
out7

8x8 Householder reflection matrix

AH6

in0
in1
in2
in3
in4
in5
out0
out1
out2
out3
out4
out5

6x6 Almost Hadamard matrix

AH7

in0
in1
in2
in3
in4
in5
in6
out0
out1
out2
out3
out4
out5
out6

7x7 Almost Hadamard matrix

D10

in0
in1
in2
in3
in4
in5
in6
in7
in8
in9
out0
out1
out2
out3
out4
out5
out6
out7
out8
out9

10x10 dispersion matrix
This matrix is symetrical

D4

in0
in1
in2
in3
out0
out1
out2
out3

4x4 dispersion matrix

D6

in0
in1
in2
in3
in4
in5
out0
out1
out2
out3
out4
out5

6x6 Rochebois dispertion matrix

D8

in0
in1
in2
in3
in4
in5
in6
in7
out0
out1
out2
out3
out4
out5
out6
out7

8x8 dispersion matrix
This matrix is anti symetrical

H4

in0
in1
in2
in3
out0
out1
out2
out3

4x4 fixed Hadamard orthogonal matrix

H8

in0
in1
in2
in3
in4
in5
in6
in7
out0
out1
out2
out3
out4
out5
out6
out7

8x8 Hadamard reflection matrix

orth4

in0
in1
in2
in3
out0
out1
out2
out3
rotations

4x4 fixed orthogonal matrix

orth5

in0
in1
in2
in3
in4
out0
out1
out2
out3
out4
rotations

5x5 fixed orthogonal matrix

orth6

in0
in1
in2
in3
in4
in5
out0
out1
out2
out3
out4
out5
rotations

6x6 fixed orthogonal matrix

rot

r
i
r
i
theta

cos sin rotation

tiar/filter

APC3

in
freq1
freq2
freq3
fb
out

(no description)

APC4

in
freq1
freq2
freq3
freq4
fb
out

(no description)

APC5

in
freq1
freq2
freq3
freq4
freq5
fb
out

(no description)

APC5ov

in
freq1
freq2
freq3
freq4
freq5
fb
out

(no description)

APC7

in
freq1
freq2
freq3
freq4
freq5
freq6
freq7
fb
out

(no description)

APChain

in
freq
g2
out
order
freq
g2

(no description)

Box

in
LP
HP
fc

(no description)

Butt10

in
out
fc

(no description)

MgExp

in
pitch
reso
out
pitch
reso

(no description)

O2ZDF SVF 1

x1
x0
pitch
reso
lp1
lp0
hp1
hp0
bp1
bp0
pitch
Q

(no description)

O2allpass

in1
in0
out1
out0
delay
g

O2 allpass reverb section

O2hp1

x1
x0
y1
y0
freq

1st order hipass filter x2 oversampled

SK35

x
pitch
reso
lp12
pitch
Q

(no description)

Smaog

in
pitch
reso
_24dB
_18dB
_12dB
_6dB
pitch
reso

(no description)

ZDF HP

x
pitch
reso
hp12
lp12
bp6
pitch
Q

(no description)

ZDF SK35

x
pitch
reso
lp12
pitch
Q

(no description)

ZDF SVF 1

x
pitch
reso
lp12
hp12
bp6
pitch
Q

(no description)

ZDF SVF 2

in
pitch
pchMod
reso
lp12
hp12
bp6
pitch
Q

(no description)

allpass

in
out
delay
g

allpass reverb section (32 bit internal buffer)

comb

in
delay
fb
out

(no description)

dis lphp1

in
freqUp
freqDown
lp
hp
freqUp
freqDown
type
bias

Dissymetric 1st order filter
type = 0: rate switched on output sign (à la Salino)
type = 1: rate switched on rising/decaying (à la Ralond)
Used with a square wave input it models waveshapers found in early string machines.

lphp1

in
pitch
lp
hp
pitch

1st order lowpass filter and high pass filter.
Based on scale and square discretization (better HP filter).

string1

in
out
Preset

(no description)

tiar/fsr72

ctrl1

LED
calibrate
press
F1
F2
F3
F4
F5
L0
L1
LNoteOn
vf
tempco

Controler for FSR72 custom hardware setup.

tiar/fx

APNoodle

x
v
y
u
g

AllPass Noodle

pitchfifth

in
out
size

(no description)

pitchoct

in
out
size

(no description)

pitchX3

in
out
size

(no description)

RanDelay

in
left
right
NBD
LENGTH
minRate
maxRate

(no description)

TripleVibrato

in
outlet_1
outlet_2
outlet_3
depth_1
sine_1
depth_2
sine_2
depth_3
sine_3

A simple stereo chorus, based on two out-of-phase sine-wave modulated linear interpolating delayline readers.

chor81

in0
in1
rate
out0
out1
depth
rate

(no description)

nestVerb

inlet_1
outlet_1
outlet_2

(no description)

tiar/gain

DCA

in
gain
out

De clicked "Digital" Controlled Amplifier:
multiplies "in" and "gain" inputs.
The gain input is NOT INTERPOLATED, DCA is "anti "clicked by updating gain at zero crossings of the input.
This allows very sharp attack transients without additional clicks.

DCAsm

in
gain
out

De clicked and smooth "Digital" Controlled Amplifier:
multiplies "in" and "gain" inputs.
The gain input is shortly interpolated, DCA is "anti "clicked by updating gain at zero crossings of the input.
The update is smoothed by two fast filters.
This allows very sharp attack transients without additional clicks.

DCAsm1i2o

in
gain1
gain2
out1
out2

De clicked and smooth "Digital" Controlled Amplifier:
multiplies "in" and "gain" inputs.
The gain input is shortly interpolated, DCA is "anti "clicked by updating gain at zero crossings of the input.
The update is smoothed by two fast filters.
This allows very sharp attack transients without additional clicks.

O2vca

x1
x0
v
y1
y0

(no description)

dca3

in1
g1
in2
g2
in3
g3
out

3 input dca

limiter st

inL
inR
gain
outL
outR
unprocL
unprocR
active

(no description)

limiter st

inL
inR
gain
outL
outR
active

(no description)

limiter

in
gain
out
unproc
active

(no description)

limiter

in
gain
out
active

(no description)

vca3

in1
g1
in2
g2
in3
g3
out

3 input vca

tiar/gpio

pwm t3 axoCtrl

pb0
pb1
pb8
pb9

PWM output using hardware timer 3 (97.65 Hz)

tiar/HW

Ctrl2_4051

o00
o01
o02
o03
o04
o05
o06
o07
o08
o09
o10
o11
o12
o13
o14
o15
Z0
Z1
S0
S1
S2

control object for 2 4051
include 'smart' filter

select GPIOs
S0 low
S1
S2 high

Input GPIOs
Z0 from first 4051
Z1 from last 4051

Ctrl3_4051

o00
o01
o02
o03
o04
o05
o06
o07
o08
o09
o10
o11
o12
o13
o14
o15
o16
o17
o18
o19
o20
o21
o22
o23
Z0
Z1
Z2
S0
S1
S2

control object for 3 4051
include 'smart' filter

select GPIOs
S0 low
S1
S2 high

Input GPIOs
Z0 from first 4051
Z1
Z2 from last 4051

Ctrl3_4067_mv

Z0
Z1
Z2
S0
S1
S2
S3

control object for 3 4051
include 'smart' filter

select GPIOs
S0 low
S1
S2
S3 high

Input GPIOs
Z0 from first 4067
Z1
Z2 from last 4067

Ctrl4_4051

o00
o01
o02
o03
o04
o05
o06
o07
o08
o09
o10
o11
o12
o13
o14
o15
o16
o17
o18
o19
o20
o21
o22
o23
o24
o25
o26
o27
o28
o29
o30
o31
Z0
Z1
Z2
Z3
S0
S1
S2

control object for 4 4051
include 'smart' filter

select GPIOs
S0 low
S1
S2 high

Input GPIOs
Z0 from first 4051
Z1
Z2
Z3 from last 4051

OLED128x32_2lines

line1
line2
type
I2CADDR

Experimental 2 text lines OLED 128x32 SSD1306 or SH1106 on I2C. PB8=SCL PB9=SDA
needs a single factory/gpio/i2c/config object

OLED128x64

line1
line2
line3
line4
mode
scope
type
I2CADDR

OLED 128x64 SSD1306 on I2C. PB8=SCL PB9=SDA

OLED128x64Dbl

line1A
line2A
line3A
line4A
modeA
line1B
line2B
line3B
line4B
modeB
scopeA
scopeB
type

Double OLED 128x64 SSD1306 or SH1106 on I2C. PB8=SCL PB9=SDA

OLED128x64big

line1
line2
line3
line4
line5
line6
line7
line8
mode
disable
scope
type
I2CADDR

OLED 128x64 SSD1306 or SH1106 os SSD1309 on I2C. PB8=SCL PB9=SDA
needs a single foactory/gpio/i2c/config object

OLED128x64bigNoScope

line1
line2
line3
line4
line5
line6
line7
line8
disable
type
I2CADDR

OLED 128x64 SSD1306 or SH1106 os SSD1309 on I2C. PB8=SCL PB9=SDA
needs a single foactory/gpio/i2c/config object

OLED128x64lite

line1
scope
type
I2CADDR

OLED 128x64 SSD1306 or SH1106 on I2C. PB8=SCL PB9=SDA
needs a single foactory/gpio/i2c/config object

OLED128x64nice

line1
line2
line3
line4
mode
disable
scope
type
I2CADDR

OLED 128x64 SSD1306 or SH1106 on I2C. PB8=SCL PB9=SDA
needs a single foactory/gpio/i2c/config object

OLED128x64niceWOScope

line1
line2
line3
line4
disable
type
I2CADDR

OLED 128x64 SSD1306 or SH1106 on I2C. PB8=SCL PB9=SDA
needs a single factory/gpio/i2c/config object

bar

in
out

bar for OLED

bardbl

in1
in2
out

double bar for OLED

scopeForOLED

in

bipolar audio rate signal oscilloscope (time domain), showing 128 consecutive samples after the signal becomes positive.

scopeOLED_4

in
pitch
info
title

(no description)

strbar

in
out
prefix

string and bar for OLED

strbardbl

in1
in2
out
prefix

string and double bar for OLED

tiar/kfilter

LPRiseDecay

in
out
Rise
Decay

A first order LP filter with distinct rising and falling rates.

hyst

in
out
level1
level0

(no description)

lp1m

in
freq
out
freq

1st order lowpass filter, control and inlet rate

median

in
med
gch
N

(no description)

tiar/kfunc

Modulo

in
factor
modulo
integer
factor
mirror

unipolar modulo function
Example:
param_factor = 2
in modulo integ
0 -> 0 0
31 -> 62 0
32 -> 0 1
63 -> 62 1

b16b

in
out
p0
p1
p2
p3
p4
p5
p6
p7
p8
p9
p10
p11
p12
p13
p14
p15
p16

A bipolar k rate function defined by 16 segments.

b16u

in
out
p0
p1
p2
p3
p4
p5
p6
p7
p8
p9
p10
p11
p12
p13
p14
p15
p16

A bipolar k rate function defined by 16 segments.

b2b

in
out
p0
p1
p2

A bipolar input, bipolar output k rate function defined by 2 segments.

b2u

in
out
p0
p1
p2

A bipolar input, unipolar output k rate function defined by 2 segments.

b4b

in
out
p0
p1
p2
p3
p4

A bipolar input, bipolar output k rate function defined by 4 segments.

b4u

in
out
p0
p1
p2
p3
p4

A bipolar input, unipolar output k rate function defined by 4 segments.

b8b

in
out
p0
p1
p2
p3
p4
p5
p6
p7
p8

A bipolar input, bipolar output k rate function defined by 8 segments.

b8u

in
out
p0
p1
p2
p3
p4
p5
p6
p7
p8

A bipolar input, unipolar output k rate function defined by 8 segments.

bilin33

x
y
out
table

(no description)

bilin55

x
y
out
table

(no description)

fraXOR

in
out
G1
G2

a k rate fractal function generator based on XOR functions.

fraXOR3

in0
in1
in2
out
G1
G2

a k rate fractal function generator based on XOR functions.

oldFloat

in
out
resolution

A quantifier that simulates old float formats with limited accuracy as found on early digital synthesizers.

quant

in
quant
out
quant

A k rate quantizer.
The quant parameter and inlet (added together) correspond to the quant step.
The quantization is to the "nearest quantization steps".
Quantization is centered on zero.

Example for quant = 4.00
Input Output
0 0
-1.9 0
+1.9 0
+2.1 4
+5.9 4
+6.1 8
-2.1 -4
-5.9 -4
-6.1 -8

seg16disc

in
offset
out
values

(no description)

seg16disc2

in
offset
outA
outB
valuesA
valuesB

(no description)

seg16disc3

in
offset
outA
outB
outC
valuesA
valuesB
valuesC

(no description)

smoothSemiToneQuant

in
outlet_1

(no description)

u16b

in
out
p0
p1
p2
p3
p4
p5
p6
p7
p8
p9
p10
p11
p12
p13
p14
p15
p16

A unipolar k rate function defined by 16 segments.
Use factor/conv/unipolar2bipolar and bipolar2unipolar if you need bipolar functions.
It can be used to shape saw LFOs, enveloppes and many other control signals such as pitch (if you need to control a parameter depending on pitch)...

u16u

in
out
p0
p1
p2
p3
p4
p5
p6
p7
p8
p9
p10
p11
p12
p13
p14
p15
p16

A unipolar k rate function defined by 16 segments.
Use factor/conv/unipolar2bipolar and bipolar2unipolar if you need bipolar functions.
It can be used to shape saw LFOs, enveloppes and many other control signals such as pitch (if you need to control a parameter depending on pitch)...

u2b

in
out
p0
p1
p2

A unipolar input, bipolar output k rate function defined by 2 segments.

u2u

in
out
p0
p1
p2

A unipolar k rate function defined by 2 segments.

u4b

in
out
p0
p1
p2
p3
p4

A unipolar input, bipolar output k rate function defined by 4 segments.

u4u

in
out
p0
p1
p2
p3
p4

A unipolar k rate function defined by 4 segments.
It can be used to shape saw LFOs, enveloppes and many other control signals such as pitch (if you need to control a parameter depending on pitch)...

u8b

in
out
p0
p1
p2
p3
p4
p5
p6
p7
p8

A unipolar input, bipolar output k rate function defined by 8 segments.

u8u

in
out
p0
p1
p2
p3
p4
p5
p6
p7
p8

A unipolar k rate function defined by 8 segments.
Use factor/conv/unipolar2bipolar and bipolar2unipolar if you need bipolar functions.
It can be used to shape saw LFOs, enveloppes and many other control signals such as pitch (if you need to control a parameter depending on pitch)...

tiar/lfo

555LFO

out
rate
pos
neg

(no description)

quintphase

pitch
phi 0
phi 72
phi 144
phi 216
phi 288
pitch

72° separated outputs

quintphase vlfo

phi 0
phi 72
phi 144
phi 216
phi 288
cycle

Very Low Frequency Oscillator
cycle is the time of a cycle in seconds (up to 64s)
72° separated outputs.

ramp

rate
start
reset
out

(no description)

risset5

pitch
env1
ramp1
env2
ramp2
env3
ramp3
env4
ramp4
env5
ramp5
rampType
pitch
v1
v0

5 output ramps and enveloppes for Risset type effects

tri_p

pitch
phase
out1
out2
pitch

Dual phase triangle LFO, positive outpuit

triphase

pitch
phi 0
phi 120
phi 240
pitch

120° separated outputs

triphase_lfou

pitch
phi 0
phi 120
phi 240
pitch

120° separated outputs

triphase_vlfo

phi 0
phi 120
phi 240
cycle

Very Low Frequency Oscillator
cycle is the time of a cycle in seconds (up to 64s)
120° separated outputs.

triphase_vlfou

phi 0
phi 120
phi 240
cycle

Very Low Frequency Oscillator
cycle is the time of a cycle in seconds (up to 64s)
120° separated outputs.

tiar/logic

BCDEncoder

0
1
2
3
4
5
6
7
8
9
out
gate
out2
gate2
d1wanted
d2wanted
v

display integer

rising

in
trig

Generates a trigger pulse on rising front.

tiar/math

DP *

a
b
result

DP AA ring modulator

O2>>

x1
x0
y1
y0
shift

attenuates an oversampled signal with "shift" times 6dB

O2<<

x1
x0
y1
y0
shift

(no description)

O2gain

x1
x0
y1
y0
amp

amplify up to 16 times not saturated!

add3

in1
in2
in3
out

3 input krate adder

add4

in1
in2
in3
in4
out

4 input krate adder

add5

in1
in2
in3
in4
in5
out

5 input krate adder

add6

in1
in2
in3
in4
in5
in6
out

6 input krate adder

gainNoSat

in
out
amp

amplify up to 16 times (not saturated)

mul3

in1
in2
in3
mul
out1
out2
out3

3 input krate multiplier

mul4

in1
in2
in3
in4
mul
out1
out2
out3
out4

4 input krate multiplier

mul5

in1
in2
in3
in4
in5
mul
out1
out2
out3
out4
out5

5 input krate multiplier

mul6

in1
in2
in3
in4
in5
in6
mul
out1
out2
out3
out4
out5

6 input krate multiplier

quint *c

in1
in2
in3
in4
in5
out1
out2
out3
out4
out5
amp

Attenuates three inputs with a constant value

signed *c

in
out
amp

Multiply (attenuate) with a signed constant value

signed *c

in
out
amp

Multiply (attenuate) with a signed constant value

triple *c

in1
in2
in3
out1
out2
out3
amp

Attenuates three inputs with a constant value

tiar/midi/in

keyb zone lru

note
gate
gate2
velocity
releaseVelocity
startNote
endNote

Monophonic MIDI keyboard note input, gate, velocity and release velocity, least recently used (including startNote).

mpe sbrd rise

note
gate
gate2
velocity
releaseVelocity
pressure
bend
timbre
initTimbre
pitch
initTimbreMode

Controller input for MIDI Polyphonic Expression
- corrected intempestive bend range change on seaboard Rise octave change
- init timbre outlet: timbre on note on, can be used for relative slide control

procCC74

device

MPE: moves the "pre-noteOn" CC74 to first "post-noteOn".
Use it with "tiar/midi/mpe sbrd rise" (initTimbreMode:post noteOn) in a patcher/patch with midi selector set to internal device set to the corresponding port.

tiar/mix

mix 1 s

bus_in
in1
out
gain1

1 input s-rate signed mixer

mix2cs

in1
in2
out
const
gain1
gain2

const + 2 input k-rate signed mixer

mix 2 s

bus_in
in1
in2
out
gain1
gain2

2 input s-rate signed mixer

mix3cs

in1
in2
in3
out
const
gain1
gain2
gain3

const + 2 input k-rate signed mixer

mix 3 s

bus_in
in1
in2
in3
out
gain1
gain2
gain3

3 input s-rate signed mixer

mix 4 s

bus_in
in1
in2
in3
in4
out
gain1
gain2
gain3
gain4

4 input s-rate signed mixer

mix 5 s

bus_in
in1
in2
in3
in4
in5
out
gain1
gain2
gain3
gain4
gain5

5 input s-rate signed mixer

mix 6 s

bus_in
in1
in2
in3
in4
in5
in6
out
gain1
gain2
gain3
gain4
gain5
gain6

6 input s-rate signed mixer

mix 7 s

bus_in
in1
in2
in3
in4
in5
in6
in7
out
gain1
gain2
gain3
gain4
gain5
gain6
gain7

7 input s-rate signed mixer

mix 8 s

bus_in
in1
in2
in3
in4
in5
in6
in7
in8
out
gain1
gain2
gain3
gain4
gain5
gain6
gain7
gain8

8 input s-rate signed mixer

mix1cs

in1
out
const
gain1

const + 1 input k-rate signed mixer

tiar/mixNoSat

mix 1 s

bus_in
in1
out
gain1

1 input s-rate signed mixer

mix 2 s

bus_in
in1
in2
out
gain1
gain2

2 input s-rate signed mixer

mix 3 s

bus_in
in1
in2
in3
out
gain1
gain2
gain3

3 input s-rate signed mixer

mix 4 s

bus_in
in1
in2
in3
in4
out
gain1
gain2
gain3
gain4

4 input s-rate signed mixer

mix 5 s

bus_in
in1
in2
in3
in4
in5
out
gain1
gain2
gain3
gain4
gain5

5 input s-rate signed mixer

mix 6 s

bus_in
in1
in2
in3
in4
in5
in6
out
gain1
gain2
gain3
gain4
gain5
gain6

6 input s-rate signed mixer

mix 7 s

bus_in
in1
in2
in3
in4
in5
in6
in7
out
gain1
gain2
gain3
gain4
gain5
gain6
gain7

7 input s-rate signed mixer

mix 8 s

bus_in
in1
in2
in3
in4
in5
in6
in7
in8
out
gain1
gain2
gain3
gain4
gain5
gain6
gain7
gain8

8 input s-rate signed mixer

tiar/mux

fm4op_alg

op1i
op2i
op3i
op4i
algorithm
op1o
op2o
op3o
out

Based on drj/Are Leistad drj/switch/fm4op_alg

- FM 4 op algorithm router ala TX81Z, WITHOUT feedback path on all leaf operators
- Algorithm selected by integer input starting at zero
- no output saturation (one can use a separate antialiased saturator)

sdemux1_2

i
s
o0
o1

Smooth demultiplexer. Works like multiple cross fades.

sdemux1_4

i
s
o0
o1
o2
o3

Smooth demultiplexer. Works like multiple cross fades.

smux4_1

i0
i1
i2
i3
s
o

Smooth multiplexer. Works like multiple cross fades.

smux4_1dis

i0
i1
i2
i3
s
o
dis0
dis1
dis2
dis3

Smooth multiplexer. Works like multiple cross fades. dis0 to dis3 can be used to disable unused objects (CPU optimisation).

smux4_1k

i0
i1
i2
i3
s
o

Smooth multiplexer. Works like multiple cross fades.

smux8_1

i0
i1
i2
i3
i4
i5
i6
i7
s
o

Smooth multiplexer. Works like multiple cross fades.

smux8_1

i0
i1
i2
i3
i4
i5
i6
i7
s
o
dis0
dis1
dis2
dis3
dis4
dis5
dis6
dis7

Smooth multiplexer. Works like multiple cross fades. dis0 to dis7 can be used to disable unused objects (CPU optimisation).

tiar/mv

TaperBVolToLin

mv
start
nb
order

(no description)

get1

o00
mv
num

gets a value from an mv (multiple value object)

sl16s

h1
h2
h3
h4
h5
h6
h7
h8
h9
h10
h11
h12
h13
h14
h15
h16

(no description)

sl16u

h1
h2
h3
h4
h5
h6
h7
h8
h9
h10
h11
h12
h13
h14
h15
h16

(no description)

vbar16

mv
start
order
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15

displays positive k-rate signals

tiar/noise

Geiger

density
out
density

pseudo gaussian distributed (white) noise
Range -64..64

Geiger2

density
out
density

(no description)

colvet

pitch
randomness
out
pitch
randomness

(no description)

crachin

randCycle
cycle
nbSeeds
out
randCycle
cycle
nbSeeds

(no description)

cymb

newSeed
out

(no description)

cymb2

newSeed
out

(no description)

forbac m

cycle
out
cycle
offset
jitter
invert

Modulable Forward Backward noise generator

gnoise

period
detune
jitter
slide
out
period
detune
jitter
slide

(no description)

noiseSR

out

(no description)

noisqr

newSeed
ring
nbOsc

(no description)

pink9octs

out

pink noise

radio

spectrum
out
noisiness
spectrum

(no description)

rain

out

(no description)

randLP

in
L
H

(no description)

scrith

bright
out
bright

(no description)

sigmo

freq
width
out
freq
width

(no description)

sinseq

pitch
out
pitch

(no description)

ssmul

out

(no description)

trrum

out

(no description)

velvet

pitch
randomness
out
pitch
randomness

(no description)

wind

out

(no description)

wobb

out

(no description)

wobbox

density
out
density

(no description)

xor5

out

(no description)

tiar/osc

6coseg m

pitch
R0
R1
R2
l0
l1
l2
l3
l4
l5
wave
pitch

(no description)

6coseg

pitch
wave
pitch
R0
R1
R2
l0
l1
l2
l3
l4
l5

(no description)

CosCosAM

pitch
pForm
mod
out
pitch
pForm

(no description)

DPtrisaw

pitch
sym
wave
update
pitch
sym

aliased limited triangle - sawtooth osc

DevilSync

pitch slave
pitch master
out
pitch slave
pitch master

Advanced version with built-in Master oscillator. See help patch for usage !!

KWSync.axo

pitch slave
pitch master
out
pitch slave
pitch master

Advanced version with built-in Master oscillator. See help patch for usage !!

O2sine

pitch
y1
y0
pitch

x2 oversampled sine wave oscillator

Qsc

pitch
res
brill
out
Qres
pitch
res
brill

(no description)

Wave3b

pitch
m
mEnv
wave
pitch
I1
I0

Diff polynomial Wavetable with phase modulation.
Experimental.
Note:
- hard coded pre integrated table (see Local Data)
- optimizations (more or less dirty)
- should be oversampled x2 or x4
- tried 2nd order with 32bits ->KO

coseg sqr

pitch
brill
dissym
wave
pitch
brill
dissym

(no description)

fractalRing

in
out

FractalI.
8x oversampling with triangular window decimation.

fractum

pitch
rate
wave
type
pitch
rate

(no description)

noisin

pitch
noise
amp
wave
pitch
noise
amp

noisy sine wave oscillator

saw80

pitch
HP
out
pitch
HP
pulse

CS80ish sawtooth with its distinctive glitch

scriii

pitch
out
pitch

(no description)

sinsaw

pitch
brill
wave
pitch
brill

(no description)

spectral

pitch
seed
wave
pitch

spectral oscillator loosely inspired by the nord modular spectral oscillator.
Basically it is a pseudo random generator with hard sync.
A good oscillator for clavinet type of sounds.

Aliasing limitation by box filtering (average over one sample).

spectral2

pitch
seed
type
wave
pitch

spectral oscillator loosely inspired by the nord modular spectral oscillator.
second order aliasing limitation (triangle window)
types:
0 all
1 squarish
2 33%
3 25%
4 20%
5 1/6
6 1/7

supersaw

pitch
detune
wave
algo
pitch
detune

seven detuned saw wave oscillators
compatible with the factory osc/supersaw
- Lower and constant CPU cycles
- aliasing limitation by Differentiated Polynomials.

tiar/oscBnk

BLITstringFilter1

vib0
vib1
vib2
out
A
R1
L
R2

(no description)

BLITstringFilter2

vib0
vib1
vib2
out
A
R1
L
R2

(no description)

BLITstringFilter3

vib0
vib1
vib2
out
A
R1
L
R2

(no description)

DyadBLIT

vib0
vib1
vib2
waveform
out
A
R1
L
R2

(no description)

Osc Bnk I

lfo1
lfo2
lfo3
out
type
algo
Attack
Release
Max Key
Min Key

Paraphonic Osc Bank inspired by existing string machine waveforms

Osc_Bnk_I_lock

lfo1
lfo2
lfo3
out
type
algo
lfoDepth
Attack
Release
Max Key
Min Key

Paraphonic Osc Bank inspired by existing string machine waveforms

salino

4Feet
8Feet
16Feet
Attack
Release
RevLevel
RevDuration
Vibrato
lfo
out
keys

Paraphonic Osc Bank inspired by existing string machine waveforms


paraOpt

out
octDbl
Attack
Release
Max Key
Min Key

Paraphonic Osc Bank inspired by existing string machine waveforms

salinoII

4Feet
8Feet
16Feet
A1
D1
S1
R1
A2
D2
S2
R2
Vibrato
lfo
out
keys

Paraphonic Osc Bank inspired by existing string machine waveforms


tiar/osc/DP2

PWM

pitch
pw
wave
pitch
pw

Low CPU Anti Aliased Pulse Width Modulated Osc (Second order differentiated polynomial).

Pulsaw

pitch
wave
pitch

Low CPU Anti Aliased Sawtooth Pulse (Second order differentiated polynomial).

Saw

pitch
wave
pitch

Low CPU Anti Aliased Sawtooth (Second order differentiated polynomial).

SawPls

pitch
wave
wave
pitch

Low CPU Anti Aliased Sawtooth Pulse (Second order differentiated polynomial).

tiar/osc/PM

SelfPM

pitch
fbMod
wave
pitch
fb1
fb0

Self PM oscillator (Very low cost)
Generates a band controlled sawtooth like wave form.
A square like wave form is obtained with negative kFb (negative kFb triggers
kFb by squared signal).
fb0 and fb1 controls the range of the feedback depth.
fbMod modulates the feedback in the range [fb0 fb1]

SelfPMSync

pitch slave
pitch master
beta
out
pitch slave
pitch master
beta
octaviate

Advanced version with built-in Master oscillator. See help patch for usage !!

SyncPM2

pitch
pitchC
pitchM
index
out
pitch
pitchC
pitchM
index

(no description)

SyncPM3

pitch
pitchC
pitchM1
pitchM2
index1C
index21
out
pitch
pitchC
pitchM1
pitchM2
index1C
index21

(no description)

SyncPM4

pitch
pitchC
pitchM1
pitchM2
pitchM3
index1C
index21
index32
phiC
phiM1
out
phase
env
pitch
pitchC
pitchM1
pitchM2
pitchM3
index1C
index21
index32

(no description)

TriPM

pitch
mod
tri
pitch
mod

(First order differentiated polynomial).

multiPM

pitch
mod
saw
sqr
tri
sin
pitch
mod

(First order differentiated polynomial).

tiar/osc/Steps

Five

pitch
out
pitch
level0
level1
level2
level3
level4

The waveform of the FiveSteps oscillator is controlled by five parameters: the five steps levels.

It allows to generate waveforms reminiscent of old pseudo digital synths (such as the RMI and it's digit harmonics based on Walsh functions).

It is **anti aliased** with an algorithm that is based on both BLEPs and DPWs... i think it is quite original and efficient with this kind of waveforms.

(the steppy signal goes through a second order leaky "analytic" integrator, when a transient occurs the state variable of the integrator is updated taking account of the subsample time of the transient - much like BLEPs -... at the end the signal is high passed with a second order differentiator - like a second order DPW...)

It has an accompanying help patch file you can play with.

Seven

pitch
out
pitch
level0
level1
level2
level3
level4
level5
level6

The waveform of the SevenSteps oscillator is controlled by seven parameters: the seven steps levels.

It allows to generate waveforms reminiscent of old pseudo digital synths (such as the RMI and it's digit harmonics based on Walsh functions).

It is **anti aliased** with an algorithm that is based on both BLEPs and DPWs... i think it is quite original and efficient with this kind of waveforms.

(the steppy signal goes through a second order leaky "analytic" integrator, when a transient occurs the state variable of the integrator is updated taking account of the subsample time of the transient - much like BLEPs -... at the end the signal is high passed with a second order differentiator - like a second order DPW...)

It has an accompanying help patch file you can play with.

The patch library/community/tiar/synths/EvolPad is more complex and uses 3 SixSteps oscillators on each of its 6 voices + LFO modulations of some levels to generate an evolving sound.

Six

pitch
out
pitch
level0
level1
level2
level3
level4
level5

The waveform of the SixSteps oscillator is controlled by six parameters: the six steps levels.

It allows to generate waveforms reminiscent of old pseudo digital synths (such as the RMI and it's digit harmonics based on Walsh functions).

It is **anti aliased** with an algorithm that is based on both BLEPs and DPWs... i think it is quite original and efficient with this kind of waveforms.

(the steppy signal goes through a second order leaky "analytic" integrator, when a transient occurs the state variable of the integrator is updated taking account of the subsample time of the transient - much like BLEPs -... at the end the signal is high passed with a second order differentiator - like a second order DPW...)

It has an accompanying help patch file you can play with.

The patch library/community/tiar/synths/EvolPad is more complex and uses 3 SixSteps oscillators on each of its 6 voices + LFO modulations of some levels to generate an evolving sound.

SixBLI

pitch
disable
out
pitch
level0
level1
level2
level3
level4
level5

(no description)

SixBLISync m

pitch slave
pitch master
level0
level1
level2
level3
level4
level5
out
pitch slave
pitch master

Advanced version with built-in Master oscillator. See help patch for usage !!

SixBLISync

pitch slave
pitch master
out
pitch slave
pitch master
level0
level1
level2
level3
level4
level5

Advanced version with built-in Master oscillator. See help patch for usage !!

SixBLIV1

pitch
disable
out
pitch
level0
level1
level2
level3
level4
level5

(no description)

SixBLIV2

pitch
disable
out
pitch
level0
level1
level2
level3
level4
level5

(no description)

SixSync

pitch slave
pitch master
out
pitch slave
pitch master
level0
level1
level2
level3
level4
level5

Advanced version with built-in Master oscillator. See help patch for usage !!


The waveform of the SixSteps oscillator is controlled by six parameters: the six steps levels.

It allows to generate waveforms reminiscent of old pseudo digital synths (such as the RMI and it's digit harmonics based on Walsh functions).

It is **anti aliased** with an algorithm that is based on both BLEPs and DPWs... i think it is quite original and efficient with this kind of waveforms.

(the steppy signal goes through a second order leaky "analytic" integrator, when a transient occurs the state variable of the integrator is updated taking account of the subsample time of the transient - much like BLEPs -... at the end the signal is high passed with a second order differentiator - like a second order DPW...)

It has an accompanying help patch file you can play with.

tiar/osc/wf12

12StepsBLI

pitch
waveform
out
pitch

See help patch for usage !!

12StepsBLISync

pitch slave
pitch master
waveform
out
pitch slave
pitch master

Advanced version with built-in Master oscillator. See help patch for usage !!

O2_12StepsSync

pitch slave
pitch master
waveform
y1
y0
pitch slave
pitch master

See help patch for usage !!

Advanced version of the SixSteps oscillator:
* it have a built-in Master oscillator for sync sounds.
* 12 steps instead of 6 (use tiar/osc/wf_12Steps on waveform inlet)
* oversampling by 2 (use tiar/conv/O2_to_SR_59 on the output)


The waveform of the12Steps oscillator is controlled by 12 parameters: the 12 steps levels.
These 12 steps levels must be provided by a tiar/osc/wf_12Steps object connected to the waveform inlet.


This object allows to generate waveforms reminiscent of old pseudo digital synths (such as the RMI and it's digit harmonics based on Walsh functions).

It is **anti aliased** with an algorithm that is based on both BLEPs and DPWs... i think it is quite original and efficient with this kind of waveforms.

(the steppy signal goes through a second order leaky "analytic" integrator, when a transient occurs the state variable of the integrator is updated taking account of the subsample time of the transient - much like BLEPs -... at the end the signal is high passed with a second order differentiator - like a second order DPW...)

wf_12Bank

select
waveform

For use with O2_12Steps(Sync)

wf_12Chorus

rateA
depthA
rateB
depthB
wf12
wf12
rateA
depthA
rateB
depthB

(no description)

wf_12Harm

waveform
h1
h2
h3
h4
h5
h6

For use with O2_12Steps(Sync)

wf_12Scale

mod
wf12
wf12
scale1
scale0

(no description)

wf_12Scan1

scan
wf12
scan
mode

For use with O2_12Steps(Sync)

wf_12Steps

o
b0
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11

For use with O2_12Steps(Sync)
Conveniently packs 12 steps in a "audio rate output".

tiar/osc/wf16

16StepsDP2

pitch
wf16
update
out
pitch

See help patch for usage !!

wf_16BankPwr

select
waveform

For use with 16Steps DISCONTINUOUS oscs.
The waveform is choosen with the int inlet "select"

The waveforms are mostly crest factor optimized (hence the Pwr in wf_16Bank Pwr.

0. saw: it has the same spectrum as a Saw (use the toggle switch in the wf_16BankPwr.axh help patch to compare how they sound. It sounds ~2dB louder than the normal saw.
1. harm2: the two first harmonics have the same amplitude and then decay -6dB/oct
2. harm3: the three first harmonics have the same amplitude and then decay -6dB/oct
3. harm4: the four first harmonics have the same amplitude and then decay -6dB/oct

4. harm2b: the four first harmonics have the same amplitude and then decay -12dB/oct
5. harm3b: the four first harmonics have the same amplitude and then decay -12dB/oct
6. harm4b: the four first harmonics have the same amplitude and then decay -12dB/oct
7. harm7: the seven first harmonics have the same amplitude and then decay -6dB/oct
8. harm7b: the seven first harmonics have the same amplitude and then decay -12dB/oct

9. Res2
10. Res3
11. Res4
12. Res5
13. Res7
14. harm7_2_3
15. harm7_23_3

wf_16BankSpktra

select
waveform

For use with 16Steps DISCONTINUOUS oscs.
The waveform is choosen with the int inlet "select"

0 hollow_2_3
1 hollow_23_3
2 hollow_23_4
3 hp2
4 hp2p
5 hp3p
6 hp5p
7 n12_4___8
8 n12_4___8p
9 no7p
10 spect1
11 spect2
12 spect3
13 primes
14 primesp
15 wide

wf_16Harm

update
wf16
h1
h2
h3
h4
h5
h6
h7
h8
interp

For use with 16StepsDP2

wf_16Steps

update
wf16
update
s0
e0
s1
e1
s2
e2
s3
e3
s4
e4
s5
e5
s6
e6
s7
e7
s8
e8
s9
e9
s10
e10
s11
e11
s12
e12
s13
e13
s14
e14
s15
e15

For use with 16Steps(Sync)
Conveniently packs DISCONTINUOUS 16 steps in a "audio rate output".

tiar/pata

ap1 m

in
theta ar
theta kr
out
theta


glob

r
i
theta ar
theta kr
r
i

Globulator

glob

r
i
theta
r
i
theta

cos sin rotation

glob m

r
i
theta
r
i

cos sin rotation

globInMod

r
i
mod r
mod i
r
i
mod r
mod i

input modulated globulator

globPlayI

r
theta ar
theta kr
mod r
mod i
LP
HP
r
i
theta
mod r
mod i
LP
HP
delay

Playful Globulator !

globPlayII

r
theta ar
theta kr
mod r
mod i
HP
signal LP
mod LP
r
i
theta
mod r
mod i
HP
signal LP
signal fb delay
mod LP
mod fb delay

Playful Globulator !
_______
/ \
| _____v____
| | |
----->| |----> fb signal
| | /---> D ---> LP ----->\
--->| |----> HP -< \
| |__________| \---> D ---> LP -->\ \
| ^ fb mod | /
\ \__________________________________/ /
\______________________________________________/

todo: add ar and kr mod inputs

reed

in
Fb gain
Fb HP
Fb LP
Fb delay
Fb phi
Out phi
out

Reed

tiar/PIW

O2osc

pm1
pm0
pitch
freq offset
disable
disto
disto offset
y1
y0
piwt
pitch

PIWT osc, needs to connect to a PIWT.
Experimental.

copy

gen
size
location

(no description)

disharm

piwt
hA
hB
hC
hD
hE
hF
hG
hH

(no description)

gen

function
size
location

(no description)

osc

pitch
freq offset
pm
disable
disto
disto offset
wave
piwt
pitch

PIWT osc, needs to connect to a PIWT.
Experimental.

oscLight

pitch
freq offset
disable
wave
piwt
pitch

PIWT osc, needs to connect to a PIWT.

oscLightTri

pitch
freq offsetB
freq offsetC
disable
wave
piwt
pitch

PIWT osc, needs to connect to a PIWT.

phi

piwt
seed
iterations

(no description)

tiar/schedule

sc4

sc0
sc1
sc2
sc3

Sub krate scheduler to trigger costly krate operations.
Such as 16StepsDP2 updates.

tiar/spat

pan m

in
pan
left
right
pan

Constant gain^2 pan with param and modulation inputs

tiar/string

concat2

str1
str2
out
size

concat up to four strings. size must be set to the maximum size of all strings combined, if you set it too low, you are likely to corrupt memory...(patch could get unstable etc.)

concat3

str1
str2
str3
out
size

concat up to four strings. size must be set to the maximum size of all strings combined, if you set it too low, you are likely to corrupt memory...(patch could get unstable etc.)

mux16

i00
i01
i02
i03
i04
i05
i06
i07
i08
i09
i10
i11
i12
i13
i14
i15
sel
out

string multiplexer

mux2

i0
i1
sel
out

string multiplexer

mux4

i0
i1
i2
i3
sel
out

string multiplexer

mux8

i0
i1
i2
i3
i4
i5
i6
i7
sel
out

string multiplexer

remind4

chainTrig
chainIn
i0
i1
i2
i3
chainTrig
out
prefix0
prefix1
prefix2
prefix3

string multiplexer

scroll

in
offset
out

string scroller

tiar/tuning

DetHz

pitch
detHz
pitch
detHz

Detune in Hz, same beating Hz on all the keyboard.
2 -> ~4seconds
4 -> 2s
8 -> 1Hz
64 -> ~8Hz

DetHzLH

pitch
pitch
HzHigh
HzMid
HzLow

Note dependent detune in Hz fro smooth doubling.

low notes: MIDI 32 G#1
mid notes: MIDI 64 E4
high notes: MIDI 96 C7


2 -> ~4seconds
4 -> 2s
8 -> 1Hz
64 -> ~8Hz

Exact5ths

pitch
pitch
Oct5th

Retunes to exact 5ths (no beatings) is 64.
or exact 8ves if 0.
Or something in between for smooth beatings for octaves and fifths.

s quant m

pitch
quant
pitch

(no description)

tiar/XT

dejump

in
trig
out

1st order lowpass filter and high pass filter.

gen4

function0
function1
function2
function3
size
location
mode
normalize

(no description)

gen8

function0
function1
function2
function3
function4
function5
function6
function7
size
location
mode
normalize

(no description)

load

filename
trig
nbWaves
length
location
mode
loadAtInit

(no description)

osc

pitch
freq offset
pm
disable
disto
disto offset
wave
wave
xt
pitch

XT osc, needs to connect to a XT.

r1r2

start
rate1
rate2
reset
sync
out
sync2limit

Two slope cyclic ramp/LFO

toneburst/math

interpolation-bezier-cubic

in
out
start
end

cubic bezier interpolation

interpolation-bezier-quadratic

in
out
curve

quadratic bezier interpolation

interpolation-pow4

in
out
curve

pow4 interpolation

toneburst/osc

toneburst/osc/sinesync

pitch
freq
phase
sync
wave
pitch

sine wave oscillator, with rising-edge sync input

toneburst/pattern

nmpgen

trig
r
out
bank
pattern
length

Pseudo-random (repeatable) pattern generator. Based on Nord modular PatternGen module.

nmpgen2

trig
r
out
bank
pattern
length
offset

32-step pseudo-random (repeatable) pattern generator. Based on Nord modular PatternGen module.

nmpgen3

trig
r
pattern
trigger
bank
index
trigdense
length
offset

32-step pseudo-random (repeatable) pattern generator, with Pattern and Trigger outlets

TSG/ctrl

MultiPot 3

poti
layer
set0
set1
set2
load
out0
out1
out2
deadbandSize
mode

Uses a single potentiometer input to control three target values (layers). After a layer change, the outputs will be updated
A) to the current poti value, immediately when the poti is touched (overwrite mode)
B) to the current poti value, after the poti has passed the current value of the target (pickup mode)
C) so that the remaining travel of the potentiometer spans all the remaining travel of the value (scale mode).
After some time without movement of the potentiometer, the potentiometer has to be turned by a certain amount before new changes will be registered. This helps to prevent sudden changes in values caused by measurement noise, even if the pot is not moved. The deadband size can be configured.

TSG/delay

read m interp

time
mod
out
delayname
interpol

delay read, modulateable, linear interpolated

TSG/dist

diodeSat

in
out
gain

(no description)

TSG/filter

allpass m

in
time
timemod
gain
out
buffsize
interpol
location

A modulatable 32bit schroeder allpass filter with different types of interpolation (for reverbs and diffusers)

TSG/fx

reverb cheap

InL
InR
l
r
PreDelay
decay
LowDamp
HighDamp
size
mix
diffusion
pitch
gain

(no description)

reverb

InL
InR
l
r
PreDelay
decay
LowDamp
HighDamp
size
diffusion
mix
pitch
gain

(no description)

tapedelay

In L
In R
clock
Out L
Out R
phase
Tape age
Low End
Saturation
Time
time symmetry
sync to external clock
PingPong
Feedback
flutter
mix

(no description)

TSG/logic

d flipflop

data
clock
reset
o

D-flipflop. Shifts the logic state on its data input into its storage on each rising edge of the clock input.

TSG/math

limit

i
o
max
min

Limits in incoming value to an upper and lower bound

map b

c
o
a
b

Maps 0..64 to a..b

map

c
o
a
b

Maps 0..64 to a..b

TSG/patch

modsource auto

v

generic modulation source, that sends its modulation automatically when the value changes.

numVoices

numVoices

Outputs the total number of voices in a polyphonic subpatch.

polySpread

spread
distribution

Outputs a value evenly spread between -64 and +64, depending on the current voice number - e.g. for 3 voices, the output would be -64, 0, +64. For 5 voices it would be -64, -32, 0, 32, 64 and so on. For the straight distribution, the output will be ordered: The lowest voice will output the lowest value, stepping up to the next value as the voice number increases. For the random distribution, the possible values are randomly distributed to each voice when the patch loads.

wp/ctrl

i radio 5 h

out
value

positive integer control, horizontal radio buttons

wp/edrum

snare_mod

trig
attack
decay
pitch
reso
outlet_1
ad_mod_1
ad_mod_1
bp_1
bp_1

TO-DO:
add CV gain control for each CV input

wp/env

ad_mod

trig
a
d
env
a
d

Attack/decay envelope, linear attack, exponential decay with modulation

wp/filter

4polelpf

filter in
outlet_1
vcf freq
hp freq
vcf res

(no description)

wp/osc

khaosmachine

pitch control
delay mix
delay fdbk
audio out
pitch
pwm
echo_1
echo_1

(no description)