(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!
PB0 PB1 PB8 PB9
|
joyx joyy joyPress knob1 knob2 knob3 knob4 knob5 knob6 buttonA buttonB buttonC
|
exposes the controls of the MTM axocontrol board
input output led
|
|
an object to forward midi from one device to another
note: does not handle sysex or clock
note
|
note change
|
b12
|
|
quantize note input to a scale
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.
gate a d s r
|
env
|
Attack/decay/sustain/release envelope with only modulation inputs
out
|
|
value
|
|
table
|
positive constant value dial, factory object with display of number oof wavetable in brds wavetable osc
gate a d
|
env
|
attack hold decay envelope with modulation inputs, factory object with knobs removed
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.
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.
i m
|
o
|
Voltage controlled amplifier control level
out
|
|
Detune Transpose Course
|
|
Course
|
Pitch dial
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.
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.
In GainTimbre GainColor GainFrequency GainReso GainVCA
|
OutTimbre OutColor OutFrequency OutReso OutVCA
|
5 output send K-rate mixer for Seaboard
Trigger In GainTimbre GainColor GainFrequency GainReso GainVCA
|
OutTimbre OutColor OutFrequency OutReso OutVCA
|
5 output send K-rate mixer for Seaboard with latch function
In GainOsc GainTimbre GainColor GainFrequency GainReso GainVCA
|
OutOsc OutTimbre OutColor OutFrequency OutReso OutVCA
|
6 output send K-rate mixer for Seaboard
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
In ModIn ModHeadroom
|
Out
|
General purpose modulator object. Used to modulate other object through other objects.
In ModIn ModHeadroom Master1 Master2
|
Out
|
General purpose modulator object with two masters. Used to modulate other object through other objects.
In ModIn ModHeadroom Master1Min Master1 Master2
|
Out
|
General purpose modulator object with two masters. Used to modulate other object through other objects.
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
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
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
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
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
note +- gate gate2 velocity + releaseVeocity +
|
|
Left Att Split Right Att
|
|
(no description)
note gate gate2 velocity releaseVelocity pressure bend timbre pitch
|
|
Controller input for MIDI Polyphonic Expression. With a small adjustment
bus_in in1 gain1
|
out
|
1 input s-rate mixer changed factory object to mod control
pitch timbre color
|
wave
|
"Wavetables" oscillator from Mutable Instruments Braids
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.
In1 In2
|
Out
|
Simple connector 2 in 1 out
In1 In2 In3 In4
|
Out
|
Simple connector 4 in 1 out
In1 In2 In3 In4 In5
|
Out
|
Simple connector 5 in 1 out
In1 In2 In3 In4 In5 In6
|
Out
|
Simple connector 6 in 1 out
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.
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).
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.
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.
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.
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.
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.
gate
|
env
|
delay a d
|
|
delayed attack hold decay envelope. Delay parameter determins a time of delay after rising gate until the envelope starts.
pitchmod reset shapemod
|
out
|
shape pitch
|
|
Continuously shapeable lfo: ramp down/triangle/ramp up. Unipolar output.
pitch reset
|
wave
|
pitch
|
|
triangle wave LFO, pitch input
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.
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".
in
|
level1 level2
|
(no description)
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.
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.
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.
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.
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.
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.
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)
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)
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)
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)
in
|
outi outf
|
Drive one 7 segment display with a 74HC595
in
|
outi outf
|
Drive 2x 7segment displays with 2 x 74HC595
ini inf led1 led2 led3 led4 led5 led6 led7 led8
|
outi outf chainouti chainoutf
|
0to3
|
|
Usefull to drive up to 4 x 74HC595
inc dec r
|
o c
|
maximum init
|
|
cyclic up/down counter with initial start value
trig
|
trig volume
|
volfade
|
|
Deglitcher, fade out -> trig (blocking operation) -> fade in
trig left right
|
trig left right
|
volfade
|
|
Deglitcher, fade out -> trig (blocking operation) -> fade in
left right
|
|
volume
|
|
vuLeft vuRight
|
Audio output, stereo, volume control, 12dB gain
left right volume
|
left right
|
Stereo volume control, control inlet
left right
|
left right
|
volume
|
|
Stereo volume control, built in knob
out
|
|
pitch
|
|
Pitch dial
out
|
|
pitch
|
|
LFO pitch dial
lgain rgain
|
|
lr
|
|
Fade out gain factors, either left or right is faded down, the other side stays at unity gain
lgain rgain
|
|
lr
|
|
Fade in gain factors, either left or right is faded up, the other side stays at 0 gain
in
|
out
|
feedback delay delay dry/wet
|
|
(no description)
in_l in_r
|
out_l out_r
|
pre_filter lp hp hp_enable ping feedback time time_diff dry wet
|
|
(no description)
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)
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)
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)
time tmod
|
out
|
delayname
|
|
time
|
|
Delay read, 32 bit, interpolated, proportional modulation input
time tmod clkoverride muloverride divoverride 24ppq
|
out time
|
delayname clocksource device smooth
|
|
clockmul clockdiv time
|
|
Syncable delay read, 32 bit, interpolated, proportional time modulation
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
time tmod
|
out
|
delayname
|
|
time
|
|
Delay read, 16 bits, interpolated, proportional modulation input
time tmod clkoverride muloverride divoverride 24ppq
|
out time
|
delayname clocksource device smooth
|
|
clockmul clockdiv time
|
|
Syncable delay read, interpolated, proportional time modulation
time tmod clkoverride muloverride divoverride 24ppq
|
out time
|
delayname clocksource device smooth
|
|
clockmul clockdiv time
|
|
Syncable delay read, non-interpolated, proportional time modulation
filename trig
|
samples
|
Fetches the size of a file in 16 bit samples
in
|
out
|
wordsize interp delaysize maxvoices
|
|
time tspread lfoamt lfofreq fspread mix voices
|
|
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
in time tspread lfoamt lfofreq fspread mix voices
|
out
|
wordsize interp delaysize maxvoices
|
|
Chorus with control inputs
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
in mod feedback saturate mix delay stages
|
out
|
wordsize maxdelay maxstages
|
|
Phaser, 0 to 32 stages, external control
in_l in_r
|
out_l out_r
|
time tspread lfoamt lfofreq fspread mix voices
|
|
(no description)
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)
pitch reset
|
0 90
|
pitch
|
|
Dual phase sine LFO, bipolar, 0 and 90 degrees, lin-ip, pitch input, phase reset
pitch reset
|
0 120
|
pitch
|
|
Dual phase sine LFO, bipolar, 0 and 120 degrees, lin-ip, pitch input, phase reset
pitch reset
|
0 90
|
pitch
|
|
Dual phase sine LFO, unipolar, 0 and 90 degrees, lin-ip, pitch input, phase reset
pitch reset
|
0 120
|
pitch
|
|
Dual phase sine LFO, unipolar, 0 and 120 degrees, lin-ip, pitch input, phase reset
pitch reset
|
0 90
|
pitch
|
|
Dual phase triangle LFO, bipolar, 0 and 90 degrees, bipolar, pitch input, phase reset
pitch reset
|
0 120
|
pitch
|
|
Dual phase triangle LFO, bipolar, 0 and 120 degrees, bipolar, pitch input, phase reset
pitch reset
|
0 90
|
pitch
|
|
Dual phase triangle LFO, unipolar, 0 and 90 degrees, pitch input, phase reset
pitch reset
|
0 120
|
pitch
|
|
Dual phase triangle LFO, unipolar, 0 and 120 degrees, pitch input, phase reset
pitch phase pwm reset
|
pwm
|
pitch pw
|
|
Bipolar LFO with phase, pwm and reset inputs
pitch phase pwm reset
|
pwm
|
pitch pw
|
|
Unipolar LFO with phase, pwm and reset inputs
freq pwm phase 24ppq
|
pwm saw tri sine clock 24ppq
|
clocksource device
|
|
clockdiv miditransport freq pw
|
|
clock
|
LFO, midi/clock sync, multiple waveforms
freq pwm phase 24ppq
|
out clock 24ppq
|
clocksource device
|
|
clockdiv miditransport freq pw amp unipolar wave
|
|
clock
|
LFO, midi/clock sync, selectable waveform
pitch phase pwm am wave reset
|
out
|
pitch pw amp unipolar wave
|
|
LFO, bipolar, multi wave, modulation inputs
pitch
|
out
|
pitch pw amp unipolar wave
|
|
LFO, bipolar, 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
pitch
|
0 90
|
pitch pw amp unipolar wave
|
|
Quadrature LFO, 0 and 90 degree outputs, bipolar, multi wave
pitch phase reset
|
sine
|
pitch
|
|
Sine LFO, bipolar, lin-ip, pitch input, phase input, phase reset
pitch phase reset
|
sine
|
pitch
|
|
Sine LFO, unipolar, lin-ip, pitch input, phase input, phase reset
pitch reset
|
0 90 180 270
|
pitch
|
|
Quadrature sine LFO, bipolar, lin-ip, pitch input, phase reset
pitch reset
|
0 90 180 270
|
pitch
|
|
Quadrature sine LFO, unipolar, lin-ip, pitch input, phase reset
pitch reset
|
0 90 180 270
|
pitch
|
|
Quadrature triangle LFO, bipolar, pitch input, phase reset
pitch reset
|
0 90 180 270
|
pitch
|
|
Quadrature triangle LFO, unipolar, pitch input, phase reset
pitch reset
|
saw
|
pitch
|
|
Saw wave LFO, rising, bipolar, pitch input, phase reset
pitch reset
|
saw
|
pitch
|
|
Saw wave LFO, rising, unipolar, pitch input, phase reset
pitch reset
|
saw
|
pitch
|
|
Saw wave LFO, falling, bipolar, pitch input, phase reset
pitch reset
|
saw
|
pitch
|
|
Saw wave LFO, falling, unipolar, pitch input, phase reset
pitch phase reset
|
tri
|
pitch
|
|
Triangle wave LFO, bipolar, pitch, phase and reset inputs
pitch phase reset
|
tri
|
pitch
|
|
Triangle wave LFO, unipolar, pitch, phase and reset inputs
pitch reset
|
0 120 240
|
pitch
|
|
Triple phase sine LFO, bipolar, 0, 120 and 240 degrees, lin-ip, pitch input, phase reset
pitch reset
|
0 120 240
|
pitch
|
|
Triple phase sine LFO, unipolar, 0, 120 and 240 degrees, lin-ip, pitch input, phase reset
pitch reset
|
0 120 240
|
pitch
|
|
Dual phase triangle LFO, bipolar, 0, 120 and 240 degrees, bipolar, pitch input, phase reset
pitch reset
|
0 120 240
|
pitch
|
|
Dual phase triangle LFO, unipolar, 0, 120 and 240 degrees, pitch input, phase reset
in
|
out
|
value
|
|
Greater than constant integer
in
|
out
|
value
|
|
Less than constant integer
in
|
out
|
value
|
|
Equal to constant integer
in
|
out
|
value
|
|
Unequal to constant integer
in en
|
out
|
time
|
|
Fast exponential smooth with enable
in
|
out
|
Invert positive range, out = 64.0 - input, in = 0.0 .. 64.0 => 64.0 .. 0.0
in
|
out
|
Invert positive range, out = 64.0 - input, in = 0.0 .. 64.0 => 64.0 .. 0.0
in
|
out
|
Invert negative range, out = - (64.0 - input), in = 0.0 .. -64.0 => -64.0 .. 0.0
in
|
out
|
Invert negative range, out = - (64.0 - input), in = 0.0 .. -64.0 => -64.0 .. 0.0
note
|
out
|
offset scale
|
|
Keyboard breakpoint and scaling, k-rate, out = breakpoint + (note * scale)
in
|
out
|
offset scale
|
|
Offset and scale a signal, k-rate, out = offset + (in * scale)
in
|
out
|
offset scale
|
|
Offset and scale a signal, s-rate, out = offset + (in * scale)
in
|
out
|
length
|
|
Moving average, fractional, k-rate
in
|
out
|
length
|
|
Moving average, integer (no loss of precision), k-rate
in
|
out
|
length
|
|
Moving average, fractional, s-rate
in clock
|
out
|
length
|
|
Moving average, fractional, clocked, k-rate
in clock
|
out
|
length
|
|
Moving average, integer (no loss of precision), clocked, k-rate
mul1 mul2 mul3
|
out
|
Multiply 3 numbers together
mul1 mul2 mul3
|
out
|
Multiply 3 numbers together
mul1 mul2 mul3
|
out
|
Multiply 3 numbers together
mul1 mul2 mul3 mul4
|
out
|
Multiply 3 numbers together
mul1 mul2 mul3 mul4
|
out
|
Multiply 4 numbers together
mul1 mul2 mul3 mul4
|
out
|
Multiply 4 numbers together
in mul add
|
out
|
Multiply and add, out = in * mul + add
in mul add
|
out
|
Multiply and add, out = in * mul + add
in mul add
|
out
|
Multiply and add, out = in * mul + add
in1 in2 in3
|
out
|
Sum 3 values at k-rate
in1 in2 in3 in4
|
out
|
Sum 4 values at k-rate
in1 in2 in3 in4 in5
|
out
|
Sum 5 values at k-rate
in1 in2 in3 in4 in5 in6
|
out
|
Sum 6 values at k-rate
in1 in2 in3 in4 in5 in6 in7
|
out
|
Sum 7 values at k-rate
in1 in2 in3 in4 in5 in6 in7 in8
|
out
|
Sum 8 values at k-rate
in1 in2 in3
|
out
|
Sum 3 values at s-rate
in1 in2 in3 in4
|
out
|
Sum 4 values at s-rate
in1 in2 in3 in4 in5
|
out
|
Sum 5 values at s-rate
in1 in2 in3 in4 in5 in6
|
out
|
Sum 6 values at s-rate
in1 in2 in3 in4 in5 in6 in7
|
out
|
Sum 7 values at s-rate
in1 in2 in3 in4 in5 in6 in7 in8
|
out
|
Sum 8 values at s-rate
in1 in2 in3
|
out
|
Sum 3 values at k-rate
in1 in2 in3 in4
|
out
|
Sum 4 values at k-rate
in1 in2 in3 in4 in5
|
out
|
Sum 5 values at k-rate
in1 in2 in3 in4 in5 in6
|
out
|
Sum 6 values at k-rate
in1 in2 in3 in4 in5 in6 in7
|
out
|
Sum 7 values at k-rate
in1 in2 in3 in4 in5 in6 in7 in8
|
out
|
Sum 8 values at k-rate
v
|
|
txdevice txchannel cc
|
|
maxrate
|
|
Variable rate MIDI CC data output.
24ppq start stop continue songsel selected songpos position
|
|
device
|
|
MIDI clock receiver
24ppq start stop continue songsel selected songpos position
|
|
device
|
|
MIDI clock transmitter
note velo trig
|
|
device
|
|
channel
|
|
Midi note transmitter, midi channel as live parameter
fb fp ib ip msb lsb chmsb chlsb
|
|
device channel nrpn
|
|
NRPN receiver, multi format outputs
fb fp ib ip msb lsb nrpn chmsb chlsb
|
|
device channel
|
|
NRPN receiver, multi parameter, multi format outputs
fb fp
|
|
device channel nrpn
|
|
NRPN receiver, bipolar and unipolar fractional outputs
ib ip msb lsb
|
|
device channel nrpn
|
|
NRPN receiver, bipolar and unipolar integer outputs
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....
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....
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....
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....
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....
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....
pitch fm
|
0 90
|
pitch
|
|
Dual phase sine oscillator, 0 and 90 degrees, lin-ip, pitch input, fm input
pitch fm
|
0 90 180 270
|
pitch
|
|
Quadrature sine oscillator, bipolar, 0, 90, 180 and 290 degrees, lin-ip, pitch input, fm input
pitch fm
|
0 90 180 270
|
pitch
|
|
Quadrature sine oscillator, unipolar, 0, 90, 180 and 290 degrees, lin-ip, pitch input, fm input
pitch phase reset
|
out
|
pitch
|
|
Phasor with phase and phase reset inputs, bipolar, s-rate
pitch phase reset
|
out
|
pitch
|
|
Phasor with phase and phase reset inputs, unipolar s-rate
pitch phase reset
|
out
|
pitch
|
|
Sine oscillator with phase and phase reset inputs, bipolar, s-rate
pitch phase reset
|
out
|
pitch
|
|
Sine oscillator with phase and phase reset inputs, unipolar, s-rate
pitch phase sync
|
out
|
pitch
|
|
Phasor with phase and sync inputs, bipolar, s-rate
pitch phase sync
|
out
|
pitch
|
|
Phasor with phase and sync inputs, unipolar s-rate
pitch phase sync
|
out
|
pitch
|
|
Sine oscillator with phase and sync inputs, bipolar, s-rate
pitch phase sync
|
out
|
pitch
|
|
Sine oscillator with phase and sync inputs, unipolar, s-rate
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 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
in
|
bpm dec samples
|
clocksource device smooth
|
|
BPM detector with smoothing
reset
|
out
|
bpm tenth hundredth
|
|
BPM generator
reset bpm tenth hundredth
|
out
|
BPM generator, external inputs
clk
|
clk
|
clockdiv
|
|
Clock divider
clk r
|
clk
|
clockdiv
|
|
Clock divider with reset
clk
|
clk
|
clockmul
|
|
Clock multiplier
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
tempo gatelength run reverse upndown endrep rstsync rstimm
|
step gate clock start
|
tempo gatelength seqlength
|
|
Sequencer clock controller, analog style
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
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
step
|
chain out
|
v1 v2 v3 v4
|
|
Step sequencer, bipolar value x 4
step
|
chain out
|
v1 v2 v3 v4 v5 v6 v7 v8
|
|
Step sequencer, bipolar value x 8
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
step
|
chain out
|
p1 p2 p3 p4
|
|
Step sequencer, pitch x 4
step
|
chain out
|
p1 p2 p3 p4 p5 p6 p7 p8
|
|
Step sequencer, pitch x 8
step
|
chain out
|
p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16
|
|
Step sequencer, pitch x 16
step sig1 sig2 sig3 gate1
|
chain out sig1 sig2 sig3 gate1
|
s1 s2 s3 s4
|
|
Step sequencer, switch x 4
step sig1 sig2 sig3 gate1
|
chain out sig1 sig2 sig3 gate1
|
s1 s2 s3 s4 s5 s6 s7 s8
|
|
Step sequencer, switch x 8
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
step
|
chain out
|
v1 v2 v3 v4
|
|
Step sequencer, unipolar value x 4
step
|
chain out
|
v1 v2 v3 v4 v5 v6 v7 v8
|
|
Step sequencer, unipolar value x 8
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
|
clock phasor
|
clockmul clockdiv tap
|
|
Tap tempo, mul/div as live parameters
tap
|
clock phasor
|
clockmul clockdiv
|
|
tap
|
|
Tap tempo, mul/div as attributes (lowest CPU usage)
tap mul div
|
clock phasor
|
tap
|
|
Tap tempo, mul/div as inputs
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
i1 i2 swap
|
o1 o2
|
dev1vol dev2vol
|
|
Mono swappable parallel routing switch
i1l i1r i2l i2r swap
|
o1l o1r o2l o2r
|
dev1vol dev2vol
|
|
Stereo swappable parallel routing switch
i0 i1
|
o0 o1 out
|
default
|
|
2 way radio switch
i0 i1
|
out
|
default
|
|
2 way radio switch
i0 i1 i2 i3
|
o0 o1 o2 o3 out
|
default
|
|
4 way radio switch
i0 i1 i2 i3
|
out
|
default
|
|
4 way radio switch
i0 i1 i2 i3 i4 i5 i6 i7
|
o0 o1 o2 o3 o4 o5 o6 o7 out
|
default
|
|
8 way radio switch
i0 i1 i2 i3 i4 i5 i6 i7
|
out
|
default
|
|
8 way radio switch
i i1 i2 parallel
|
o o1 o2
|
dev1vol dev2vol
|
|
Mono serial/parallel routing switch
il ir i1l i1r i2l i2r parallel
|
ol or o1l o1r o2l o2r
|
dev1vol dev2vol
|
|
Stereo serial/parallel routing switch
i i1 i2 swap
|
o o1 o2
|
dev1vol dev2vol
|
|
Mono swappable serial routing switch
il ir i1l i1r i2l i2r swap
|
ol or o1l o1r o2l o2r
|
dev1vol dev2vol
|
|
Stereo swappable serial routing switch
button1
|
|
Reads Euxoloti's Button 1
button2
|
|
Reads Euxoloti's Button 2
button3
|
|
Reads Euxoloti's Button 3
button4
|
|
Reads Euxoloti's Button 4
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!
gate1
|
|
Reads Euxoloti's Gate in 1
gate2
|
|
Reads Euxoloti's Gate in 2
in
|
|
turn euxolotis led1 on-off
in
|
|
turn euxolotis led2 on-off
in
|
|
turn euxolotis led3 on-off
in
|
|
turn euxolotis led4 on-off
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.
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)"
led1 led2 led3 led4
|
|
script
|
|
with script you can convert value to midi and send it to Maple Mini.
cv1
|
|
Reads CVs by Euxoloti
cv2
|
|
Reads CVs by Euxoloti
cv3
|
|
Reads CVs by Euxoloti
cv4
|
|
Reads CVs by Euxoloti
cv5
|
|
Reads CVs by Euxoloti
cv6
|
|
Reads CVs by Euxoloti
cv7
|
|
Reads CVs by Euxoloti
cv8
|
|
Reads CVs by Euxoloti
gate1
|
|
Reads Euxoloti's Gate in 1
gate2
|
|
Reads Euxoloti's Gate in 2
gate3
|
|
Reads Euxoloti's Gate in 3
gate4
|
|
Reads Euxoloti's Gate in 4
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.
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.
led1 led2 led3 led4
|
|
each inlet controls one of euxo's leds.
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.
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.
a
|
b
|
p1 noisegate
|
|
For 8 bits signal, mute selected bits
a
|
b
|
p1 noisegate
|
|
For 8 bits signal, reverse selected bits
trig decay m
|
out
|
freq 1 noise decay noise level decay curve freq 2 lp gain
|
|
(no description)
trig
|
outlet_1
|
pulse hp pulse hp ad ad fb ad fb ad bp bp lp lp gain
|
|
(no description)
trig pitch
|
outlet_1
|
ad ad bp bp gain
|
|
(no description)
trig
|
outlet_1
|
d1 d2 freq 1 freq2 bp bp hp hp gain
|
|
(no description)
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)
trig velocity
|
outlet_1
|
body decay noise decay lp lp notch notch gain
|
|
(no description)
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.
in trig pitch reverse retrig
|
o attack decay rec_status
|
attack_threshold decay_threshold silence_threshold
|
|
rec play retrig
|
description
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.
frequency chunk size loop speed start length loop mode reverse
|
outlet_1
|
(no description)
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.
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
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
trig
|
trig
|
rotation length hits
|
|
Euclidean Rhythm Sequencer (rhythm).
https://en.wikipedia.org/wiki/Euclidean_rhythm
initvalue trigmask trig random
|
initvalue note o o2
|
Turing Machine Random Looping Sequencer
inmain in1 in2
|
outmain out1 out2
|
sw
|
|
object inlet outlet swap
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.
inlet_1
|
outlet_1
|
value amp value amp
|
|
(no description)
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.
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
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
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"
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.
in unhook
|
out hooked
|
value
|
|
inlet value passed through after hitting control value. unhooked by rising edge on unhook input.
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!
C C# D D# E F F# G G# A A# B Up Down Apad Bpad
|
|
(no description)
velo
|
Apad Bpad
|
def_velo
|
|
(no description)
note gate Apad Bpad
|
|
(no description)
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)
1 2 3 4 5 6 7 8 Ax Ay Az Bx By Bz Ap Bp
|
|
(no description)
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)
button
|
short long
|
(no description)
#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)
IN_L IN_R #6 BUT #8 PAR #10 PAR #11 PAR #12 PAR #13 PAR #18 MOD
|
|
(no description)
MIDI_GATE PATCH_NAME #17 MOD OUT_L OUT_R
|
outlet_1
|
LFO vol on/off
|
|
(no description)
next previous
|
|
(no description)
(no controls) | |
(no description)
i1 i2 i3 i4 i5 i6 i7 i8 i9 i10
|
out index direction
|
(no description)
OSC SCOPE PATCH NAME LFO_mode LFO_waveform
|
|
(no description)
value index
|
text
|
a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
|
|
String selector with value display
TIME_PHASE SMOOTH WAVE MODE LFO SYNC UP LFO SYNC DOWN
|
LFO OUT
|
(no description)
IN_L IN_R LFO VOL
|
SIGNAL
|
(no description)
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.
i1 i2 i3 i4 shift trig
|
out tone code
|
code
|
|
decodes ouput of a dmtf converter chip MT8870 connected to four gpio input pins.
i1 i2 i3 i4 is
|
out outt
|
decodes ouput of a dmtf converter chip MT8870 connected to four gpio input pins.
Key Velocity KeyTrigger CC CCValue
|
|
script
|
|
script that serves as an extra MIDI OUT port
in
|
|
FOUR 74HC595 SHIFT REGISTERS
by paul
up down
|
result trig
|
octave shifter
out8
|
|
value
|
|
positive integer control
out5
|
|
value
|
|
positive integer control
o
|
|
value
|
|
Unipolar dial interpolated with linear interpolation from k- to s-rate.
o
|
|
value
|
|
Unipolar dial interpolated with linear interpolation from k- to s-rate.
note1 velo1 trig1 note2 velo2 trig2
|
|
d
|
|
ch1 ch2
|
|
Midi note output
note1 velo1 trig1 note2 velo2 trig2 note3 velo3 trig3 note4 velo4 trig4
|
|
d
|
|
ch1 ch2 ch3 ch4
|
|
Midi note output
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
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.
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.
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.
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.
o1 o2 o3 o4 o5 o6 o7 o8
|
|
1 2 3 4 5 6 7 8
|
|
8 positive integer controls with individual outputs
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.
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.
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.
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.
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.
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.
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.
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.
o1 o2 o3 o4 o5 o6 o7 o8
|
|
1 2 3 4 5 6 7 8
|
|
8 positive integer controls with individual outputs
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.
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.
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.
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.
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.
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.
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.
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.
1 2
|
|
select one out of 16 integers +-, with chain i/o
1 2 3 4
|
|
select one out of 16 integers +-, with chain i/o
1 2 3 4
|
|
1 2 3 4
|
displays bipolar k-rate signals
1 2 3 4
|
|
1 2 3 4
|
displays bipolar k-rate signals
1 2 3 4
|
|
1 2 3 4
|
displays bipolar k-rate signals
1 2 3 4
|
|
1 2 3 4
|
displays bipolar k-rate signals
1 2 3 4
|
|
1 2 3 4
|
displays bipolar k-rate signals
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
In
|
Out
|
Cut Off Resonance Cl Lp Bp Hp
|
|
(no description)
In CutModIn ResoModIn
|
Out
|
1.Cl Lp Bp Hp CutOff1 Reso1 FilterMix 2.Cl Lp Bp Hp CutOff2 Reso2
|
|
(no description)
in time timemod gain
|
out
|
buffsize interpol location
|
|
A modulatable 32bit schroeder allpass filter with different types of interpolation (for reverbs and diffusers)
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)
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)
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.
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)
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)
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)
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)
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.
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.
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)
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.
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.
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.
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.
i c r
|
o
|
Cut Res
|
|
24 db Ladder filter.
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.
in freq
|
out
|
on freq type
|
|
1st order multimode X2 (12db). Lp,Bp,Hp.
in freq
|
out
|
on freq type
|
|
1st order multimode X3 (18db). Lp,Bp,Hp.
in freq
|
out
|
on freq type
|
|
1st order multimode X4 (24db). Lp,Bp,Hp.
in freq
|
out
|
on freq type
|
|
1st order multimode X1 (6db). Lp,Bp,Hp.
in freq
|
out
|
on freq db
|
|
1st order HP filter, 6 to 24 db selector.
in freq
|
out
|
on freq db
|
|
1st order LP filter, 6 to 24 db selector.
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%
out
|
|
positive constant value dial
p
|
|
POW
|
|
New POW VERY SIMPLE 30-12-2017.
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.
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.
i m
|
o
|
add
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.
a
|
result
|
am on
|
|
multiply
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.
L In R In
|
L Out R Out
|
St. Gain
|
|
(no description)
1L 1R 2L 2R
|
L Out R Out
|
1 Gain 2 Gain
|
|
(no description)
1L 1R 2L 2R
|
L Out R Out
|
1 Gain 2 Gain Master
|
|
(no description)
1L 1R 2L 2R 3L 3R
|
L Out R Out
|
1 Gain 2 Gain 3 Gain
|
|
(no description)
1L 1R 2L 2R 3L 3R
|
L Out R Out
|
1 Gain 2 Gain 3 Gain Master
|
|
(no description)
1L 1R 2L 2R 3L 3R 4L 4R
|
L Out R Out
|
1 Gain 2 Gain 3 Gain 4 Gain
|
|
(no description)
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)
CL CR 1L 1R 2L 2R 3L 3R 4L 4R
|
L Out R Out
|
1 Gain 2 Gain 3 Gain 4 Gain
|
|
(no description)
1L 1R 2L 2R 3L 3R 4L 4R
|
L Out R Out
|
1 Gain 2 Gain 3 Gain 4 Gain Master
|
|
(no description)
CL CR 1L 1R 2L 2R 3L 3R 4L 4R
|
|
1 Gain 2 Gain 3 Gain 4 Gain Master
|
|
(no description)
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.
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.
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
1 2 3
|
m
|
ch1 v1 ch2 v2 ch3 v3 Mvol
|
|
3 channel mixer.
2% DSP
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
1 2 3 4
|
m
|
ch1 v1 ch2 v2 ch3 v3 ch4 v4 Mvol
|
|
4 channel mixer.
3% DSP
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
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
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
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
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
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
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
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
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
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
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!
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!
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!
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!
i0 i1 i2 i3 i4 i5 i6 i7
|
o
|
Sel
|
|
input multiplexer. Output is i1 when s < 1, i[i] when....
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.
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)
l r
|
l r
|
on mix feed
|
|
Very simple stereo reverb. Got a metallic touch to it, but still pretty decent sound. 14%
trig pitch pos
|
out
|
t
|
|
pitch position envon a d s r
|
|
Simple sampler with an ADSR envelope.
trig pitch pos
|
out
|
t
|
|
envon pitch position d vol
|
|
Simple sampler with pitch, position, decay envelope and volume.
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.
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.
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.
note
|
s
|
p1
|
|
Scale object. Any incoming value will be scaled to the closest note in the scale.
in def1 def2
|
chain o1 o2
|
p1 p2
|
|
select one out of 16 booleans, chainable, 2 tracks
in def1 def2
|
chain o1 o2
|
p1 p2
|
|
select one out of 16 booleans, chainable, 2 tracks, pulse output
in def1 def2 def3 def4
|
chain o1 o2 o3 o4
|
p1 p2 p3 p4
|
|
select one out of 16 booleans, chainable, 4 tracks
in def1 def2 def3 def4
|
chain o1 o2 o3 o4
|
p1 p2 p3 p4
|
|
select one out of 16 booleans, chainable, 4 tracks, pulse output
in def1 def2 def3 def4 def5 def6
|
chain o1 o2 o3 o4 o5 o6
|
p1 p2 p3 p4 p5 p6
|
|
select one out of 16 booleans, chainable, 6 tracks
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
|
|
select one out of 16 booleans, chainable, 8 tracks
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
|
|
select one out of 16 booleans, chainable, 8 tracks, pulse output
in def
|
chain o
|
b16
|
|
select one out of 16 booleans, chainable
in def
|
chain o
|
b16
|
|
select one out of 16 booleans, chainable. Pulse output.
in def
|
chain o
|
b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15
|
|
select one out of 16 bipolar fractionals, with chain i/o
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
|
|
select one out of 32 bipolar fractionals, with chain i/o
in def
|
chain o
|
b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15
|
|
select one out of 16 positive fractionals, with chain i/o
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
|
|
select one out of 32 positive fractionals, with chain i/o
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/o
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
|
|
select one out of 16 integers +-, with chain i/o
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
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...)
1 2
|
|
1 2
|
|
constant string
1 2 3 4
|
|
1 2 3 4
|
|
constant string
1 2 3 4 5 6 7 8
|
|
1 2 3 4 5 6 7 8
|
|
constant string
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
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....
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.
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!
index
|
|
size prefix suffix
|
|
A combination of 3 objects:
table/alloc 16b sdram
table/load
string/indexed
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.
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!
text
|
|
Simple text object to keep notes right at your hand, inside the patch.
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
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
in fb damp
|
out
|
delay
|
|
Freverb style lowpass feedback comb filter 32bit SDRAM
in fb damp
|
out
|
delay
|
|
Freverb style lowpass feedback comb filter 32bit
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.
time
|
out
|
delayname
|
|
time
|
|
delay read, non-interpolated
time
|
out
|
delayname
|
|
time
|
|
delay read, non-interpolated
time
|
out
|
delayname
|
|
time
|
|
delay read, linear interpolated
in
|
|
size
|
|
delayline definition, read with delread~
in
|
|
size
|
|
delayline definition, read it with "delay/read" objects referencing the instance name of this object
in mod
|
out
|
delay
|
|
allpass reverb section with modulation input
in mod
|
out
|
delay
|
|
allpass reverb section with modulation input
in_1st in_2nd
|
out
|
Downsampling filter (SINC with Hamming window)
in
|
out
|
Downsampling filter (SINC with Hamming window)
in_1st in_2nd
|
out_1st out_2nd
|
pitch Fx2 reso
|
|
Oversampled 2-pole resonant low-pass filter (biquad)
in
|
out
|
pitch reso
|
|
Notch filter (biquad)
in_1st in_2nd
|
out_1st out_2nd
|
pitch Fx2 reso gain ON
|
|
Notch filter (biquad)
in
|
out
|
pitch reso gain on
|
|
Notch filter (biquad)
in
|
out_1st out_2nd
|
Upsampling x2 with linear interpoation
in
|
out_1st out_2nd
|
Upsampling x2 with linear interpoation
in_1st in_2nd frequency reso
|
out_1st out_2nd
|
Oversampled 2-pole resonant low-pass filter (biquad), filter updated at k-rate
pitch sync
|
wave
|
pitch
|
|
Phasor with signal rate reset. An abrupt decrease at the sync inlet resets the phase.
in
|
out
|
on fdbk depth speed
|
|
(no description)
inlet_1
|
outlet_1
|
speed depth offset wobble xover1 xover2 blend on
|
|
(no description)
in
|
out
|
speed waveform depth offset blend on
|
|
(no description)
active reset
|
x y z
|
val
|
|
Simple chaotic lfo
- parameter "val" is range from oscillation to chaos
active reset
|
x y z
|
Lorenz chaotic attractor - lfo
https://en.wikipedia.org/wiki/Lorenz_system
trig
|
gate
|
gate
|
Chaotic Random Gate - Using two Logistic Maps
trig reset
|
pos neg out
|
Lorenz chaotic attractor - gate
https://en.wikipedia.org/wiki/Lorenz_system
trig1 trig2
|
gate
|
gate
|
Simple Neural-Net Gate
in trig
|
out pos neg
|
Sample & Hold and Gate
active reset pitch
|
x y
|
freq s r err
|
|
Not well tuned chaotic oscillator
active reset
|
x y z
|
Chua chaotic oscillator
https://en.wikipedia.org/wiki/Chua%27s_circuit
active reset
|
x y z
|
Lorenz chaotic attractor - oscillator
https://en.wikipedia.org/wiki/Lorenz_system
active reset
|
x y z
|
Rossler chaotic attractor - oscillator
https://en.wikipedia.org/wiki/R%C3%B6ssler_attractor
pitch1 pitch2
|
wave
|
pitch1 pitch2
|
|
Xor saw wave oscillator
active trig rst
|
wave gate
|
steps hits
|
|
bit
|
Pseudo euclidean sequencer
active trig rst
|
out
|
Xor pseudorandom structure sequencer
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
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.
dump
|
|
For developers: dumps a list of current threads and their status.
detune root
|
|
C Db D Eb E F Gb G Ab A Bb B
|
|
Tuning table for tonewheels using just intonation.
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.
velosense f1 f2 f3 f4 f5 f6 f7 f8 f9
|
|
hammond-like drawbars producing pulses on midi note-on.
a1
|
|
oscilloscope to watch the drawbars action
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.
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.
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.
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
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.
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.
in pitchm
|
up down
|
pitch
|
|
Bode frequency shifter or SSB modulator.
It shifts the frequency content in a linear way, unlike a pitch shifter.
in
|
L R
|
speed inten
|
|
(no description)
in delay spread
|
l r
|
grains grainlength window size
|
|
delay spread
|
|
granular echo line
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.
in delay spread
|
l r
|
grains grainlength window size
|
|
amount delay spread fdbk
|
|
granular reverb
a granular delay with feedback
ch1 ch2 ch3 ch4
|
ch1 ch2 ch3 ch4
|
Very experimental!
Send/receive audio between linked boards.
play
|
|
file device
|
|
Plays a standard midi file.
Can only start playback from the beginning of the midi file.
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.
phase
|
wave
|
amplitudes tuning
|
|
phase
|
|
Saw wave tonewheels, cheap and aliased
The saw oscillators use the 1st order DPW algorithm.
phase
|
wave
|
amplitudes tuning
|
|
phase
|
|
saw wave tonewheels, cheap and aliased
oscillator range is midi note 0 to 95
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.
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.
wave
|
|
amplitudes tuning
|
|
Sine wave tonewheels.
Processes note number 24 to 117.
No amplitude interpolation.
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.
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.
detune
|
|
C Db D Eb E F Gb G Ab A Bb B
|
|
Freely adjustable chromatic tuning table for tonewheels
detune
|
|
C
|
|
Equal temperament 12-tone tuning. This is the standard tuning.
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/
detune root
|
|
C Db D Eb E F Gb G Ab A Bb B
|
|
Tuning table for tonewheels using just intonation.
in trigger
|
out
|
mode chance
|
|
Randomizes the incoming pitch...
button1 button2 button3 button4 button5 button6 button7 button8
|
|
Outputs which buttons on the LKM1638 board are pressed.
button1 button2 button3 button4 button5 button6 button7 button8
|
|
Outputs which buttons on the LKM1638 board are pressed.
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.
led1 led2 led3 led4 led5 led6 led7 led8
|
|
Turns on the LEDs on the LKM1638 board.
toggle1 toggle2 toggle3 toggle4 toggle5 toggle6 toggle7 toggle8
|
|
Uses the buttons on the LKM1638 as toggles. Lights up the corresponding LEDs.
in min max
|
out
|
Constrains a value to not exceed a maximum and minimum value.
in
|
out
|
minimum maximum
|
|
Constrains a value to not exceed a maximum and minimum value.
in min max
|
out
|
Constrains a value to not exceed a maximum and minimum value.
in
|
out
|
minimum maximum
|
|
Constrains a value to not exceed a maximum and minimum value.
i0 i1 i2 i3
|
o0
|
Reads the boolean inputs as 4-bit binary, and outputs the corresponding int (0-15)
i0 i1 i2 i3 i4 i5 i6 i7
|
o0
|
Reads the boolean inputs as 8-bit binary, and outputs the corresponding int (0-255)
i0 i1 i2 i3
|
o0
|
Outputs an integer between 0 and 3, depending on the last input to see a rising edge.
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.
reset master tap samples factor
|
slave bpm 24ppq start tapping 24ppqsmp barsamples
|
(no description)
reset master samples factor
|
slave bpm 24ppq start 24ppqsmp barsamples
|
(no description)
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)
in rate mask
|
out
|
rate mask
|
|
quantize to n bits
out o1 o2 o3 o4
|
|
b1 b2 b3 b4 indexlatch
|
|
positive integer control, vertical radio buttons
out
|
|
value
|
|
positive integer control, horizontal radio buttons
in dist
|
out
|
dist
|
|
(no description)
gate resetgate
|
env
|
a d s r
|
|
Attack/decay/sustain/release envelope
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.
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.
in
|
out
|
amp hold
|
|
Multiply (attenuate) with a constant value
in
|
out
|
amp off
|
|
Multiply (attenuate) with a constant value
i trigandrst
|
o
|
Saturating accumulator. Adds input to accumulator when signal is positive, resets when signal is 0 or negative.
in bitcontrol
|
out
|
bits
|
|
disable 16bits of the output individually, control inlet is an andor (^) combined with the selected bits.
in
|
out
|
saturated multiply by 16bit... for those times when you need to squarify the shit out of it.
a cc
|
b
|
quantize to n bits, via cc control.
in
|
out
|
c-thru axis 49 selfless to w-h remap
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
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
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
channel
|
|
outputs the channel of the last played note
channel
|
|
outputs the channel of the last played note
note gate gate2 velocity releaseVelocity
|
|
startNote endNote
|
|
Monophonic MIDI keyboard note input, gate, velocity and release velocity, least recently used
o trig
|
|
Midi channel pressure input
bus_in in1 in2 in3 in4
|
out
|
gain1
|
|
4 input s-rate mixer, shows gain units, single control
bus_in in1 in2 in3 in4 in5
|
out
|
gain1
|
|
5 input s-rate mixer, shows gain units, single control
bus_in in1 in2 in3 in4 in5 in6
|
out
|
gain1
|
|
6 input s-rate mixer, shows gain units, single control
bus_in in1 in2 in3 in4 in5 in6 in7
|
out
|
gain1
|
|
7 input s-rate mixer, shows gain units, single control
bus_in in1 in2 in3 in4 in5 in6 in7 in8
|
out
|
gain1
|
|
8 input s-rate mixer, shows gain units, single control
a
|
b
|
flip flop, "automatic"
in
|
out
|
square up a signal
control wave
|
b
|
stitches waveforms
pitch grainfreq graindecay grainfreq2 graindecay2
|
phasor
|
pitch grainfreq graindecay grainfreq2 graindecay2 8bit
|
|
auduino port to axoloti, auduloti
pitch grainfreq graindecay grainfreq2 graindecay2
|
phasor
|
pitch grainfreq graindecay grainfreq2 graindecay2 waveform1 pulsewidth1 waveform2 pulsewidth2 8bit
|
|
extended auduino port to axoloti, extenduloti
o1
|
|
(no description)
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.
s
|
o
|
v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
|
|
selectable constant bipolar
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
s
|
o
|
v0 v1 v2 v3 v4
|
|
selectable constant bipolar
s
|
o
|
v0 v1 v2 v3 v4 v5 v6 v7
|
|
selectable constant bipolar
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.
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.)
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.)
i1
|
o1
|
table in RAM memory, direct from sliders
send layout
|
|
output
|
|
Sends sysex to change the "layout" on launchpad pro.
0=note
1=drum
2=fader
3=programmers
send text
|
|
output
|
|
loop speed
|
|
Sends sysex for displaying text on launchpad pro (version 1).
vel sensitivity envelope
|
result
|
Combines some math objects for an easy way to have a velocity sensitivity control
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
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
device channel
|
|
thru's CCs on the selected channel only
input output exclude
|
|
mod of mark harris' midi thru object.
Thru's all channels EXCEPT the exclude channel.
no clock.
device inchannel outchannel
|
|
Midi thru with channel translate,
messages on the inchannel are sent as the outchannel to the device
input output channel
|
|
mod of mark harris' midi thru object. only thru's the selected channel
no clock
input outputA onA outputB onB
|
|
Midi clock thru object.
Thru's clock from the input to the outputs. can send to two outputs
input inchannel output outchannel notes lowestnote highestnote ccs clock ChPressure PolyPressure ProgramCh bend
|
|
super midi thru object with loads of options!
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
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
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)
on polyphony clear offset stepunQ erasenote
|
|
table buffer bar voices channel
|
|
Plays midi notes. for use with the midi looper objects.
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
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
inlet_1 inlet_2
|
out1 out2 out3 out4
|
(no description)
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)
in gate
|
outlet_1 outlet_2
|
(no description)
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)
tempo clock_on_off
|
trigger
|
square_1
|
|
(no description)
inlet_1 speed feedback amount
|
outlet_1
|
lowpass_1
|
|
(no description)
inlet speed feedback amount
|
outlet
|
lowpass_1 hp1_1 lp1_1
|
|
(no description)
inLeft inRight
|
outLeft outRight
|
clean dist01in dist02in dist03in dist01out dist02out dist03out lp freq out
|
|
(no description)
inlet_1
|
outlet_1
|
(no description)
out
|
|
x
|
|
value
|
|
xtorable bipolar constant value dial.
Write the name of an xtor manager to add preset capabilities to this control.
out
|
|
x
|
|
value
|
|
xtorable positive value dial.
Write the name of an xtor manager to add preset capabilities to this control.
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.
out
|
|
x
|
|
value
|
|
xtorable positive integer control, horizontal radio buttons.
Write the name of an xtor manager to add preset capabilities to this control.
out
|
|
x
|
|
value
|
|
xtorable positive integer control, horizontal radio buttons.
Write the name of an xtor manager to add preset capabilities to this control.
out
|
|
x
|
|
value
|
|
xtorable positive integer control, horizontal radio buttons.
Write the name of an xtor manager to add preset capabilities to this control.
out
|
|
x
|
|
value
|
|
xtorable positive integer control, horizontal radio buttons.
Write the name of an xtor manager to add preset capabilities to this control.
out
|
|
x
|
|
value
|
|
Xtorable positive integer control.
Write the name of an xtor manager to add preset capabilities to this control.
o
|
|
x
|
|
b
|
|
Xtorable boolean, toggle control
Write the name of an xtor manager to add preset capabilities to this control.
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.
pitch
|
wave
|
pitch
|
|
seven detuned square wave oscillators
Non-bandwith limited. Fixed so it is bipolar.
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.
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)
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)
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)
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)
active 4ppq 24ppq 16th 1bar
|
|
midi In/Out Run clock count
|
|
(no description)
Reset Lfo cv
|
Active 24ppq Reset-out
|
Run in-out-Lfo-off clock out Lfo
|
|
(no description)
24ppq quant
|
o1
|
ppq to note gates quantisation
o
|
|
value
|
|
positive integer control 1-16
out
|
|
value
|
|
positive integer control
out
|
|
c
|
|
subtract/add constant i
out
|
|
value
|
|
positive integer control, horizontal radio buttons
out
|
|
value
|
|
positive integer control, horizontal radio buttons
out
|
|
value
|
|
positive integer control, horizontal radio buttons
out
|
|
value
|
|
positive integer control, horizontal radio buttons
out
|
|
value
|
|
positive integer control, vertical radio buttons
out
|
|
value
|
|
positive integer control, horizontal radio buttons
out
|
|
value
|
|
positive integer control, horizontal radio buttons
out
|
|
value
|
|
positive integer control, horizontal radio buttons
out
|
|
value
|
|
positive integer control, horizontal radio buttons
out
|
|
value
|
|
positive integer control, horizontal radio buttons
out
|
|
value
|
|
positive integer control, horizontal radio buttons
out
|
|
value
|
|
positive integer control, horizontal radio buttons
out
|
|
value
|
|
positive integer control, horizontal radio buttons
out
|
|
value
|
|
positive integer control, vertical radio buttons
out
|
|
value
|
|
positive integer control, vertical radio buttons
out
|
|
value
|
|
positive integer control, horizontal radio buttons
out
|
|
value
|
|
positive integer control, horizontal radio buttons
out
|
|
value
|
|
positive integer control, horizontal radio buttons
out
|
|
value
|
|
positive integer control, horizontal radio buttons
out
|
|
value
|
|
positive integer control, horizontal radio buttons
out
|
|
value
|
|
positive integer control, horizontal radio buttons
out
|
|
value
|
|
positive integer control, horizontal radio buttons
out
|
|
value
|
|
positive integer control, horizontal radio buttons
s
|
o
|
v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15
|
|
selectable constant horizontal
echo time FB
|
Echoout
|
dry/wet HP IN Time FbLp fba
|
|
(no description)
read in lpf hpf
|
out write
|
In xfade_1 Out Fbb FbGain gain lp_1 lpOn hp_1 hpOn
|
|
(no description)
in
|
kticks sec
|
size
|
|
delayline definition, read it with "delay/read" objects referencing the instance name of this object
with ms output
in
|
tics
|
size
|
|
delayline definition, read it with "delay/read" objects referencing the instance name of this object
with ms output
in
|
pow
|
size
|
|
delayline definition, read it with "delay/read" objects referencing the instance name of this object
with ms output
in
|
kticks
|
size
|
|
delayline definition, read it with "delay/read" objects referencing the instance name of this object
with kticks output
in read cross
|
write out
|
In xfade_1 Out FB Cross LPFB HPwrite
|
|
(no description)
kticks
|
sec
|
description
b
|
result
|
multiply
in1 in2 in3 in4 in5 in6 in7 in8
|
|
v1 v2 v3 v4 v5 v6 v7 v8
|
8x bipolar k-rate signal chart plotter
in1 in2 in3 in4 in5 in6 in7 in8
|
|
v1 v2 v3 v4 v5 v6 v7 v8
|
8x polar k-rate signal chart plotter
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.
i1 i2 i3 i4
|
|
d1 d2 d3 d4
|
display bool X4
gate
|
env
|
a d s r c
|
|
Attack/decay/sustain/release envelope
gate a d s r
|
o
|
a d s r c
|
|
Attack/decay/sustain/release envelope with modulation inputs
in pitch reso
|
out
|
pitch reso
|
|
2-pole resonant high-pass filter (biquad)
in pitch reso
|
out
|
pitch reso
|
|
2-pole resonant low-pass filter (biquad) 24kHz
inl inr
|
outl outr
|
freq
|
|
1st order lowpass filter stereo
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
scale gate in
|
pitch Gate Thru mux
|
transpose On C C# D D# E F F# G G# A A# B
|
|
(no description)
scale gate in
|
pitch Gate Thru
|
transpose On C C# D D# E F F# G G# A A# B
|
|
(no description)
s seq octave keyafter transafter
|
o
|
transpose on C Cis D Dis E F Fis G Gis A Ais B
|
|
matrix scaler
s
|
o
|
transpose on C Cis D Dis E F Fis G Gis A Ais B
|
|
matrix scaler
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
pitch
|
out
|
on C Cis D Dis E F Fis G Gis A Ais B
|
|
microscaler with on off switch Fader version
pitch gate mux
|
out
|
on C Cis D Dis E F Fis G Gis A Ais B
|
|
microscaler works with matrixscaler f mux
pitch
|
out
|
on C Cis D Dis E F Fis G Gis A Ais B
|
|
microscaler with on off switch
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)
pitch div
|
wave
|
pitch div
|
|
sine wave LFO, linear interpolated table, pitch input
pitch div
|
wave
|
pitch div
|
|
phasor wave LFO, linear interpolated table, pitch input and octave down input
pitch div
|
wave
|
pitch div
|
|
sine wave LFO, linear interpolated table, pitch input
pitch oct reset
|
wave
|
pitch oct
|
|
square wave LFO, boolean output, frequency input with octave inlet added to oct parameter
pitch reset
|
wave
|
pitch
|
|
gate
|
square wave LFO, boolean output, frequency input
i
|
o
|
0 is filterd out
in
|
out
|
value
|
|
trig in
|
Equal to constant integer with display
trig
|
o
|
maximum
|
|
very basic cyclic up counter
trig r count
|
o c
|
cyclic up counter
trig r max shift
|
o c
|
cyclic up counter with shift
trig r max min
|
o l c
|
cyclic up counter with minmax
trig max updown r
|
o c
|
cyclic up/down counter with input for up or down
trig max min updown r
|
o l c
|
cyclic up down counter with minmax input up/down input
trig updown r
|
o c
|
maximum
|
|
cyclic up/down counter with input for up or down
i1 i2 i3 i4
|
o
|
logic OR with 4 inputs
i1 i2 i3 i4
|
o
|
logic XOR with 4 inputs
in
|
out
|
c
|
|
subtract/add constanti
in
|
out
|
c
|
|
subtract/add constanti
in
|
out
|
c
|
|
subtract/add constant
in
|
out
|
c
|
|
subtract/add constant
in1
|
out
|
equal==0
i1 i2 i3 i4 i5 i6 i7 i8
|
o1
|
(no description)
o
|
|
constant value: 3
inlet1
|
outlet1
|
description
in half
|
out
|
if inlet_in<1 then inlet_in divided by inlet_half else multiply inlet_in with inlet_half
in
|
out
|
pow(2.inlet_in)
in1 max min
|
out
|
maximum
in
|
out
|
unsaturated multiply by 12
inlet1
|
outlet1
|
description
i
|
o
|
when in is odd then bang
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
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
in
|
out
|
amp subadd
|
|
Multiply (attenuate) with a constant value
then + subadd
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
i1 i2
|
o
|
c
|
|
crossfade between two inputs with knob
active 4ppq 24ppq
|
|
midi In/Out Run clock
|
|
(no description)
value cc channel trig
|
Receives Midi Continuous Controller messages from any CC number and channel.
Instead of outlets with display_cc
i1
|
o1 o2 o3 o4
|
inv1 inv2 inv3 inv4
|
|
1 in to 4 out Attenuverters
i1
|
o
|
inv
|
|
dual crossfade between inv/noniverted
i1 cv1
|
o
|
inv
|
|
dual crossfade between inv/noniverted
i1 i2
|
o
|
inv inv1
|
|
dual crossfade between inv/noniverted
i1 i2 i3
|
o
|
inv inv1 inv2
|
|
dual crossfade between inv/noniverted
inlet_1
|
outlet_1
|
inv_1 -+c_2 smooth_3 on
|
|
(no description)
i1 i2 i3 i4
|
o
|
inv inv1 inv2 inv3
|
|
quad crossfade between inv/noniverted
l r
|
out
|
gain1
|
|
stereo to mono s-rate mixer, square gain scale
in1 in2
|
out
|
add gain1 gain2
|
|
2 input k-rate mixer with with added gain instead of bus in
l1 r1 l2 r2
|
L R
|
gain1 gain2
|
|
2 stereo mix sq s-rate mixer, square gain scale
L R c
|
left right
|
stereo pan swap center is mono!left is normal right swapped
l r
|
L R
|
gain1
|
|
1 stereo input s-rate mixer, square gain scale
i1 i2
|
o
|
c
|
|
crossfade between two inputs with knob
i1
|
o
|
c
|
|
crossfade between inlet(left) and full gain(right)
very use full with vca left= env right = drone
L1 R1 c L2 R2
|
l r
|
stereo crossfade between two inputs
pitch freq phase oct
|
wave
|
pitch oct
|
|
sine wave oscillator
pitch freq phase sync oct
|
wave
|
pitch oct
|
|
sine wave oscillator, with rising-edge sync input
preset
|
|
p
|
apply preset, preset zero = init, and will reset ALL parameters, not just the presets with integrated change
trig reso
|
o
|
prob on value
|
|
v
|
probabiltiy random i
trig prob
|
o
|
probabiltiy bang
trig prob
|
b val
|
prob
|
|
probabiltiy bang
trig
|
o
|
prob
|
|
probabiltiy bang
trig
|
o
|
prob
|
|
on
|
probabiltiy bang
trig
|
o
|
prob
|
|
probabiltiy bang
trig reso
|
o
|
prob on value
|
|
v
|
probabiltiy random i
i
|
o
|
prob
|
|
on
|
probabilty latch
i
|
o
|
prob
|
|
on
|
probabilty latch
i
|
o
|
prob
|
|
probabilty latch
trig
|
o
|
prob
|
|
on
|
probabiltiy bang
trig
|
o
|
prob
|
|
probabiltiy random f
trig
|
o
|
prob value
|
|
probabiltiy random i
i1
|
o
|
prob max
|
|
probabiltiy switch inlet i or rnd number 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.
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.
trig i1
|
o a
|
prob
|
|
probabiltiy switch 1-2i with hold filters 0
trig i1
|
o a
|
prob
|
|
probabiltiy switch 1-2i
trig i1
|
o a
|
prob
|
|
probabiltiy switch 1-2i
trig i1 i2
|
o
|
prob
|
|
probabiltiy switch 2-1f
trig i1 i2
|
o
|
prob
|
|
probabiltiy switch 2-1i
trig
|
rand
|
uniform distributed (white) noise, triggered generation. Range 0-64
s
|
o
|
v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15
|
|
selectable constant horizontal
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
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
gateext in o g s
|
chain g oct gate slide
|
o g s
|
|
TB303 type sequencer with glide Gate and Oct outlets. Gate input should be a 50% gate at
inlet_in
i1
|
left right
|
gain pan
|
|
stereo balance (panorama) with gain (amp)
L R
|
left right
|
pan
|
|
stereo panning with control
L R pan
|
left right
|
stereo panning with modulation input
L R
|
left right
|
pan
|
|
stereo pan swap center is mono!left is normal right swapped
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.
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.
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.
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.
i1
|
o
|
b
|
|
switch 1b
i1
|
o
|
b
|
|
switch 1b
i1
|
o
|
b
|
|
switch 1 f
i1
|
o
|
b
|
|
sw 1i
i1 i2
|
o
|
s
|
|
switch Connects inlet_i1 to outlet when s is false, inlet inlet_i2 outlet o1 when s is true.
i1 i2
|
o
|
s
|
|
switch Connects inlet_i1 to outlet when s is false, inlet inlet_i2 outlet o1 when s is true.
i1 i2
|
o
|
s
|
|
switch Connects inlet_i1 to outlet when s is false, inlet inlet_i2 outlet o1 when s is true.
i1 i2
|
o
|
s
|
|
switch Connects inlet_i1 to outlet when s is false, inlet inlet_i2 outlet o1 when s is true.
toggle
|
t
|
while 'toggle' is true,timer is counting..
if 'toggle' is false,timer spits out the time.
Zeros are filterd out.
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
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).
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).
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
|
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.
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
a d gate reset
|
env
|
attack hold decay envelope with modulation inputs
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'.
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'.
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'
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'
toggle
|
t
|
while 'toggle' is true, 'clocker' is counting and
spits out the current clock.
if 'toggle' is false , 'clocker' puts out 0.
trig reset to
|
o c
|
maximum
|
|
cyclic up counter
i gate
|
o0 o1 o2 o3 o4 o5 o6 o7 chain
|
integer decoder.only outputs if 'gate' is true.
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.
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.
v
|
out
|
value
|
|
positive integer control, horizontal radio buttons
inlet 'reset' resets control to zero
out
|
|
range
|
|
value
|
|
scale a dial to an integer range
reset
|
out
|
value default
|
|
bipolar constant value dial.
trigger at inlet 'reset' will set the output to 'default'
trig
|
oneclick doubleclick
|
time
|
|
(no description)
b1 b2 b3 b4
|
out active
|
trigger an index according to a connected boolean source, index can be momentary or latching
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
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
in
|
amp
|
time
|
|
envelope follower, linear output
in filter
|
out b
|
filter
|
|
filter out a defined value.if 'in',doesn't match the value , 'b' == 1.
in filter
|
out b
|
filter
|
|
filter out a defined value.if 'in',doesn't match the value , 'b' == 1.
flash
|
flash
|
speed
|
|
(no description)
control in
|
out
|
multiply
control in
|
out
|
multiply
control in
|
out
|
multiply
in gate
|
out
|
while gate is true,in is passed to out.
if gate is false,the last input of in will be held.
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.
reset
|
out
|
value reset
|
|
positive integer control, horizontal radio buttons
inlet 'reset' resets control to zero
reset
|
out
|
value reset
|
|
positive integer control, horizontal radio buttons
inlet 'reset' resets control to zero
set setTo
|
out
|
value
|
|
positive integer control, horizontal radio buttons
inlet 'reset' resets control to zero
set setTo
|
out
|
value
|
|
positive integer control, horizontal radio buttons
inlet 'reset' resets control to zero
in
|
out
|
delaylength
|
|
K-rate delay line, fixed delay time.
simple mod of delay/echo by Johannes Taelman.
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'.
trig
|
o
|
toggle driven by pulses.
kticks trig
|
trig
|
kticks
|
|
delays a pulse by a period specified in 'k-ticks'.
in
|
out
|
high low
|
|
outputs TRUE when the input is in between 'high' and 'low' (>= AND <=)
in
|
out
|
high low
|
|
outputs TRUE when the input is in between 'high' and 'low' (>= AND <=)
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.
in
|
out
|
replace with
|
|
if 'in' == 'replace' , 'out' will be replaced with 'with'.otherwise,'out' = 'in'
in
|
out
|
replace with
|
|
if 'in' == 'replace' , 'out' will be replaced with 'with'.otherwise,'out' = 'in'
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.
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.
add in
|
out
|
add
|
|
if 'inlet add' is high,'add' will be added to the input.
otherwise,the input is passed through
in
|
out
|
hi lo
|
|
if 'in' is true , 'out' will be 'high'.otherwise,'out' = 'low'
in
|
out
|
time
|
|
limits data rate.useful for debouncing.
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)
toggle
|
t
|
while 'toggle' is true,timer is counting..
if 'toggle' is false,timer spits out the time in samples
trig
|
pulse
|
Generates a single pulse after a falling edge on trigger input
trig
|
pulse
|
Generates a single pulse after a rising edge on trigger input
wave
|
over
|
threshold
|
|
(no description)
toggle
|
t
|
while 'toggle' is true,timer is counting..
if 'toggle' is false,timer spits out the time
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'
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'
v a
|
o
|
a VCA with linear to hanning interpolation
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.
fraction
|
samples
|
table
|
|
returns the length in samples of the fraction of a table
a v trig
|
|
table
|
|
write to table
index value
|
value
|
table
|
|
offset
|
|
multiplies integer 'value' with the element 'index' of 'table'.
'offset' is added to 'index'.
integer result.
offset
|
v0 v1 v2 v3
|
table offset
|
|
read 8 values from a table,starting from 'offset'
offset
|
v0 v1 v2 v3 v4 v5 v6 v7
|
table offset
|
|
read 8 values from a table,starting from 'offset'
offset
|
v0 v1 v2 v3 v4 v5 v6 v7
|
table offset
|
|
read 8 values from a table,starting from 'offset'
v0 offset
|
v0
|
table
|
|
writes and outputs 4 values to a table.
v0 offset
|
v0
|
table
|
|
writes and outputs 4 values to a table.
v0 v1 v2 v3 offset
|
v0 v1 v2 v3
|
table
|
|
writes and outputs 4 values to a table.
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.
inc dec offset
|
v0
|
table increment mode
|
|
writes and outputs 4 values to a table.
in i offset
|
v0 v1
|
table
|
|
writes and outputs values to a table at position 'i' + 'offset'.
in i offset
|
v0 v1 v2 v3 v4 v5 v6 v7
|
table
|
|
writes and outputs values to a table at position 'i' + 'offset'.
in i offset
|
v0 v1 v2 v3
|
table offset
|
|
writes and outputs values to a table at position 'i' + 'offset'.
v i trig
|
v
|
table
|
|
writes and outputs values to a table at position 'i' + 'offset' at the rising edge of 'trig'
v0 offset
|
v0
|
table offset
|
|
writes and outputs a value to a table if the value changes.
v0 v1 v2 v3 offset write
|
|
table
|
|
offset write
|
|
if 'write' is ON,writes 4 values to a table,starting from 'offset'
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'
v0 offset write
|
|
table
|
|
offset write
|
|
if 'write' is ON,writes a value to a table,starting from 'offset'
ABBA A B trig
|
|
A B range
|
|
(no description)
src copy dst paste
|
|
table range
|
|
(no description)
src dst trig
|
|
src dst range
|
|
(no description)
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.
offset
|
|
table
|
|
b0 b1 b2 b3
|
|
view and edit 4 elements of a table.
'offset' changes the start to display/edit from.
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.
offset trig
|
|
table offset
|
|
v
|
|
sets the index of table to the value of the dial at index 'offset'
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'
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'
offset trig
|
|
table a1 a2 a3 a4
|
|
sets the indexes of table to the value of the attributes starting at index 'offset'
offset trig
|
|
table
|
|
v0 v1 v2 v3
|
|
sets the indexes of table to the value of the dials starting at index 'offset'
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'
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'
filename start trig
|
|
table
|
|
load table from sdcard
filename trig start length
|
done
|
table
|
|
save an area of a table to sd-card,defined in samples
offset
|
|
table
|
|
p1 offset
|
|
set 16 elements of a table to 0 or max,starting from 'offset'
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'
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.
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.
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'
offset
|
|
table
|
|
d0 d1 d2 d3
|
display 16 indexes of a table as bools,starting from 'offset'
offset
|
|
table
|
|
offset
|
|
d0 d1 d2 d3 d4 d5 d6 d7
|
display 16 indexes of a table as bools,starting from 'offset'
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'
offset
|
|
table
|
|
offset
|
|
display 16 indexes of a table as floats,starting from 'offset'.bipolar.
offset
|
|
table
|
|
offset
|
|
display 8 indexes of a table as floats,starting from 'offset'.bipolar.
offset
|
|
table
|
|
offset
|
|
display 16 indexes of a table as floats,starting from 'offset'.sorry,unipolar only
in
|
|
v
|
display boolean.if 'in' == true,the display stays ON for some time,thus,a pulse can also be displayed.
string trig
|
|
print object - prints integers on change, max 1/sec
in basefreq width
|
out
|
basefreq width
|
|
combination of lp1 and hp1.'basefreq' sets the base frequency,'width' sets the frequency range
i1
|
o
|
fuzz level
|
|
Fuzz Face emualator (sort of...)
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
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.
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.
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.
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.
in
|
out
|
p1 p2 p3 p4 p5 p6 p7 p8
|
|
cheapo waveshaper.based on 'table/read/interp'.
works as wavetable-oscillator as well.
index
|
color
|
color
|
|
a little helper showing which color of a launchpad is assinged to which velocity
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 ?
start length clear
|
|
device
|
|
length start
|
|
clear an area of the 8x8 button matrix on a 'novation launchpad'
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)
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.
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.
on coloron coloroff redraw
|
|
device button on off
|
|
sets a right row button on the 'launchpad' to the defined color
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'.
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.
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.
offset start coloron coloroff blocksize color step active redraw
|
|
table device color
|
|
active
|
|
display a step counter on a novation launchpad
on coloron coloroff redraw
|
|
device button on off
|
|
sets a top row button on the 'launchpad' to the defined color
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'.
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.
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.
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.
hz reset
|
wave
|
square wave LFO, boolean output, input in hz
simple mod of 'lfo/square'
toggle launch stop rec phase start stop_now
|
play reset state
|
(no description)
toggle rec start stop
|
play reset
|
(no description)
offset range startpoint speed play
|
pos spos stotal speed play
|
table
|
|
speed
|
|
drives a phasor (saw-wave) for reading/writing data
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
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
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.
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'.
offset range omod rmod
|
OFFSET RANGE
|
(no description)
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
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.
clearSlot slot clearAll
|
|
lpr
|
|
(no description)
findEmpty slot
|
found slot full
|
lpr
|
|
(no description)
slot gate slot start wait master phase master start
|
gate
|
(no description)
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
|
smps
|
smplr
|
|
returns the length in samples of a slot
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.
in
|
out
|
shift
|
|
right shift. halves the value n times.n = parameter 'shift'.
in shift
|
out
|
right shift. halves the value n times.n = inlet 'shift'.
in
|
out
|
shift
|
|
left shift. doubles the value n times.n = parameter 'shift'.
in shift
|
out
|
left shift. doubles the value n times.n = inlet 'shift'.
a b
|
result
|
shift
|
|
multiply and left-shift
in mul
|
out
|
multiplies a 'green integer' at inlet 'in' with a 'blue float' at inlet 'mul'
trig rst
|
o
|
accumulator.adds '1' on trigger. Reset clears the accumulator to zero.
a b
|
float
|
divides 'blue float' by 'blue float'.result = 'blue float'.output CAN overflow.
float int
|
float
|
divides 'blue float' by 'green int'.result = 'blue float'
a b
|
int
|
divides 'green int' by 'blue float'.result = 'green int'.output CAN overflow.
a b
|
float
|
divides 'green int' by 'green int'.result = 'blue float'.output CAN overflow.
phase
|
win
|
half of a hanning window function, input 0..64
i1 i2
|
high low
|
sorts 2 integers : the higher of the 2 is put out at 'high' , the lower at 'low'
kticks
|
freq
|
converts control-rate ticks to units suitable for setting the frequency of oscillators
in
|
out
|
hi lo
|
|
clamps the input between 'high' and 'low'.
in
|
out
|
hi lo
|
|
clamps the input between 'high' and 'low'.
in
|
out
|
curve
|
|
pow4 interpolation,mod of origninal object by toneburst
smps mul
|
freq
|
converts samples to units suitable for setting the frequency of oscillators.
the result is multiplied with inle 'mul'.
smps
|
freq
|
converts samples to units suitable for setting the frequency of oscillators.
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...
in
|
out
|
hi lo input
|
|
scales the input between 'high' and 'low'.
in
|
out
|
hi lo
|
|
scales the input between 'high' and 'low'.
in
|
out
|
inrange outrange
|
|
Experimental::scales an input between 0 and 'inrange' to a value between 0 and 'outrange'.NOT accurate sometimes.CAN 'overflow'
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...
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...
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...
in
|
sign
|
returns the sign of the input:0 = negative, 1 = unsigned (inlet == zero),2 = positive
in reset
|
out
|
time
|
|
exponential smooth.mod of 'smooth' by johannes.
in bits
|
out
|
wrap to 0..64 range after multiplying with 2^bits
cheap and dirty mod of 'wrap'
a
|
b
|
wrap to 0..64 range
a
|
b
|
wrap to 0..64 range
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.
note velocity gate cc value
|
provides in-patcher information about incoming midi-data
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.
startcc
|
cc0 cc1 cc2 cc3 cc4 cc5 cc6 cc7
|
startcc
|
|
outputs the state of 8 controllers starting from 'startcc'
startcc
|
cc0 cc1 cc2 cc3 cc4 cc5 cc6 cc7
|
startcc
|
|
outputs the state of 8 controllers starting from 'startcc'
startnote
|
g0 g1 g2 g3 g4 g5 g6 g7
|
startnote
|
|
outputs the state of 8 notes,starting from 'startnote'.
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.
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'.
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'.
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'.
v0 v1 v2 v3 startcc
|
|
device channel
|
|
startcc
|
|
sends 4 midi control changes,starting from 'startcc'
v0 v1 v2 v3 v4 v5 v6 v7 startcc
|
|
device channel
|
|
startcc
|
|
sends 8 midi control changes,starting from 'startcc'
g0 g1 velon veloff startnote
|
|
device channel velon veloff
|
|
startnote
|
|
sends 2 notes with velocities defined by 'velon' and 'veloff',starting frim 'startnote'.
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'.
g0 velon veloff startnote
|
|
device channel velon veloff
|
|
startnote
|
|
sends a note with velocities defined by 'velon' and 'veloff',starting frim 'startnote'.
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'.
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'.
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'
startnote v0 v1 v2 v3
|
|
device channel
|
|
startnote
|
|
sends 4 note velocities,no gate,no bullshit.for controllers that feel like receiving them.
startnote v0
|
|
device channel
|
|
startnote
|
|
sends note velocities,no gate,no bullshit.for controllers that feel like receiving them.
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.
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.
index play stopall
|
note velo
|
seq
|
|
play back a sequence recorded with 'note rec'
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.
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'
offset range start speed play
|
pos play
|
table
|
|
speed
|
|
one-shot readout of table data
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.
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.
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.
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'.
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')
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')
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')
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')
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.
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.
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.
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.
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.
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.
in
|
out
|
c
|
|
filter out a defined value
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.
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.
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'.
offset range startpoint loopstart speed play reset
|
pos count smps
|
table
|
|
speed
|
|
drives a phasor (saw-wave) for reading/writing data
range loopstart speed play reset
|
pos count smps
|
table
|
|
speed
|
|
drives a phasor (saw-wave) for reading/writing data
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.
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'
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'
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
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
offset range speed startpoint loopstart reset
|
pos count smps
|
table
|
|
drives a phasor (saw-wave) for reading/writing data
range speed loopstart reset
|
pos count smps
|
table
|
|
drives a phasor (saw-wave) for reading/writing data
pos wave overdub
|
|
table
|
|
adds data to the content of a table,at inlet pos (in fraction of the table's size)
offset range speed looplength loopstart reset
|
pos count
|
table
|
|
drives a phasor (saw-wave) for reading/writing data
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)
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).
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).
offset range speed startpoint loopstart play reset
|
out count smps
|
table
|
|
reads a table and outputs the data as audio,looped and interpolated.
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...)
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'.
wave rec play dub feedback
|
wave
|
table
|
|
a looper with overdub and feedback
waveL waveR rec play dub feedback
|
waveL waveR
|
tableL tableR
|
|
a looper with overdub,stereo version
wave rec play dub
|
wave pos length
|
table
|
|
a looper with overdub,has sync outputs for playback position and loop length (in samples)
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.
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)
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'.
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).
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 velo
|
|
device channel
|
|
sends a note / a velocity when either changes
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.
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'.
note velo trig
|
|
device channel
|
|
Midi note hold
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'.
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.
in high low
|
out
|
high low
|
|
if 'in' is true , 'out' will be replaced with 'high'.otherwise,'out' = 'low'
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.
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.
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
|
smps
|
smplr
|
|
returns the length in samples of a slot
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 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.
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.
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.
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.
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.
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'.
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.
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
phase pos
|
trig
|
puts out a pulse when 'phase' reaches the value defined by 'pos'
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.
freq reset
|
wave
|
saw wave signal-rate LFO, rising slope, frequency input.lets call it 'phasor'.copy-pasted from 'lfo/saw lin' by Johannes.
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.
smps reset
|
wave
|
saw wave signal-rate LFO, rising slope, sample input.
48000 at inlet 'smps' will result in a 1hz-saw-wave.
i0 i1
|
o
|
input collector.outputs an input's value if it changes.
i0 i1 i2 i3
|
o
|
input collector.outputs an input's value if it changes.
i0 i1 i2 i3 i4 i5 i6 i7
|
o
|
input collector.outputs an input's value if it changes.
i0 i1
|
o
|
input collector.outputs an input's value if it changes.
i0 i1 i2 i3
|
o
|
input collector.outputs an input's value if it changes.
i0 i1 i2 i3 i4 i5 i6 i7
|
o
|
input collector.outputs an input's value if it changes.
i0 i1
|
o
|
input collector.outputs an input's value if it changes.
i0 i1 i2 i3
|
o
|
input collector.outputs an input's value if it changes.
i0 i1 i2 i3 i4 i5 i6 i7
|
o
|
input collector.outputs an input's value if it changes.
pulse
|
|
bang
|
|
Generates a single pulse when the button is pressed
similar to PD / Max/Msp 'bang'
trig
|
test
|
(no description)
i
|
o
|
convert integer to 'k-rate float'
i
|
o
|
convert 'k-rate float' to integer
on
|
|
puts out a 'bool 1' after a patcher is going 'live'.
pulse
|
|
Generates a single pulse when a patcher is loaded.
similar to PD / Max/Msp 'loadbang'
in
|
out
|
passes in to out.thats all it does.
in
|
out
|
passes in to out.thats all it does.
in
|
out
|
passes in to out.thats all it does.
out
|
|
sender
|
|
delay read, non-interpolated
string trig
|
|
sender
|
|
(no description)
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'.
in
|
|
delayline definition, read it with "delay/read" objects referencing the instance name of this object
in
|
|
delayline definition, read it with "delay/read" objects referencing the instance name of this object
string trig
|
|
send (to recv object), integer type
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
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'.
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'.
redraw mute
|
|
holdmap thin device channel
|
|
references a table, sends note and velocity when an index of the table changes.
works good with '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'.
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
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.
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.
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.
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.
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 velo
|
|
device channel
|
|
sends a note / a velocity when either changes
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.
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
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
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
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
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
note
|
note
|
translates integer note and velocity to 'blue float'
velo
|
velo
|
translates integer note and velocity to 'blue float'
note velo
|
note velo
|
translates integer note and velocity to 'blue float'
left right up down
|
|
outputs the state of 8 controllers starting from 'startcc'
offset fine copyToAll holdOnly excludeHold protect slot
|
|
table pads blocksize holdmap
|
|
Receives Midi Continuous Controller messages from any CC number and channel.
offset fine mode0 mode1 mode2 mode3 mode4 mode5 mode6 mode7
|
|
table
|
|
Receives Midi Continuous Controller messages from any CC number and channel.
offset fine mode0 mode1 mode2 mode3 mode4 mode5 mode6 mode7 massmod
|
|
table blocksize
|
|
Receives Midi Continuous Controller messages from any CC number and channel.
offset fine
|
|
table
|
|
Receives Midi Continuous Controller messages from any CC number and channel.
v0 v1 v2 v3 v4 v5 v6 v7 fine
|
v0 v1 v2 v3 v4 v5 v6 v7
|
(no description)
v up down
|
|
(no description)
v
|
|
(no description)
text redraw mute
|
|
row column LEDmaster
|
|
(no description)
in mode redraw mute
|
|
mode row column LEDmaster
|
|
(no description)
clear row clearAll
|
|
LED
|
|
(no description)
thin
|
|
(no description)
thin
|
|
(no description)
redraw row mute
|
|
LEDmaster row cell0 cell1 cell2 cell3 cell4 cell5 cell6 cell7
|
|
(no description)
redraw row text0 text1 text2 text3 text4 text5 text6 text7 mute
|
test
|
LEDmaster row
|
|
(no description)
redraw row mute v0 v1 v2 v3 v4 v5 v6 v7
|
|
LEDmaster row mode0 mode1 mode2 mode3 mode4 mode5 mode6 mode7
|
|
(no description)
redraw row mute v0 mode0 v1 mode1 v2 mode2 v3 mode3 v4 mode4 v5 mode5 v6 mode6 v7 mode7
|
|
LEDmaster row
|
|
(no description)
redraw row mute v0 v1 v2 v3 v4 v5 v6 v7
|
|
LEDmaster row
|
|
(no description)
redraw row mute v0 v1 v2 v3 v4 v5 v6 v7
|
|
LEDmaster row mode0 mode1 mode2 mode3 mode4 mode5 mode6 mode7
|
|
(no description)
in mode
|
out trig
|
(no description)
in
|
out trig
|
mode
|
|
(no description)
in
|
out trig
|
(no description)
b0 b1
|
|
outputs the state of 8 controllers starting from 'startcc'
b0 b1 b2 b3
|
|
outputs the state of 8 controllers starting from 'startcc'
b0 b1 b2 b3
|
|
(no description)
toggle
|
color
|
colorOn onBrightness colorOff offBrightness
|
|
(no description)
color brightness
|
color
|
colors
|
|
(no description)
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
select pad redraw mute
|
|
colormap blocksize index statemap brtOn brtOff holdmap clrHold brtHold clrSelect brtSelect thin
|
|
sends a note / a velocity when either changes
select pad onClr offClr selClr redraw mute
|
|
holdmap thin
|
|
sends a note / a velocity when either changes
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
b0 b1
|
|
outputs the state of 8 controllers starting from 'startcc'
b0 b1
|
|
(no description)
b0 b1 b2 b3 b4 b5
|
|
outputs the state of 8 controllers starting from 'startcc'
b0 b1 b2 b3 b4 b5
|
|
(no description)
b0 b1 b2 b3 b4 b5 b6 b7 b8 b9
|
|
outputs the state of 8 controllers starting from 'startcc'
b0 b1 b2 b3 b4 b5 b6 b7 b8 b9
|
|
(no description)
toggle
|
color
|
colorOn onBright onFlash colorOff offBright offFlash
|
|
(no description)
b0 b1 b2 b3 b4 b5 b6 b7
|
|
outputs the state of 8 controllers starting from 'startcc'
b0 b1 b2 b3 b4 b5 b6 b7
|
|
(no description)
toggle
|
color
|
onBright onFlash offBright offFlash
|
|
(no description)
left right inc dec delete clear
|
display string
|
constant string
toggle
|
color
|
colorOn onBright onFlash colorOff offBright offFlash
|
|
(no description)
toggle colorOn onBright onFlash colorOff offBright offFlash
|
color
|
(no description)
b0 b1 b2 b3 b4 b5 b6 b7
|
|
outputs the state of 8 controllers starting from 'startcc'
b0 b1 b2 b3 b4 b5 b6 b7
|
|
(no description)
toggle
|
color
|
colorOn onBrightness colorOff offBrightness
|
|
(no description)
b0 b1 b2 b3 b4 b5 b6 b7
|
|
outputs the state of 8 controllers starting from 'startcc'
b0 b1 b2 b3 b4 b5 b6 b7
|
|
(no description)
(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.
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.
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'.
filename save load
|
|
table SDapi
|
|
saves/loads an entire table to SD-card
offset range direction transpose trigger stop
|
phase play
|
wave direction
|
|
drives a phasor (saw-wave) for reading/writing data
offset range loopstart direction transpose play trigger resetORstop
|
phase play
|
wave direction
|
|
drives a phasor (saw-wave) for reading/writing data
offset range direction transpose play reset
|
phase
|
wave direction
|
|
drives a phasor (saw-wave) for reading/writing data
offset range loopstart direction transpose play reset
|
phase
|
wave direction
|
|
drives a phasor (saw-wave) for reading/writing data
phase
|
smps
|
table
|
|
(no description)
in
|
out
|
blocksize
|
|
multiplies steps from a sequencer-clock to match the number of parameters each step of your sequence is using.(== 'blocksize')
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.
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'.
index play stopall
|
note velocity
|
table
|
|
play back a sequence recorded with '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.
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'.
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'.
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.
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.
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'.
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.
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.
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.
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.
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.
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.
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'.
phase pos
|
trig
|
puts out a pulse when 'phase' reaches the value defined by 'pos'
filename save load delete trash sampleName saveSample offset range loadSample toSlot
|
|
smplr SDapi directory loadSlotAndDefrag
|
|
(no description)
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
|
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
|
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
|
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
|
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
|
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.
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.
saveAll loadAll slot saveSlot loadSlot fn1 fn2 fn3 fn4 fn5 fn6
|
done test
|
smplr
|
|
save and load table to sdcard
offset range direction transpose play reset
|
phase
|
direction smplr
|
|
drives a phasor (saw-wave) for reading/writing data
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.
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.
a
|
o
|
smplr
|
|
read from table, linear interpolated
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
|
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.
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.
in
|
out
|
append maxLength
|
|
constant string
sel
|
out
|
maxLength str0 str1 str2 str3
|
|
constant string
out
|
|
str maxLength
|
|
constant string
int
|
char
|
converts an int to the corrsponding ASCII-char
index
|
out
|
prefix maxLength
|
|
generates string: prefix000suffix
in
|
out
|
prepend maxLength
|
|
constant string
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.
caps
|
text0 text1 text2 text3
|
str0 str1 str2 str3
|
|
constant string
text0 text1 text2 text3
|
|
maxLength str0 str1 str2 str3
|
|
constant string
caps
|
text0 text1 text2 text3 text4 text5 text6 text7
|
maxLength str0 str1 str2 str3 str4 str5 str6 str7
|
|
constant string
text0 text1 text2 text3 text4 text5 text6 text7
|
|
maxLength str0 str1 str2 str3 str4 str5 str6 str7
|
|
constant string
str1
|
out
|
suffix
|
|
appends a suffix to an input-string.
BEWARE:maximum length of input and suffix may not exceed 16 characters.
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.
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
offset range startpoint direction play
|
wave phase play spos slength
|
table
|
|
direction
|
|
drives a phasor (saw-wave) for reading/writing data
offset range startpoint speed play
|
pos spos stotal speed play
|
table
|
|
speed
|
|
drives a phasor (saw-wave) for reading/writing data
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.
Lgreen Lred Mgreen Mred Rgreen Rred
|
buttonL buttonM buttonR
|
(no description)
inc1 dec1 but1 inc2 dec2 but2
|
|
(no description)
MIC in left
|
|
(no description)
(no controls) | |
(no description)
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.
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.
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.
getDir index
|
test OUT1 out2 out3 trig
|
flist
|
|
load table from sdcard
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.
getDir index delete fn
|
test out1 out2 out3 out4 trig
|
filter
|
|
load table from sdcard
getDir index delete
|
test OUT1 out2 out3 out4 trig
|
filter
|
|
load table from sdcard
pos start stop
|
outl outr end
|
fn
|
|
streaming playback of a stereo .wav file from sdcard (testing)
filename load offset save start length
|
|
table SDapi
|
|
(no description)
index
|
test out trig
|
filter SDapi directory
|
|
load table from sdcard
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.
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
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
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
offset range startpoint loopstart speed r2zero r2start
|
pos count spos slength
|
table
|
|
speed
|
|
drives a phasor (saw-wave) for reading/writing data
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
offset range startpoint loopstart speed play r2zero r2start
|
pos count spos slength
|
table
|
|
speed
|
|
drives a phasor (saw-wave) for reading/writing data
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
offset range startpoint speed play r2offset r2start
|
pos count spos stotal speed play
|
table
|
|
speed
|
|
drives a phasor (saw-wave) for reading/writing data
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
offset range direction transpose play reset
|
smps
|
wave direction
|
|
drives a phasor (saw-wave) for reading/writing data
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'.
text redraw mute
|
test
|
row column LEDmaster
|
|
(no description)
text mute
|
|
LED row column
|
|
(no description)
in mute
|
|
LED row column mode
|
|
(no description)
in mute
|
|
LED row column
|
|
(no description)
clear row clearAll
|
|
LED
|
|
(no description)
row v0 v1 v2 v3 v4 v5 v6 v7 mute redraw
|
|
(no description)
thin
|
|
(no description)
thin
|
|
(no description)
thin
|
|
(no description)
redraw row mute
|
|
LEDmaster row
|
|
(no description)
redraw row text0 text1 text2 text3 text4 text5 text6 text7 mute
|
test
|
LEDmaster row
|
|
(no description)
redraw row v0 v1 v2 v3 v4 v5 v6 v7 mute
|
|
LED
|
|
(no description)
redraw row v0 v1 v2 v3 v4 v5 v6 v7 mute
|
|
LEDmaster row
|
|
(no description)
redraw row mute
|
|
LEDmaster row cell0 cell1 cell2 cell3 cell4 cell5 cell6 cell7
|
|
(no description)
trig row text0 text1 text2 text3 text4 text5 text6 text7
|
|
(no description)
redraw row mute v0 v1 v2 v3 v4 v5 v6 v7
|
|
LEDmaster row mode0 mode1 mode2 mode3 mode4 mode5 mode6 mode7
|
|
(no description)
mode rec toggle phase start_in master_start stop
|
start_out play r2offset r2start waiting
|
(no description)
count slength speed
|
smps reset
|
(no description)
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
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'.
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).
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'.
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'.
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'.
(no controls) | |
(no description)
in
|
out
|
curve
|
|
(no description)
in
|
out
|
hi lo
|
|
scales the input between 'high' and 'low'.
Lgreen Lred Mgreen Mred Rgreen Rred
|
buttonL buttonM buttonR
|
(no description)
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.
note trigger mute
|
note velo noteOn noteOff gate
|
busymap startNote endNote channel trigger noteshift
|
|
(no description)
(no controls) | |
(no description)
phase offset range
|
out
|
table
|
|
read from table, linear interpolated.'offset' and 'range' define the area inside the table to read from.
smps
|
wave
|
wave
|
|
read from table, linear interpolated
getDir index delete
|
test OUT1 out2 out3 out4 trig
|
filter
|
|
load table from sdcard
in offset scale
|
out
|
offset scale
|
|
Offset and scale a signal, k-rate, out = offset + (in * scale)
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.
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.
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.
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'
filename load offset save start length
|
|
table
|
|
(no description)
filename load save
|
|
smplr directory
|
|
(no description)
offset range direction transpose play reset
|
wave
|
wave
|
|
drives a phasor (saw-wave) for reading/writing data
save load fn1 fn2 fn3 fn4 fn5 fn6
|
done test
|
smplr
|
|
save and load table to sdcard
v0 v1 v2 v3 offset
|
v0 v1 v2 v3
|
table
|
|
writes and outputs 4 values to a table.
filename trig start length slot
|
|
wave data
|
|
load table from sdcard
filename trig start length
|
test
|
wave
|
|
save table to sdcard
filename trig start length
|
test
|
wave
|
|
save table to sdcard
save load fn1 fn2 fn3 fn4 fn5 fn6
|
done test
|
count t1 t2 t3 t4 t5 t6
|
|
save and load table to sdcard
save load
|
done test
|
count t1 fn1 t2 fn2 t3 fn3 t4 fn4 t5 fn5 t6 fn6
|
|
save and load table to sdcard
save load filename
|
test
|
table
|
|
save and load table to sdcard
save load filename
|
test
|
table
|
|
save and load table to sdcard
d4 d5 d6 d7 rs e qsize
|
|
external lcd control
printstring trig
|
|
lcdctrl
|
|
print string on trigger
data clock latch inh bits rate
|
|
external digital input pin control
v version: variable rate control
out
|
|
port bit
|
|
external digital output pin control
out
|
|
pad mode
|
|
Reads a digital input pin. 3.3V logic maximum, extended port range!
data clock latch oe bits
|
|
external digital output pin control
in
|
|
port bit
|
|
external digital output pin control
b0 b1 b2 b3 b4 b5 b6 b7 b8
|
value
|
Output an integer corresponding to the input bits set, 9 bit input
a b
|
up down step
|
ctrl
|
|
quadrature encoder decoder
rate debounce factor thresh
|
|
(no description)
pitch symm
|
wave
|
pitch
|
|
Low CPU Anti Aliased Asymmetric Triangle using second order EPTR algoroithm (one correction point per transition).
pitch
|
saw
|
pitch
|
|
Low CPU Anti Aliased Sawtooth using second order EPTR algoroithm (one correction point).
pitch
|
tri
|
pitch
|
|
Low CPU Anti Aliased Triangle using second order EPTR algoroithm (one correction point per transition).
pitch pw
|
pulse
|
pitch pw
|
|
Low CPU Anti Aliased Pulse Wave oscillator using third order Polynomial Transition Region algoiritm.
pitch
|
saw
|
pitch
|
|
Low CPU Anti Aliased Sawtooth using third order Polynomial Transition Region algoiritm.
offset
|
v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
|
table offset
|
|
read 8 values from a table,starting from 'offset'
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'
i1 i2 i3 i4 i5 i6 i7 i8
|
o
|
logic OR with 8 inputs
i1 i2 i3 i4 i5 i6 i7 i8
|
o
|
logic OR with 4 inputs
in1 in2 in3 in4 in5 in6 in7 in8
|
out
|
add
mute solo xsolo1 xsolo2 xsolo3 xsolo4 xsolo5 xsolo6 xsolo7 xsolo8
|
o
|
8 channel mute/solo control
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.
f
|
m
|
(no description)
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.
in
|
smp trig
|
Detects the number of samples between zero crossings, and when a zero crossing occurs trig outputs a pulse.
in
|
smp f trig
|
Detects the number of samples between zero crossings and calculates the frequency in axoloti format.
in
|
smp trig
|
Detects the number of samples between zero crossings.
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
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.
freq
|
|
Hz
|
Displays the frequency (in Hz) of a mtof value
t pitch
|
out
|
decay pitchdecay pitchenvamt basepitch click
|
|
Consistent kick drum object
a nmod
|
b
|
bits
|
|
quantize to n bits
in m chain feed
|
out
|
chain
|
|
m chain feed
|
|
Polynomial waveshaper with mild wavefolding happening. Useful for dank memes
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.
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
in
|
out
|
gain
|
|
Pseudo-tanh (hyperbolic tangent) waveshaper distortion. It can go from soft to hard clipping. Powerful enough signals can leak over. Antialiased.
in
|
out
|
Treshold envelope envelope
|
|
(no description)
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
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.
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.
coefs
|
|
b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15
|
|
Coefficient generator for waveshaper 16p object
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)
coefs
|
|
Waveshape visualizer for waveshaper 16p objects
in coefs feed
|
out
|
chain
|
|
feed
|
|
Wavetable type waveshaper distortion. Uses pre integration as an attempt to reduce antialiasing.
in pitch reso mode
|
out
|
pitch reso mode
|
|
2-pole resonant morphing filter (biquad). You can morph between lowpass, bandpass and highpass.
Audio In Formant Mod (+/-)
|
Output
|
Formant Filter 1 Filter 2 Filter 3 Formant Mix Formant Mix Formant Mix Master gain
|
|
(no description)
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
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)
b0 b1 b2 b3 sign
|
out
|
binary encoder (4 bit plus sign)
b0 b1 b2 b3 b4 b5 b6 b7 sign
|
out
|
binary encoder (8 bit plus sign) i0
in x y left right up down reset default
|
out reg
|
A 2D shift register. Can be used for cartesian sequencers.
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
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.
pos
|
o1 o2 o3 o4
|
table
|
|
Read from 4x8bit table (32bit)
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)
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
play hold length
|
pos startpos endpos
|
table
|
|
num den mulstart
|
|
Phase generator for the loop recorder object. Essential to avoid horrible noises.
pos startpos endpos
|
percent
|
Converts a position input to a phase (percent) output. Useful for visual indication of the loop position.
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)
i1 i2 i3 i4
|
protect
|
d1 d2 d3 d4
|
Protect number generator for the protect input in the table record object.
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.
w1 w2 w3 w4 pos protect mode
|
|
table
|
|
Record 4 tracks of audio into a 32bit table.
Each track occupies 8bit in size.
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
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
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.
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.
i1 i2
|
o
|
shift1 shift2 operation shift3
|
|
Combine two signals (after bitshifting them) with bitwise operations (and, or, xor) plus final bitshifting
i1 i2
|
o
|
shift1 shift2 operation shift3
|
|
Combine two signals (after bitshifting them) with bitwise operations (and, or, xor) plus final bitshifting
phase radius z
|
x y z
|
Converts a set of cylindrical coordinates into cartesian.
phase radius z
|
x y z
|
Converts a set of cylindrical coordinates into cartesian. S-rate
pitch rows cols
|
x y
|
pitch rows cols bipolar
|
|
Generates a 2d grid, for further lissajous applications. K-rate .
pitch rows cols
|
x y
|
pitch rows cols bipolar
|
|
Generates a 2d grid, for further lissajous applications.
in x1 y1 x2 y2
|
out
|
x1 y1 x2 y2
|
|
3-piece polygonal curve, in the shape of a double knee
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
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
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
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
in y0 x0 m
|
out
|
y0 x0 m pos
|
|
Knee shape.
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.
phase radius
|
x y
|
Converts a pair of polar coordinates into cartesian.
phase radius
|
x y
|
Converts a pair of polar coordinates into cartesian. S-rate.
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.
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).
in cmod wmod
|
out inv
|
center width
|
|
Rectangular window, with variable center and width. Mod inputs
in
|
out inv
|
center width
|
|
Rectangular window, with variable center and width
in cmod wmod
|
out inv
|
center width
|
|
Rectangular window, with variable center and width. S-rate mod inputs
in cmod wmod
|
out inv
|
center width
|
|
Rectangular window, with variable center and width. K-rate mod inputs
in
|
out inv
|
center width
|
|
Rectangular window, with variable center and width.
x y theta
|
x y
|
theta
|
|
Rotates a 2D coordinate by an angle theta.
x y theta
|
x y
|
theta
|
|
Rotates a 2d coordinate by an angle theta.
x y z theta
|
x y z
|
axis
|
|
theta
|
|
Rotates a 3d coordinate by an angle theta.
x y z theta
|
x y z
|
axis
|
|
theta
|
|
Rotates a 3d coordinate by an angle theta.
in
|
out
|
size
|
|
Adjustable distorted sine window.
in
|
out
|
size
|
|
Adjustable sine-shaped window. Pretty heavyweight
radius theta phi
|
x y z
|
Converts a set of spherical coordinates into cartesian. S-rate
radius theta phi
|
x y z
|
Converts a set of spherical coordinates into cartesian.
in
|
out
|
size
|
|
Trapezoidal window
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
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.
root
|
I II III IV V VI VII
|
mode
|
|
Generates the 7 notes of the selected scale relative to a root pitch
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
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.
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.
pitch shape soften
|
out
|
pitch shape soften
|
|
Morphing saw - square - sine oscillator, low cpu load, low aliasing
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
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)
Pitch CV FM mod Folds Mod
|
Out
|
Formant osc FM osc FM amount Folds Window type
|
|
(no description)
Pitch CV Folds Mod
|
Out
|
Formant osc Folds Window type
|
|
(no description)
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
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
|
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
|
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
24ppq
|
o
|
Metronome object.
Provides a click when connected to 24ppq input.
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
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
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.
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
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.
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.
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.
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.
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.
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.
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.
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)
in
|
o1 o2
|
cutoff overlap
|
|
Split the incoming signal in two, based on the amplitude, with hard overlap.
in
|
o1 o2
|
cutoff
|
|
Split the incoming signal in two, based on the amplitude.
in
|
o1 o2 o3
|
cutoff1 cutoff2 overlap
|
|
Split the incoming signal in three, based on the amplitude, with hard overlap.
in
|
o1 o2 o3
|
cutoff1 cutoff2
|
|
Split the incoming signal in three, based on the amplitude.
in
|
o1 o2 o3 o4
|
cutoff
|
|
Split the incoming signal in three, based on the amplitude.
size
|
|
allocate 16bit table with arcsin shape in SDRAM memory, -128.00 .. 127.99
size value
|
|
allocate 16bit table with hyperbolic arcsine shape in SDRAM memory, -128.00 .. 127.99
size value
|
|
allocate 16bit table with arctan shape in SDRAM memory, -128.00 .. 127.99
size value
|
|
allocate 16bit table with cubic crossover shape in SDRAM memory, -128.00 .. 127.99
size value
|
|
allocate 16bit table with hard crossover shape in SDRAM memory, -128.00 .. 127.99
size value
|
|
allocate 16bit table with parabolic crossover shape in SDRAM memory, -128.00 .. 127.99
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.
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
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
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)
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
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.
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.
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.
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)
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
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.
left right
|
|
volume
|
|
vuLeft vuRight
|
Audio output, stereo
has inbuild volume control
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
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
audio
|
pitch khz samples
|
base
|
|
description
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.
in
|
pitch
|
tresh
|
|
fast frequency detector
freq
|
pitch
|
lfo
|
|
(no description)
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
in damp
|
pitch out
|
tresh size damp
|
|
fast pitch detector
pitch
|
khz
|
pitch2khz
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
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)
out
|
|
value
|
|
positive integer control
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.)
out
|
|
config
|
|
value
|
|
positive constant value dial
out
|
|
config
|
|
value
|
|
positive constant value dial
out
|
|
config
|
|
value
|
|
positive constant value dial
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.
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...).
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
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
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).
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).
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
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.
prime
|
o
|
table
|
|
prime
|
|
value
|
reads out the "primes" table allocation module (see my table-folder)
o1 o2 o3 o4 o5 o6
|
|
p1 p2 p3 p4 p5 p6
|
|
6x constant boolean, toggle control
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!
time
|
1 2 3 4
|
delayname
|
|
time
|
|
4 channel 8bit delay read.
Converts the 8bit channels back to four seperate, filtered 32bit channels
1 2 3 4
|
|
size
|
|
4channel 8bit delayline.
Incoming audio gets filtered and then coded into 8bit, shifted, summed and recorded to the table.
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)
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.
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
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.
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.
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.
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.
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.
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)
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)
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.
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.
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.
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.
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!
in time
|
out
|
size
|
|
mult div hrm feed damp wet
|
|
(no description)
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".
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!
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.
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.
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.
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
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
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
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.
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
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
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
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
out
|
|
delayname
|
|
length random
|
|
random multi-tap delay/early reflections with controllable tap-amount.
length sets the amount of taps.
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
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
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.
in
|
out
|
size
|
|
time feedback damp rate bits wet dry
|
|
dirty rotten delayline with delaytime, feedback, samplerate, bits, LP damp, wet and dry control
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.
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.
in duck rec dub selfRec selfDub sameRec
|
out splicerec fade
|
size
|
|
splice genesize offset offstep steps rate dir alternate
|
|
rec
|
Audio splicer module
time diff
|
out1 out2
|
delayname
|
|
time diff
|
|
stereo delay read, non-interpolated.
Use with "stereowrite" module and reference to the name of that instance.
in1 in2
|
|
size
|
|
stereo delayline definition, read it with "delay/stereoread" objects referencing the instance name of this object
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.
predelayA predelayK Range
|
out range
|
delayname
|
|
predelay range
|
|
repeater delay with shift/predelay (shifted within range)
TO BE USED WITH THE 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
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.
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..
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.
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.
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.
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.
i1 i2 i3 i4 i5 i6 i7 i8 i9 i10 i11 i12 i13 i14 i15 i16
|
|
spectral analyzer made out of two 2nd order bandpass filters per band, decibel scale (vertical), steeper filters
in1 in2 in3 in4
|
|
v1 v2 v3 v4
|
4x bipolar k-rate signal chart plotter
1 2 3 4 5 6 7 8
|
chain o
|
select one out of 32 bipolar fractionals, with chain i/o
in hold syncIn
|
thru syncOut
|
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
in
|
|
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
in snc
|
|
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
x y
|
|
low resolution xy scope for control signals
in hold syncIn
|
thru syncOut
|
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
in hold
|
|
rate gain
|
|
bipolar audio rate signal oscilloscope (time domain), showing 128 consecutive samples after the signal becomes positive.
Has rate control and gain ( x1.000=unity)
x1 y1 x2 y2
|
|
bipolar control rate signal oscilloscope (time domain), showing 128 consecutive samples
in hold
|
|
dB
|
extra big spectral analyzer display using 512 input points fft
in
|
|
rate poles
|
|
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)
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
i1 i2 i3 i4 i5 i6 snc
|
|
6 displays with a shared sync input to track phase-relations of modulation signals
in hold syncIn
|
thru syncOut
|
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
x y
|
|
bipolar control rate signal oscilloscope (time domain), showing 128 consecutive samples
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
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.
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
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
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
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.
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...
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.
in rate
|
out
|
description
in exp mod
|
out
|
exp stack mod lvl
|
|
description
Audio Gain Feed Power Mode Pitch
|
out
|
risetime falltime LPHP Freq
|
|
analogue style distortion, with "capacitor" holding the available charge
in
|
out
|
mod1 mod2
|
|
(no description)
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.
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.
in amp
|
out
|
amp
|
|
boost up to 16 times (saturated) (adds boosted signal to clean input signal and averages)
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
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
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.
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.
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.
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.
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
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?)
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.
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
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
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.
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
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.
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.
in
|
out
|
half-wave rectifier distortion, bandlimited
in
|
out
|
amp strength max
|
|
inverse exponential saturator/hard limiter
non-linear response
inL inR
|
outL outR
|
amp strength max
|
|
inverse exponential saturator/hard limiter
non-linear response
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
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)
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)
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!
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!
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.
in
|
out
|
gain center modC shelf modS absC absS absD
|
|
"soft" distortion with inbuild tone-control
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
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.
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
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.
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.
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.
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.
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
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
in attackA decayB gainA gainB
|
out
|
audio transient designer, enhances/dehances(?) attack and/or decay stage of incoming audio
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.
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.
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.
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.
in release
|
out
|
gainIn tresh ratio expand slope release
|
|
Dynamic range compressor/limiter/expander.
in gainAdd threshold attack decay ratio goal expander AutoGain
|
out
|
audio compressor
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.
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.
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"
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"
in gainAdd threshold rate goal expander
|
out
|
audio limiter
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)
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
gate pitch freq phase
|
wave
|
pitch Penv Pdec Vdec
|
|
sine bass kick
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.
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.
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)
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
gate pitch freq phase
|
wave
|
pitch1 pitch2 Penv Pdec Vdec
|
|
cymbalesque percussion
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
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.
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.
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.
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.
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.
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.
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!
close open
|
wave
|
CloseDec OpenDec octaves
|
|
simple hihat
trigClosed trigOpen pitch negDec
|
out o1
|
hitC hitO tailC tailO Pamt fA AmixB fB FM cut reso
|
|
Hihat module with open/close triggers.
trgCl trgOp negDec
|
digital hp
|
pitch tune tfm chance decCl decOp
|
|
Hihat module
gate pitch freq phase
|
wave
|
pitch1 pitch2 Penv Pdec Ndec Vdec octaves
|
|
snare
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)
trig pitch hit
|
out
|
pitch hit tail
|
|
Tom module based on the resonatorP filter.
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.
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
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
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)
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)
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.
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
gate
|
env
|
a d s r
|
|
Auto-switching attack/decay or attack/decay/sustain/release envelope
trigger=1->AD envelope
trigger=2->ADSR envelope
trig
|
env
|
a1 a2 d1 d2
|
|
Attack/decay envelope, with envelope-output crossfading between attack/decay values.
gate a h d s r
|
env
|
a h d s r
|
|
Attack/hold/decay/sustain/release envelope with modulation inputs
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)
trig
|
env
|
d curveD
|
|
curved decay envelope.
anti-clockwise: exponential
clockwise: inverse exponential
gate
|
env
|
a d s r
|
|
Auto-switching attack/decay or attack/decay/sustain/release envelope
trigger=1->AD envelope
trigger=2->ADSR envelope
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)
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.
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.
trig d
|
env
|
d repeat
|
|
decay envelope, linear ramp, modulation input
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.
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.
trig
|
env
|
delay attack hold decay
|
|
delay/Attack/hold/decay envelope, linear attack, exponential decay
triggered, not gated
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.
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.
gate retrig reset
|
env
|
a d s r modrate mod
|
|
Attack/decay/sustain/release envelope with retrigger and hard-reset inputs
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.
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.
a
|
o
|
smooth volume intro at startup
gate sync
|
out stage
|
division A D S R
|
|
(no description)
i
|
o
|
01 02 03 04 05 06 07 08 09 10 11 12
|
|
description
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.
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).
in cut res
|
out
|
cut res
|
|
36dB filter with resonance
in
|
HP BP LP
|
high low
|
|
description
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.
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)
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)
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.
in
|
out
|
stack
|
|
Stackable anti-alliasing filter.
in freq
|
out
|
freq
|
|
1st order allpass filter
LP-HP
in freq
|
out
|
freq
|
|
2nd order ALLPASS biquad filter with resonance at 0 (=equal slope).
LP-HP
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)
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.
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
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.
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.
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)
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.
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
in pitch reso
|
out
|
pitch reso mode
|
|
Bandpass filter, state-variable type, audiorate modulation inputs (use with complexSH oscillator and armMOD for complex filtering)
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.
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.
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)
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).
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
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
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.
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
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.
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.
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.
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)
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
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
(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
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
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
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.
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
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)
seq rnd
|
coefs
|
rnd update rate width change smooth
|
|
Generates random FIR-coëfficients for the FIR filter
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.
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.
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
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.
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..
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..
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)
in freq damp mode tame
|
out
|
freq damp mode tame
|
|
2nd order "most" filter with continuous mode selection lp->bp->hp
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.
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
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.
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)
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
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
in add pitch reso duck
|
out
|
pitch reso
|
|
2-pole resonant band-pass filter (biquad)
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
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.
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.
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.
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
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.
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.
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.
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)
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).
in read
|
out
|
read feed size dry wet
|
|
High quality phaser/allpass module with internal memory and interpolation between taps.
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.
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
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.
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)
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.
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)
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.
in rate spread depth phase
|
outL outR
|
size stages
|
|
rate spread depth phase mod MW pan feed wet
|
|
Panning phaser/chorus/flanger
inL inR rate spread depth phase
|
outL outR
|
size stages
|
|
rate spread depth phase mod MW pan feed wet
|
|
Panning phaser/chorus/flanger
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.
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.
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)
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.
AudioIn Hz depth
|
AudioOut
|
delayname
|
|
audio PitchShifter
NOTE! enter module's own name into combobox!
samplelength semitone harmshift ratioshift windowratio
|
AudioOut result
|
delayname
|
|
audio PitchShifter
NOTE! enter module's own name into combobox!
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
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.
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.
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)
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
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
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
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??
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
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.
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
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
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)
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
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
rate depth offset bypass solo
|
|
stereo panner module to use with the chainFX effects chainer module.
Controls can easily be editted for external control
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
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
gain volume bypass solo
|
|
Soft distortion module to use with the chainFX effects chainer module.
Controls can easily be editted for external control
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
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
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
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
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
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
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.
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
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.
in1 in2 gain1 gain2
|
out
|
gain1 gain2
|
|
2 input s-rate mixer, square gain scale with external control inlets for both inputs
a1 a2 v
|
o1 o2
|
"voltage controlled amplifier", multiplies v and a inputs, with linear interpolation from k- to s-rate
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)
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.
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.
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.
(no controls) | |
description
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.
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
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.
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
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.
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
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..
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.
(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.
(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.
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)
(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.
(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.
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.
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)
(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.
(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.
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!)
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.
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.
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.
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).
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 reset
|
beat trips fours vari
|
BPM vari
|
|
simple master clock source in BPM.
outputs pulses for beat, triplets, fourths and a variable rate multiplier.
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
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!
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.
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!!!!!!!!
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!
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
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
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
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
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!
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.
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!).
Hz reset waveform Bipolar
|
wave
|
saw wave LFO, rising slope, frequency input
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.
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.
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.
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.
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.
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.
pitch max seed1 seed2 randAmp randUpd chance active
|
out
|
pitch max smooth randAmp randUpd chance seed1 seed2 div SeRa
|
|
description
rate
|
out r1 r2
|
max min smooth
|
|
exponential smooth with separate randomised rise and fall time
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.
Hz Phase reset waveform Bipolar Bezier1 Bezier2 curve sinedPhase
|
wave sined
|
LFO with multiple shaping tools
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
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
trig chance
|
A B
|
Bchance
|
|
uniform distributed (white) noise, triggered generation. Range -64..64
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)
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.
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.
trig r MaxCount
|
o c max
|
max
|
|
cyclic up counter with external count-up control
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
trig start step MaxCount
|
o c
|
cyclic up counter with external count-up control
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).
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).
i1 i2 i3 i4 i5 i6 trg
|
o1 o2 o3 o4 o5 o6
|
multiply
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
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
trig r pendulum start steps restart loop size range
|
o c
|
start steps loop restart size chgstep chgsize range pendulum
|
|
pattern Counter
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!
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.
trig
|
A B
|
Bchance
|
|
randomised A/B switch
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.
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
i1 i2
|
o
|
2bit DAC selector
i1 i2 i3
|
o
|
3bit DAC selector
in exp
|
out
|
exp stack
|
|
(inverse) exponential curving module
exp parameter above zero is exponential curve
exp parameter below zero is inverse exponential curve
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
in
|
out
|
subtract
in
|
out
|
subtract
in
|
out
|
subtract
in1 in2 in3 in4 in5 in6 in7 in8
|
out1 out2 out3 out4 out5 out6 out7 out8
|
time
|
|
exponential smooth for 8 inputs
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
01 02 03 04 05 06 07 08
|
o01 o02 o03 o04 o05 o06 o07 o08
|
description
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.
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
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
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
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!
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!
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.
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)
in
|
out
|
c
|
|
add bipolar constant
in
|
out
|
amp
|
|
Multiply (attenuate) with a constant value
a
|
rem
|
tells whether the 1-bit is on of off.
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.
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.
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.
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.
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.
in divide
|
result
|
Divide two integers
a denominator
|
rem div
|
divide integer with constant, also outputs remainder (modulo). Uses integer input to set denominator
in denom
|
rem div scaled
|
fractional divremc module
scaled output is the remainder, scaled back to 0-64 range.
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)
a denominator
|
rem div
|
pendulum
|
|
divide integer with constant, also outputs remainder (modulo). Uses integer input to set denominator
in exp
|
out
|
exp stack
|
|
description
in exp
|
out
|
exp stack
|
|
(inverse) exponential curving module
exp parameter above zero is exponential curve
exp parameter below zero is inverse exponential curve
in glideOFF
|
out
|
glide
|
|
exponential glide
When glide is zero, there is no glide!
When input glideOFF is high, glide is off.
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
X
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.
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.
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.
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.
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.
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.
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.
in1 in2 in3 in4
|
out
|
max of 4 values
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!
in Multiply Divide
|
out
|
Set Ratio between incoming and outgoing value
in Multiply Divide power
|
out
|
Set Ratio between incoming and outgoing value
in Multiply Divide maxtimes
|
out
|
Set Ratio between incoming and outgoing value
i1 rate
|
o1
|
rate total
|
|
(no description)
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
a b c d
|
result
|
3x power curve. Usable for shaping the phasor output before sending into sine shaper
pitch timbre color
|
wave
|
mode
|
|
pitch timbre color
|
|
d1
|
Harmonics oscillator from Mutable Instruments Braids
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.
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.
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
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
device
|
|
midi thru module for all channels and all data types
gate
|
gate note velocity
|
S length sustain
|
|
Monophonic MIDI keyboard note input, gate, velocity and release velocity. Polyphonic touch output.
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)
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)
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.
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.
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.
channel oct
|
|
b12
|
|
internal polyphonic midi keyboard
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
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.
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.
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.
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.
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.
note gate gate2 velocity releaseVelocity
|
|
midichannel
|
|
Monophonic MIDI keyboard note input, gate, velocity and release velocity modulation source
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!
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!
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.
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.
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.
gate touch
|
|
Note
|
|
Monophonic MIDI keyboard note input. Only responding to a single note, with polyphonic aftertouch and gate output
note gate gate2 velocity releaseVelocity touch
|
|
midichannel
|
|
Monophonic MIDI keyboard note input, gate, velocity and release velocity. Polyphonic touch output.
note velo trig channel
|
|
Midi note output. Sends to midi/in/* objects only.
device
|
|
Midi clock thru
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!
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
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
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
peak
|
V P A S
|
V P A S
|
|
Control element for the desktop mixer
outL outR
|
|
stereo peak readout for the desktop mixer
a
|
|
mute solo gain
|
|
channel control module for the deskmix1 module
set the name of the deskmix1 module in the "a" reference box
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
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!)
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.
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.
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.
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!
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,
v a
|
o1 o2
|
panner, with linear interpolation from k- to s-rate
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
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
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.
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.
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)
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
i1 i2 i3 i4 x y
|
o
|
crossfade between four inputs
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.
i1 i2 c
|
o
|
smoothed crossfade between two inputs
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
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
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.
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
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
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
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
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
rate cut
|
wave
|
rate cut
|
|
bandpass filtered sampled noise
Range -64..64
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.
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.
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)
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
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
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.
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)
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
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)
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).
phaseA rate1 rate2 rate3 phase1 phase2 phase3
|
out
|
3x AM sine shaper
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!
pitch FM PM AM active
|
phasor
|
pitch1 Hrm1 Hrm2 Hrm3 lfo
|
|
3-core oscillator with serial FM,PM and AM
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.
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
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.
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
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
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.
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.
volume octave harmonic PW
|
|
main
|
|
fine semi octave harmonic fm1 fm2 fm3 waveform PW rate PWM cutoff volume
|
|
description
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
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.
pitch shape sub LP
|
wave
|
pitch shape LP sub
|
|
sine wave oscillator
pitch shape pulse sub PW phase LP sync
|
wave
|
pitch shape pulse hrm sub PW phase LP
|
|
sine wave oscillator
pitch FMW freq phase slope shift saturate active
|
out
|
pitch FM slope shift sine saturate
|
|
description
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".
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.
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.
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
(no controls) | |
Multi wave oscillator with sync and FM modulation
Bandwith limited
pitch sync mod wave
|
wave pitch
|
core
|
|
pitch wave fm snc
|
|
Multi wave oscillator with sync and FM modulation
Bandwith limited
pitch sync mod wave
|
wave pitch
|
core
|
|
pitch wave fm snc
|
|
Multi wave oscillator with sync and FM modulation
Bandwith limited
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
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
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
(no controls) | |
Multi wave oscillator with sync and FM modulation
Bandwith limited
V2 has more oscillator models
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.
pitch mod strike env mode self
|
wave
|
table size
|
|
pitch self mod sync wave index2wave note2wave
|
|
blepped multi-waveform oscillator
Bandwith limited
pitch mod mode
|
wave
|
pitch mod mode
|
|
triangle oscillator
Bandwith limited
pitch Poffset beatrate mod wave self
|
wave
|
pitch PoffsetOn LFO negative Poffset self mod sync wave index2wave note2wave
|
|
blepped multi-waveform oscillator
Bandwith limited
pitch mod hrm div oct sync wave softsync reverse self
|
wave
|
pitch mod self wave softsync reverse
|
|
triangle oscillator
Bandwith limited
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.
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.
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.
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
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)
pitch rate a b mode reset
|
out phase
|
rst pitch rate a b mode disp
|
|
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)
a b c d e f g
|
result
|
multi pulse/square shaper
phase i0 i1 i2 j0 j1 j2
|
o phase
|
dual bezier curve shaper. One for position, the other for level.
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.
pitch seed
|
wave
|
pitch damp rate seed rnd
|
|
seeded noise oscillator based on pseudo gaussian noise factory module.
a b c d e f g
|
out
|
Glitch shaper, based on the divremc module.
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
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)
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)
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
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
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)
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.
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
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
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
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!!!!!!!!
pitch pw active
|
wave
|
pitch
|
|
pulse width modulation oscillator with "active" control
Bandwith limited
pitch active
|
wave
|
pitch
|
|
saw wave oscillator with "active" control
Non-bandwith limited, medium quality
pitch sync active
|
wave
|
pitch
|
|
Saw wave oscillator with "active" control
Bandwith limited
pitch freq phase active
|
wave
|
pitch
|
|
sine wave oscillator with "active" control
pitch sync active
|
wave
|
pitch
|
|
square wave oscillator with "active" control
Bandwith limited with sync input.
Sync resets oscillator phase on rising zero-crossing
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
pitch active
|
wave
|
pitch
|
|
triangle oscillator
Bandwith limited
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.
pitch freq FMW
|
phasor
|
pitch
|
|
phasor
saw wave like oscillator
Uses frequency dependent thru-zero FM.
Features an FM-index input
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.
pitch freq PLLphase active
|
wave
|
pitch power mode overtones FM
|
|
sine wave oscillator with PLL function and frequency modulation with frequency dependent modulation index
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.
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
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)
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
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
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.
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.
pitch max seed1 seed2 randAmp randUpd chance active
|
out
|
pitch max smooth randAmp randUpd chance seed1 seed2 div SeRa
|
|
description
pitch freq phase mod frq
|
wave
|
pitch mod freq
|
|
Ringmoduling sine wave oscillator
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.
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.
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.
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.
a b c d e f g
|
result
|
saw<->tri mod oscillator
a detune shapeA shapeB walk modwidth mod pitch LP HP
|
result
|
supersaw/saw-tri-mod oscillator
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
|
|
-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.
Pitch Phase reset waveform Bipolar Bezier1 Bezier2 curve sinedPhase active
|
wave sined
|
shaping oscillator with several shaping tools
pitch linFM expFM phase sync waveform mixSine
|
wave
|
table
|
|
pitch octSine mixSine waveform LP
|
|
simple wavetable oscillator
loads wavetables created with the "TheCreator" module.
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
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.
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.
pitch shape
|
wave
|
pitch shape
|
|
sine wave oscillator
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.
pitch freq phase
|
wave
|
pitch drive1 drive2
|
|
sub-sine wave oscillator
Generates 2 sines that can be overdriven into square-waves.
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
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).
a b c d e f g
|
result
|
supersaw shaper
pitch FMW freq phase slope active
|
out
|
pitch FM slope voices detune
|
|
super triangle/saw-morpher
up to 8 voices
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.
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.
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
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.
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.
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.
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.
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.
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
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.
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.
pitch FMW slope sync active
|
out
|
sine pitch FM slope Swidth Slope AM
|
|
tri/saw oscillator with optional sine shaper, sync and AM modulation
phase w1 w2 w3 root a1 a2 a3 AMW ExtRing RingWidth
|
real
|
3-harmonic vosim shaper
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.
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
load filename
|
|
size wavesize
|
|
load
|
|
allocate 32bit table in SDRAM memory for loading tables created with the waveformGenerator, guitarTable or other wavetable-generating modules.
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.
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.
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.
1
|
|
generic modulation source
updates automatically when input changes
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
|
generic modulation source
updates automatically when input changes
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
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.
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)
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!
Count PreRng PreMul PreJmp PreChg AftRng
|
PreRng AftRng
|
single core range counter (divremc with internal level manipulation)
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)
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)
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
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!
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.
select value change
|
|
select Change
|
|
1 2 3 4 5 6 7 8
|
parameter memory for the recount module
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.
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.
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.
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.
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.
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.)
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.)
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.
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).
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.
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)
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
|
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..?
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
|
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..?
count max
|
out
|
size
|
|
CV rate steps wait rnd
|
|
allocate 16bit table in SDRAM memory, -128.00 .. 127.99
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
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.
select value change
|
|
select Change
|
|
PreStep PreJump PreChng MidStep MidJump MidChng PstStep PstJump PstChng
|
controller for the range counter modules
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.
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.
a
|
gate
|
denom1 denom2
|
|
dual euclidian trigger generator
produces a trigger after the amount of steps set by the denom 1 and 2 controls
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
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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)
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)
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.
trig
|
out
|
p1
|
|
lfsr burst with controllable "burst" using a knob and velocity-dependent trigger input.
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)
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..
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.
random
|
|
width smooth
|
|
random drift with new-value-offset width and output smoothing
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.
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.
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
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
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.
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
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.
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
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.
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.
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.
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.
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.
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
|
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!)
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.
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.
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.
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.
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.
count update
|
out1
|
start1 step1 ratio1 steps countmax update
|
|
mainstep ratioA ratioB stepsOn maxcount
|
euclidian sequencer
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! :)
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.
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.
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.
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.
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.
count notes clear oct
|
chain notes
|
clear oct B Bb A Ab G Gb F E Eb D Db C
|
|
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.
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
|
|
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.
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)
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
|
|
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.
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.
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....
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.
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.
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.
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.
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.
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!
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.
note gate gate2 velocity releaseVelocity touch
|
|
Monophonic MIDI keyboard note input, gate, velocity and release velocity. Polyphonic touch output.
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)
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)
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)
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)
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.
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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
b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15
|
|
table in RAM memory, direct from sliders
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.
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.
size init
|
|
allocate 32bit table in SDRAM memory
(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.
(no controls) | |
table allocation module for first 1024 primes.
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
|
|
description
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
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
|
|
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
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.
save load filename
|
|
table
|
|
save and load table to sdcard
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)
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
filename trig sample
|
MaxSampleAmount
|
table
|
|
samplelength
|
|
load table from sdcard
filename trig
|
|
table sizemult
|
|
load table from sdcard
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.
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.
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.
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)
a1 a2 a3 a4 a5 a6 a7 a8
|
|
load save pattern
|
|
(no description)
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
(no controls) | |
(no description)
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
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.
samplelength trig
|
Ksamples Seconds Hz Khz basedelay maxdelay maxtimes
|
measures the time interval between triggers and converts them into several usable data
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.
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.
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"
pos start stop filename loop size
|
out end
|
streaming playback of a mono .wav file from sdcard (testing)
filename trig
|
|
table
|
|
load table from sdcard
pos start stop sample direction pitch
|
wave
|
table
|
|
pitch
|
|
plays audio from the tablestream module
trig velocity pitch direction sample
|
wave
|
table
|
|
plays audio from the tablestream module
load filename sample
|
ended
|
size samples init fade
|
|
load length
|
streaming playback of a mono .wav file from sdcard (testing)
left right
|
|
Audio mixer configuration
out1 out2 out3
|
|
d1 d2 d3
|
Axoloti Control (AxoC) - large knobs control
led1
|
x y s
|
x y s
|
Axoloti Control (AxoC) - Joystick control
out1 out2 out3
|
|
d1 d2 d3
|
Axoloti Control (AxoC) - Small knob controls
led1 led2 led3
|
out1 out2 out3
|
d1 d2 d3
|
Axoloti Control (AxoC) - switch control
v
|
|
text
|
|
print object - prints frac on change, max 1/sec
v
|
|
text
|
|
print object - prints integers on change, max 1/sec
reset a d
|
env end
|
a d
|
|
cycling a/d env with modulation
in
|
out
|
freq reso
|
|
2-pole resonant low-pass filter (biquad)
device output channel
|
|
Ableton Push controller
note gate gate2 velocity releaseVelocity
|
|
Monophonic MIDI keyboard note input, gate, velocity and release velocity
input
|
|
an object to forward midi from one device to another
note: does not handle sysex or clock
input output led
|
|
an object to forward midi from one device to another
note: does not handle sysex or clock
in
|
out
|
line
|
|
c
|
|
one line script taking integer as output, and outputs float
gate reset v mode trig loop
|
v clk evt end
|
size
|
|
automate events SDRAM memory
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
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
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
trkIdx stepIdx valueIdx
|
stepValue
|
seq
|
|
Polyphonic, Polyrythmic, Polymetric sequencer
- read value for given step/value idx, inlets should be supplied from polyseq/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
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)
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
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
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
reset offset
|
wave
|
code
|
|
clkDiv
|
|
(no description)
a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16
|
|
(no description)
sl16
|
|
(no description)
trig
|
|
ctlAmp
|
|
d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16
|
|
(no description)
trig
|
|
ctlAmp sl16s
|
|
(no description)
out
|
|
ctlAmp ctlPch
|
|
ADD16 osc, needs to connect to a ADD16 controller.
Experimental.
pitch
|
|
pitch
|
|
(no description)
alphaAmp alphaPch
|
|
ctlAmp ctlPch
|
|
(no description)
step
|
|
maxStep
|
|
step
|
(no description)
AD
|
A D S
|
A/D to ADS for simplified panel envelopes
x1 x0
|
out
|
59 tap /2 decimator (downsampler)
x1 x0
|
out
|
19 tap /2 decimator (downsampler)
in
|
y1 y0
|
x2 interpolator (upsampler)
i
|
o
|
prefix
|
|
(no description)
i0 i1 i2 i3
|
o
|
(no description)
i
|
o
|
prefix
|
|
(no description)
i
|
o
|
(no description)
k0 k1 k2 k3 k4 k5 k6 k7 k8 k9 k10 k11 k12 k13 k14 k15
|
packed
|
(no description)
packed
|
k0 k1 k2 k3 k4 k5 k6 k7 k8 k9 k10 k11 k12 k13 k14 k15
|
(no description)
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
|
|
pitch
|
out
|
delayname
|
|
pitch offset
|
|
delay read tuned for O2write.
x1 x0
|
|
size
|
|
(no description)
x1 x0
|
|
size
|
|
(no description)
in
|
out
|
(no description)
in
|
out
|
(no description)
in
|
out
|
(no description)
in theta
|
out
|
delayName
|
|
theta pos
|
|
simple delay bridge with ins and outs
delay coupling operator
theta
|
|
delayNameA delayNameB invA invB
|
|
theta posA posB
|
|
simple delay bridge without lowpass filters
delay coupling operator
theta LPA attenA LPB attenB
|
|
delayNameA delayNameB invA invB
|
|
theta posA LPA attenA posB LPB attenB
|
|
delay coupling operator
in
|
out
|
delay
|
|
(no description)
in gain
|
|
delayName
|
|
gain pos
|
|
injects a signal into a delay line
in d1
|
out1
|
size Over Ctrl
|
|
A single tap 32bit delay line with internal oversampling to limit unwanted interpolation filtering.
Useful for choruses
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
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
pitch
|
out
|
delayname
|
|
pitch offset
|
|
delay read tuned.
pitch Rand
|
out
|
pitch
|
|
(no description)
vib0 vib1 vib2
|
out
|
A R1 L R2
|
|
(no description)
vib0 vib1 vib2
|
out
|
A R1 L R2
|
|
(no description)
vib0 vib1 vib2
|
out
|
A R1 L R2
|
|
(no description)
vib0 vib1 vib2
|
out
|
A R1 L R2
|
|
(no description)
vib0 vib1 vib2
|
out
|
A R1 L R2
|
|
(no description)
vib0 vib1 vib2
|
outA outB
|
L2A A2A R2A L4A A4A R4A L8A A8A R8A L2B D2B L4B D4B L8B D8B
|
|
(no description)
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)
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)
x1 x0 pitch reso
|
hp1 hp0 bp1 bp0 lp1 lp0
|
pitch reso
|
|
multimode filter, state-variable type, modulation inputs
in3 in2 in1 in0
|
out3 out2 out1 out0
|
InGain OutGain
|
|
4x oversampled HardClip with Differentiated Polynomial Anti aliasing.
x3 x2 x1 x0
|
out
|
/4 decimator (downsampler)
in
|
y1 y0
|
6 tap x2 interpolator (upsampler)
in
|
y3 y2 y1 y0
|
x4 interpolator (upsampler)
pitch1 pitch2 fb1 fb2 fb21 fb12
|
y1 y2
|
pitch1 pitch2
|
|
(no description)
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]
note C Cs D Ds E F Fs G Gs A As B
|
out
|
note oct
|
(no description)
in
|
|
subSample
|
|
slow positive control rate signal oscilloscope (time domain), showing 128 consecutive samples or sub samples.
in
|
|
bipolar audio rate signal oscilloscope (time domain), showing 128 consecutive samples after the signal becomes positive.
wf12
|
|
wf_12 waveform display for use with the 12Steps series of oscillators (tiar/osc)
wf16 update
|
|
wf_16 waveform display for use with the 16Steps series of oscillators (tiar/osc)
in factor
|
out
|
factor
|
|
1/x2 distortion with Differentiated Polynomial Anti aliasing.
in negSlope
|
out
|
negSlope negLin
|
|
Square root with Differentiated Polynomial Anti aliasing.
in factor offset
|
out
|
factor offset
|
|
type IIA distortion with Differentiated Rational Function Anti aliasing.
in factor offset
|
out
|
factor offset
|
|
type IIB distortion by Differentiated Rational Function Anti aliasing.
in
|
out
|
InGain OutGain
|
|
HardClip with Differentiated Polynomial Anti aliasing.
Low CPU (~620 cycles) and acceptable aliasing.
in
|
out
|
InGain OutGain
|
|
SoftClip with Differentiated Polynomial Anti aliasing.
Low CPU (~740 cycles) and acceptable aliasing.
x y
|
out
|
FractalRing.
8x oversampling with triangular window decimation.
x y
|
out
|
FractalRing.
8x oversampling with triangular window decimation.
in1 in0
|
out1 out0
|
InGain OutGain
|
|
HardClip with Differentiated Polynomial Anti aliasing.
in1 in0
|
out1 out0
|
InGain OutGain
|
|
x2 oversampled SoftClip with Differentiated Polynomial Anti aliasing.
in1 in0
|
out1 out0
|
FractalI.
8x oversampling with triangular window decimation.
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.
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.
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.
in
|
out
|
a b c d e f
|
|
SoftClip with Differentiated Polynomial Anti aliasing.
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).
in pitch slave pitch master
|
out
|
pitch slave pitch master
|
|
Advanced version with built-in Master oscillator. See help patch for usage !!
in
|
out
|
9 octaves aliaser
in
|
out
|
Compander (inverse function of the "expand" object).
Differentiated Anti aliasing.
in
|
out
|
Expander (inverse function of the "compand" object).
Differentiated Anti aliasing.
in
|
out
|
gain
|
|
Wave folder distortion.
Differentiated Anti aliasing.
w x y z
|
out
|
fraXOR. 4 inputs XOR distortion
8x oversampling with triangular window decimation.
in
|
out
|
offset
|
|
FractalI.
8x oversampling with triangular window decimation.
in
|
out
|
Fractal II.
8x oversampling with triangular window decimation.
in
|
out
|
Fractal III. Bit pairs inversion
8x oversampling with triangular window decimation
in
|
out
|
Fractal IV. x^((x*3)>>3) (experim1)
8x oversampling with triangular window decimation
in
|
out
|
Fractal V. (experim3)
8x oversampling with triangular window decimation
in
|
out
|
Fractal VI.
8x oversampling with triangular window decimation
in
|
out
|
gain
|
|
Modulo wave folder.
Differentiated Anti aliasing.
in
|
out
|
resolution
|
|
A quantifier that simulates limited accuracy float formats as found on early digital synthesizers. Not anti aliased.
in
|
out
|
Full wave rectifier.
Differentiated Anti aliasing.
in
|
out
|
InGain OutGain
|
|
Sigmoid. Differentiated Anti aliasing.
in
|
out
|
(no description)
in
|
out
|
gain
|
|
Squares wave distortion.
Differentiated Anti aliasing.
in
|
out
|
Step (infinite gain saturation).
Differentiated Anti aliasing.
in vc
|
out
|
comp
|
|
Low fi Pseudo VCA as found in some drum machines
in pitch
|
rms
|
pitch
|
|
rms meter
in0 in1 in2
|
out0 out1 out2
|
3x3 Householder reflection matrix
in0 in1 in2 in3
|
out0 out1 out2 out3
|
4x4 Householder reflection matrix
in0 in1 in2 in3 in4
|
out0 out1 out2 out3 out4
|
5x5 Householder reflection matrix
in0 in1 in2 in3 in4 in5
|
out0 out1 out2 out3 out4 out5
|
6x6 Householder reflection matrix
in0 in1 in2 in3 in4 in5 in6
|
out0 out1 out2 out3 out4 out5 out6
|
7x7 Householder reflection matrix
in0 in1 in2 in3 in4 in5 in6 in7
|
out0 out1 out2 out3 out4 out5 out6 out7
|
8x8 Householder reflection matrix
in0 in1 in2 in3 in4 in5
|
out0 out1 out2 out3 out4 out5
|
6x6 Almost Hadamard matrix
in0 in1 in2 in3 in4 in5 in6
|
out0 out1 out2 out3 out4 out5 out6
|
7x7 Almost Hadamard matrix
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
in0 in1 in2 in3
|
out0 out1 out2 out3
|
4x4 dispersion matrix
in0 in1 in2 in3 in4 in5
|
out0 out1 out2 out3 out4 out5
|
6x6 Rochebois dispertion matrix
in0 in1 in2 in3 in4 in5 in6 in7
|
out0 out1 out2 out3 out4 out5 out6 out7
|
8x8 dispersion matrix
This matrix is anti symetrical
in0 in1 in2 in3
|
out0 out1 out2 out3
|
4x4 fixed Hadamard orthogonal matrix
in0 in1 in2 in3 in4 in5 in6 in7
|
out0 out1 out2 out3 out4 out5 out6 out7
|
8x8 Hadamard reflection matrix
in0 in1 in2 in3
|
out0 out1 out2 out3
|
rotations
|
|
4x4 fixed orthogonal matrix
in0 in1 in2 in3 in4
|
out0 out1 out2 out3 out4
|
rotations
|
|
5x5 fixed orthogonal matrix
in0 in1 in2 in3 in4 in5
|
out0 out1 out2 out3 out4 out5
|
rotations
|
|
6x6 fixed orthogonal matrix
r i
|
r i
|
theta
|
|
cos sin rotation
in freq1 freq2 freq3 fb
|
out
|
(no description)
in freq1 freq2 freq3 freq4 fb
|
out
|
(no description)
in freq1 freq2 freq3 freq4 freq5 fb
|
out
|
(no description)
in freq1 freq2 freq3 freq4 freq5 fb
|
out
|
(no description)
in freq1 freq2 freq3 freq4 freq5 freq6 freq7 fb
|
out
|
(no description)
in freq g2
|
out
|
order
|
|
freq g2
|
|
(no description)
in
|
LP HP
|
fc
|
|
(no description)
in
|
out
|
fc
|
|
(no description)
in pitch reso
|
out
|
pitch reso
|
|
(no description)
x1 x0 pitch reso
|
lp1 lp0 hp1 hp0 bp1 bp0
|
pitch Q
|
|
(no description)
in1 in0
|
out1 out0
|
delay
|
|
g
|
|
O2 allpass reverb section
x1 x0
|
y1 y0
|
freq
|
|
1st order hipass filter x2 oversampled
x pitch reso
|
lp12
|
pitch Q
|
|
(no description)
in pitch reso
|
_24dB _18dB _12dB _6dB
|
pitch reso
|
|
(no description)
x pitch reso
|
hp12 lp12 bp6
|
pitch Q
|
|
(no description)
x pitch reso
|
lp12
|
pitch Q
|
|
(no description)
x pitch reso
|
lp12 hp12 bp6
|
pitch Q
|
|
(no description)
in pitch pchMod reso
|
lp12 hp12 bp6
|
pitch Q
|
|
(no description)
in
|
out
|
delay
|
|
g
|
|
allpass reverb section (32 bit internal buffer)
in delay fb
|
out
|
(no description)
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.
in pitch
|
lp hp
|
pitch
|
|
1st order lowpass filter and high pass filter.
Based on scale and square discretization (better HP filter).
in
|
out
|
Preset
|
|
(no description)
LED calibrate
|
press F1 F2 F3 F4 F5
|
L0 L1 LNoteOn
|
|
Controler for FSR72 custom hardware setup.
x v
|
y u
|
g
|
|
AllPass Noodle
in
|
out
|
size
|
|
(no description)
in
|
out
|
size
|
|
(no description)
in
|
out
|
size
|
|
(no description)
in
|
left right
|
NBD LENGTH
|
|
minRate maxRate
|
|
(no description)
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.
in0 in1 rate
|
out0 out1
|
depth
|
|
rate
|
|
(no description)
inlet_1
|
outlet_1 outlet_2
|
(no description)
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.
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.
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.
x1 x0 v
|
y1 y0
|
(no description)
in1 g1 in2 g2 in3 g3
|
out
|
3 input dca
inL inR gain
|
outL outR unprocL unprocR active
|
(no description)
inL inR gain
|
outL outR active
|
(no description)
in gain
|
out unproc active
|
(no description)
in gain
|
out active
|
(no description)
in1 g1 in2 g2 in3 g3
|
out
|
3 input vca
pb0 pb1 pb8 pb9
|
|
PWM output using hardware timer 3 (97.65 Hz)
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
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
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
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
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
line1 line2 line3 line4 mode
|
|
scope type I2CADDR
|
|
OLED 128x64 SSD1306 on I2C. PB8=SCL PB9=SDA
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
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
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
line1
|
|
scope type I2CADDR
|
|
OLED 128x64 SSD1306 or SH1106 on I2C. PB8=SCL PB9=SDA
needs a single foactory/gpio/i2c/config object
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
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
in
|
out
|
bar for OLED
in1 in2
|
out
|
double bar for OLED
in
|
|
bipolar audio rate signal oscilloscope (time domain), showing 128 consecutive samples after the signal becomes positive.
in pitch
|
info
|
title
|
|
(no description)
in
|
out
|
prefix
|
|
string and bar for OLED
in1 in2
|
out
|
prefix
|
|
string and double bar for OLED
in
|
out
|
Rise Decay
|
|
A first order LP filter with distinct rising and falling rates.
in
|
out
|
level1 level0
|
|
(no description)
in freq
|
out
|
freq
|
|
1st order lowpass filter, control and inlet rate
in
|
med gch
|
N
|
|
(no description)
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
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.
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.
in
|
out
|
p0 p1 p2
|
|
A bipolar input, bipolar output k rate function defined by 2 segments.
in
|
out
|
p0 p1 p2
|
|
A bipolar input, unipolar output k rate function defined by 2 segments.
in
|
out
|
p0 p1 p2 p3 p4
|
|
A bipolar input, bipolar output k rate function defined by 4 segments.
in
|
out
|
p0 p1 p2 p3 p4
|
|
A bipolar input, unipolar output k rate function defined by 4 segments.
in
|
out
|
p0 p1 p2 p3 p4 p5 p6 p7 p8
|
|
A bipolar input, bipolar output k rate function defined by 8 segments.
in
|
out
|
p0 p1 p2 p3 p4 p5 p6 p7 p8
|
|
A bipolar input, unipolar output k rate function defined by 8 segments.
x y
|
out
|
table
|
|
(no description)
x y
|
out
|
table
|
|
(no description)
in
|
out
|
G1 G2
|
|
a k rate fractal function generator based on XOR functions.
in0 in1 in2
|
out
|
G1 G2
|
|
a k rate fractal function generator based on XOR functions.
in
|
out
|
resolution
|
|
A quantifier that simulates old float formats with limited accuracy as found on early digital synthesizers.
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
in offset
|
out
|
values
|
|
(no description)
in offset
|
outA outB
|
valuesA valuesB
|
|
(no description)
in offset
|
outA outB outC
|
valuesA valuesB valuesC
|
|
(no description)
in
|
outlet_1
|
(no description)
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)...
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)...
in
|
out
|
p0 p1 p2
|
|
A unipolar input, bipolar output k rate function defined by 2 segments.
in
|
out
|
p0 p1 p2
|
|
A unipolar k rate function defined by 2 segments.
in
|
out
|
p0 p1 p2 p3 p4
|
|
A unipolar input, bipolar output k rate function defined by 4 segments.
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)...
in
|
out
|
p0 p1 p2 p3 p4 p5 p6 p7 p8
|
|
A unipolar input, bipolar output k rate function defined by 8 segments.
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)...
out
|
|
rate pos neg
|
|
(no description)
pitch
|
phi 0 phi 72 phi 144 phi 216 phi 288
|
pitch
|
|
72° separated outputs
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.
rate start reset
|
out
|
(no description)
pitch
|
env1 ramp1 env2 ramp2 env3 ramp3 env4 ramp4 env5 ramp5
|
rampType
|
|
pitch v1 v0
|
|
5 output ramps and enveloppes for Risset type effects
pitch phase
|
out1 out2
|
pitch
|
|
Dual phase triangle LFO, positive outpuit
pitch
|
phi 0 phi 120 phi 240
|
pitch
|
|
120° separated outputs
pitch
|
phi 0 phi 120 phi 240
|
pitch
|
|
120° separated outputs
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.
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.
0 1 2 3 4 5 6 7 8 9
|
out gate out2 gate2 d1wanted d2wanted
|
v
|
display integer
in
|
trig
|
Generates a trigger pulse on rising front.
a b
|
result
|
DP AA ring modulator
x1 x0
|
y1 y0
|
shift
|
|
attenuates an oversampled signal with "shift" times 6dB
x1 x0
|
y1 y0
|
shift
|
|
(no description)
x1 x0
|
y1 y0
|
amp
|
|
amplify up to 16 times not saturated!
in1 in2 in3
|
out
|
3 input krate adder
in1 in2 in3 in4
|
out
|
4 input krate adder
in1 in2 in3 in4 in5
|
out
|
5 input krate adder
in1 in2 in3 in4 in5 in6
|
out
|
6 input krate adder
in
|
out
|
amp
|
|
amplify up to 16 times (not saturated)
in1 in2 in3 mul
|
out1 out2 out3
|
3 input krate multiplier
in1 in2 in3 in4 mul
|
out1 out2 out3 out4
|
4 input krate multiplier
in1 in2 in3 in4 in5 mul
|
out1 out2 out3 out4 out5
|
5 input krate multiplier
in1 in2 in3 in4 in5 in6 mul
|
out1 out2 out3 out4 out5
|
6 input krate multiplier
in1 in2 in3 in4 in5
|
out1 out2 out3 out4 out5
|
amp
|
|
Attenuates three inputs with a constant value
in
|
out
|
amp
|
|
Multiply (attenuate) with a signed constant value
in
|
out
|
amp
|
|
Multiply (attenuate) with a signed constant value
in1 in2 in3
|
out1 out2 out3
|
amp
|
|
Attenuates three inputs with a constant value
note gate gate2 velocity releaseVelocity
|
|
startNote endNote
|
|
Monophonic MIDI keyboard note input, gate, velocity and release velocity, least recently used (including startNote).
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
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.
bus_in in1
|
out
|
gain1
|
|
1 input s-rate signed mixer
in1 in2
|
out
|
const gain1 gain2
|
|
const + 2 input k-rate signed mixer
bus_in in1 in2
|
out
|
gain1 gain2
|
|
2 input s-rate signed mixer
in1 in2 in3
|
out
|
const gain1 gain2 gain3
|
|
const + 2 input k-rate signed mixer
bus_in in1 in2 in3
|
out
|
gain1 gain2 gain3
|
|
3 input s-rate signed mixer
bus_in in1 in2 in3 in4
|
out
|
gain1 gain2 gain3 gain4
|
|
4 input s-rate signed mixer
bus_in in1 in2 in3 in4 in5
|
out
|
gain1 gain2 gain3 gain4 gain5
|
|
5 input s-rate signed mixer
bus_in in1 in2 in3 in4 in5 in6
|
out
|
gain1 gain2 gain3 gain4 gain5 gain6
|
|
6 input s-rate signed mixer
bus_in in1 in2 in3 in4 in5 in6 in7
|
out
|
gain1 gain2 gain3 gain4 gain5 gain6 gain7
|
|
7 input s-rate signed mixer
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
in1
|
out
|
const gain1
|
|
const + 1 input k-rate signed mixer
bus_in in1
|
out
|
gain1
|
|
1 input s-rate signed mixer
bus_in in1 in2
|
out
|
gain1 gain2
|
|
2 input s-rate signed mixer
bus_in in1 in2 in3
|
out
|
gain1 gain2 gain3
|
|
3 input s-rate signed mixer
bus_in in1 in2 in3 in4
|
out
|
gain1 gain2 gain3 gain4
|
|
4 input s-rate signed mixer
bus_in in1 in2 in3 in4 in5
|
out
|
gain1 gain2 gain3 gain4 gain5
|
|
5 input s-rate signed mixer
bus_in in1 in2 in3 in4 in5 in6
|
out
|
gain1 gain2 gain3 gain4 gain5 gain6
|
|
6 input s-rate signed mixer
bus_in in1 in2 in3 in4 in5 in6 in7
|
out
|
gain1 gain2 gain3 gain4 gain5 gain6 gain7
|
|
7 input s-rate signed mixer
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
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)
i s
|
o0 o1
|
Smooth demultiplexer. Works like multiple cross fades.
i s
|
o0 o1 o2 o3
|
Smooth demultiplexer. Works like multiple cross fades.
i0 i1 i2 i3 s
|
o
|
Smooth multiplexer. Works like multiple cross fades.
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).
i0 i1 i2 i3 s
|
o
|
Smooth multiplexer. Works like multiple cross fades.
i0 i1 i2 i3 i4 i5 i6 i7 s
|
o
|
Smooth multiplexer. Works like multiple cross fades.
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).
mv start nb order
|
|
(no description)
o00
|
|
mv num
|
|
gets a value from an mv (multiple value object)
h1 h2 h3 h4 h5 h6 h7 h8 h9 h10 h11 h12 h13 h14 h15 h16
|
|
(no description)
h1 h2 h3 h4 h5 h6 h7 h8 h9 h10 h11 h12 h13 h14 h15 h16
|
|
(no description)
mv start order
|
|
displays positive k-rate signals
density
|
out
|
density
|
|
pseudo gaussian distributed (white) noise
Range -64..64
density
|
out
|
density
|
|
(no description)
pitch randomness
|
out
|
pitch randomness
|
|
(no description)
randCycle cycle nbSeeds
|
out
|
randCycle cycle nbSeeds
|
|
(no description)
newSeed
|
out
|
(no description)
newSeed
|
out
|
(no description)
cycle
|
out
|
cycle offset jitter invert
|
|
Modulable Forward Backward noise generator
period detune jitter slide
|
out
|
period detune jitter slide
|
|
(no description)
out
|
|
(no description)
newSeed
|
ring
|
nbOsc
|
|
(no description)
out
|
|
pink noise
spectrum
|
out
|
noisiness spectrum
|
|
(no description)
out
|
|
(no description)
in
|
L H
|
(no description)
bright
|
out
|
bright
|
|
(no description)
freq width
|
out
|
freq width
|
|
(no description)
pitch
|
out
|
pitch
|
|
(no description)
out
|
|
(no description)
out
|
|
(no description)
pitch randomness
|
out
|
pitch randomness
|
|
(no description)
out
|
|
(no description)
out
|
|
(no description)
density
|
out
|
density
|
|
(no description)
out
|
|
(no description)
pitch R0 R1 R2 l0 l1 l2 l3 l4 l5
|
wave
|
pitch
|
|
(no description)
pitch
|
wave
|
pitch R0 R1 R2 l0 l1 l2 l3 l4 l5
|
|
(no description)
pitch pForm mod
|
out
|
pitch pForm
|
|
(no description)
pitch sym
|
wave
|
update
|
|
pitch sym
|
|
aliased limited triangle - sawtooth osc
pitch slave pitch master
|
out
|
pitch slave pitch master
|
|
Advanced version with built-in Master oscillator. See help patch for usage !!
pitch slave pitch master
|
out
|
pitch slave pitch master
|
|
Advanced version with built-in Master oscillator. See help patch for usage !!
pitch
|
y1 y0
|
pitch
|
|
x2 oversampled sine wave oscillator
pitch res brill
|
out
|
Qres
|
|
pitch res brill
|
|
(no description)
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
pitch brill dissym
|
wave
|
pitch brill dissym
|
|
(no description)
in
|
out
|
FractalI.
8x oversampling with triangular window decimation.
pitch rate
|
wave
|
type
|
|
pitch rate
|
|
(no description)
pitch noise amp
|
wave
|
pitch noise amp
|
|
noisy sine wave oscillator
pitch HP
|
out
|
pitch HP pulse
|
|
CS80ish sawtooth with its distinctive glitch
pitch
|
out
|
pitch
|
|
(no description)
pitch brill
|
wave
|
pitch brill
|
|
(no description)
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).
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
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.
vib0 vib1 vib2
|
out
|
A R1 L R2
|
|
(no description)
vib0 vib1 vib2
|
out
|
A R1 L R2
|
|
(no description)
vib0 vib1 vib2
|
out
|
A R1 L R2
|
|
(no description)
vib0 vib1 vib2 waveform
|
out
|
A R1 L R2
|
|
(no description)
lfo1 lfo2 lfo3
|
out
|
type algo
|
|
Attack Release Max Key Min Key
|
|
Paraphonic Osc Bank inspired by existing string machine waveforms
lfo1 lfo2 lfo3
|
out
|
type algo
|
|
lfoDepth Attack Release Max Key Min Key
|
|
Paraphonic Osc Bank inspired by existing string machine waveforms
4Feet 8Feet 16Feet Attack Release RevLevel RevDuration Vibrato lfo
|
out keys
|
Paraphonic Osc Bank inspired by existing string machine waveforms
out
|
|
octDbl Attack Release Max Key Min Key
|
|
Paraphonic Osc Bank inspired by existing string machine waveforms
4Feet 8Feet 16Feet A1 D1 S1 R1 A2 D2 S2 R2 Vibrato lfo
|
out keys
|
Paraphonic Osc Bank inspired by existing string machine waveforms
pitch pw
|
wave
|
pitch pw
|
|
Low CPU Anti Aliased Pulse Width Modulated Osc (Second order differentiated polynomial).
pitch
|
wave
|
pitch
|
|
Low CPU Anti Aliased Sawtooth Pulse (Second order differentiated polynomial).
pitch
|
wave
|
pitch
|
|
Low CPU Anti Aliased Sawtooth (Second order differentiated polynomial).
pitch
|
wave
|
wave
|
|
pitch
|
|
Low CPU Anti Aliased Sawtooth Pulse (Second order differentiated polynomial).
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]
pitch slave pitch master beta
|
out
|
pitch slave pitch master beta octaviate
|
|
Advanced version with built-in Master oscillator. See help patch for usage !!
pitch pitchC pitchM index
|
out
|
pitch pitchC pitchM index
|
|
(no description)
pitch pitchC pitchM1 pitchM2 index1C index21
|
out
|
pitch pitchC pitchM1 pitchM2 index1C index21
|
|
(no description)
pitch pitchC pitchM1 pitchM2 pitchM3 index1C index21 index32 phiC phiM1
|
out
|
phase env
|
|
pitch pitchC pitchM1 pitchM2 pitchM3 index1C index21 index32
|
|
(no description)
pitch mod
|
tri
|
pitch mod
|
|
(First order differentiated polynomial).
pitch mod
|
saw sqr tri sin
|
pitch mod
|
|
(First order differentiated polynomial).
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.
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.
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.
pitch disable
|
out
|
pitch level0 level1 level2 level3 level4 level5
|
|
(no description)
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 !!
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 !!
pitch disable
|
out
|
pitch level0 level1 level2 level3 level4 level5
|
|
(no description)
pitch disable
|
out
|
pitch level0 level1 level2 level3 level4 level5
|
|
(no description)
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.
pitch waveform
|
out
|
pitch
|
|
See help patch for usage !!
pitch slave pitch master waveform
|
out
|
pitch slave pitch master
|
|
Advanced version with built-in Master oscillator. See help patch for usage !!
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...)
select
|
waveform
|
For use with O2_12Steps(Sync)
rateA depthA rateB depthB wf12
|
wf12
|
rateA depthA rateB depthB
|
|
(no description)
waveform
|
|
h1 h2 h3 h4 h5 h6
|
|
For use with O2_12Steps(Sync)
mod wf12
|
wf12
|
scale1 scale0
|
|
(no description)
scan
|
wf12
|
scan mode
|
|
For use with O2_12Steps(Sync)
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".
pitch wf16 update
|
out
|
pitch
|
|
See help patch for usage !!
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
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
update
|
wf16
|
h1 h2 h3 h4 h5 h6 h7 h8 interp
|
|
For use with 16StepsDP2
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".
in theta ar theta kr
|
out
|
theta
|
|
r i theta ar theta kr
|
r i
|
Globulator
r i theta
|
r i
|
theta
|
|
cos sin rotation
r i theta
|
r i
|
cos sin rotation
r i mod r mod i
|
r i
|
mod r mod i
|
|
input modulated globulator
r theta ar theta kr mod r mod i LP HP
|
r i
|
theta mod r mod i LP HP delay
|
|
Playful Globulator !
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
in Fb gain Fb HP Fb LP Fb delay Fb phi Out phi
|
out
|
Reed
pm1 pm0 pitch freq offset disable disto disto offset
|
y1 y0
|
piwt
|
|
pitch
|
|
PIWT osc, needs to connect to a PIWT.
Experimental.
gen size location
|
|
(no description)
piwt hA hB hC hD hE hF hG hH
|
|
(no description)
function size location
|
|
(no description)
pitch freq offset pm disable disto disto offset
|
wave
|
piwt
|
|
pitch
|
|
PIWT osc, needs to connect to a PIWT.
Experimental.
pitch freq offset disable
|
wave
|
piwt
|
|
pitch
|
|
PIWT osc, needs to connect to a PIWT.
pitch freq offsetB freq offsetC disable
|
wave
|
piwt
|
|
pitch
|
|
PIWT osc, needs to connect to a PIWT.
piwt seed iterations
|
|
(no description)
sc0 sc1 sc2 sc3
|
|
Sub krate scheduler to trigger costly krate operations.
Such as 16StepsDP2 updates.
in pan
|
left right
|
pan
|
|
Constant gain^2 pan with param and modulation inputs
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.)
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.)
i00 i01 i02 i03 i04 i05 i06 i07 i08 i09 i10 i11 i12 i13 i14 i15 sel
|
out
|
string multiplexer
i0 i1 sel
|
out
|
string multiplexer
i0 i1 i2 i3 sel
|
out
|
string multiplexer
i0 i1 i2 i3 i4 i5 i6 i7 sel
|
out
|
string multiplexer
chainTrig chainIn i0 i1 i2 i3
|
chainTrig out
|
prefix0 prefix1 prefix2 prefix3
|
|
string multiplexer
in offset
|
out
|
string scroller
pitch detHz
|
pitch
|
detHz
|
|
Detune in Hz, same beating Hz on all the keyboard.
2 -> ~4seconds
4 -> 2s
8 -> 1Hz
64 -> ~8Hz
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
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.
pitch quant
|
pitch
|
(no description)
in trig
|
out
|
1st order lowpass filter and high pass filter.
function0 function1 function2 function3 size location mode normalize
|
|
(no description)
function0 function1 function2 function3 function4 function5 function6 function7 size location mode normalize
|
|
(no description)
filename trig
|
|
nbWaves length location mode loadAtInit
|
|
(no description)
pitch freq offset pm disable disto disto offset wave
|
wave
|
xt
|
|
pitch
|
|
XT osc, needs to connect to a XT.
start rate1 rate2 reset sync
|
out
|
sync2limit
|
|
Two slope cyclic ramp/LFO
in
|
out
|
start end
|
|
cubic bezier interpolation
in
|
out
|
curve
|
|
quadratic bezier interpolation
in
|
out
|
curve
|
|
pow4 interpolation
pitch freq phase sync
|
wave
|
pitch
|
|
sine wave oscillator, with rising-edge sync input
trig r
|
out
|
bank pattern length
|
|
Pseudo-random (repeatable) pattern generator. Based on Nord modular PatternGen module.
trig r
|
out
|
bank pattern length offset
|
|
32-step pseudo-random (repeatable) pattern generator. Based on Nord modular PatternGen module.
trig r
|
pattern trigger
|
bank index trigdense length offset
|
|
32-step pseudo-random (repeatable) pattern generator, with Pattern and Trigger outlets
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.
time mod
|
out
|
delayname interpol
|
|
delay read, modulateable, linear interpolated
in
|
out
|
gain
|
|
(no description)
in time timemod gain
|
out
|
buffsize interpol location
|
|
A modulatable 32bit schroeder allpass filter with different types of interpolation (for reverbs and diffusers)
InL InR
|
l r
|
PreDelay decay LowDamp HighDamp size mix diffusion pitch gain
|
|
(no description)
InL InR
|
l r
|
PreDelay decay LowDamp HighDamp size diffusion mix pitch gain
|
|
(no description)
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)
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.
i
|
o
|
max min
|
|
Limits in incoming value to an upper and lower bound
c
|
o
|
a b
|
|
Maps 0..64 to a..b
c
|
o
|
a b
|
|
Maps 0..64 to a..b
v
|
|
generic modulation source, that sends its modulation automatically when the value changes.
numVoices
|
|
Outputs the total number of voices in a polyphonic subpatch.
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.
out
|
|
value
|
|
positive integer control, horizontal radio buttons
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
trig a d
|
env
|
a d
|
|
Attack/decay envelope, linear attack, exponential decay with modulation
filter in
|
outlet_1
|
vcf freq hp freq vcf res
|
|
(no description)
pitch control delay mix delay fdbk
|
audio out
|
pitch pwm echo_1 echo_1
|
|
(no description)