live granular processing
silos granular engine, thresher, contains 4 tracks; each with 8 seconds of record time. the parameters for controlling the engine are:
nb: speed and pitch work like rate controls. 1 is base pitch/speed, 2 = 1 octave up/twice as fast, 4 = 2 octave up/twice as twice as fast, 0.5 = 1 octave down/half speed
in addition to granulation, thresher also includes an fx bus featuring a lush modulated reverb followed by a bit crusher. the fx parameters are:
launching silos lands you in a fairly minimal state. in the top right corner of your screen are indicators for gate, recording, and your current track number. at the bottom of your screen you’ll find the command prompt.
key 3 = record toggle
alt + enc 3 = info display navigation
if you’d like to see a bit more information, press alt + key 3 or ESC on your keyboard to toggle the info display. there are pages for engine parameters, fx, control assignments, and snapshots.
use alt + enc 3 or your LEFT/RIGHT arrow keys to navigate.
the arc adds four extra encoders. assign controls with
arc id track/fx control_number
arc 1 3 4= assign track 3 jitter to arc ring 1
arc 4 fx 1= assign fx gain to arc ring 4
the grid has two modes of operation. mode 1 is two 8x8 x/y pads, mode 2 is snapshot mode. switch modes with
grid_mode n where n = 1 or 2. more grid modes will likely be added in the future.
assign controls to the x/y coordinates using
gridx id track/fx control_number
gridy 2 1 5= assign track 1 size to the second y coordinate (right side oof grid)
gridx 1 fx 1= assign fx gain to the first x coordinate (left side of grid)
in snapshot mode, holding the lower dimly lit cell and pressing one of the top 4 rows will save a snapshot of your parameter settings. row 1 will save snaps for track 1, row 2 for track 2, and so on. a cell containing a snapshot will glow brightly. pressing a brightly lit cell will recall the associated snapshot.
there are several commands to configure controls, set parameter values, and save/load various sets of data.
controller id track control_number
controller id "fx" fx_control_number
cc midi_device midi_chan cc_number track/fx control_number
enc 3 1 6= set encoder 3 to track 1 density control
arc 2 fx 6= set arc ring 2 to fx mod_depth
cc 1 14 4 1 8= assign track 1 density to 1st midi device channel 14 cc 4
nb: control lists can be viewed in app by toggling info display
macro encoder_id track/fx control_number multiplier
macro 3 1 8 .5= add track 1 density to macro 3 at half strength
macro 3 2 5 -1= add track 2 size to macro 3 at -1 strength (full speed backwards)
macro 3 fx 6 1= add the reverb modulation depth control to macro 3 and full strength
enc enc_id macro state
enc 3 macro 1= enable macro control on encoder 3
enc 3 macro 0
macro macro_id clear
macro 3 clear= clear encoder 3 macro
nb: multiplier can be negative numbers! this allows one param to increase while others decrease or vice versa
control_name track/fx value
size 2 150= set track 2 size to 150ms
rand track/fx control_number
rand 1 8= set track 1 spread to a random value
rrand track/fx control_number low high
rrand 3 5 10 150= set track 3 size to a random value between 10 and 150
gate state1 state2 state3 state4
gate 1 1 0 0= set gates 1 and 2 to on, gates 3 and 4 to off
record state1 state2 state3 state4
record 0 0 0 1= set records 1, 2, and 3 off, 4 on
recordhave the aliases
g 1 1 0 1and
r 0 0 1 0are valid
snap id track
snap 10 2= save a parameter snapshot for track 2 in slot 10
load id track
load 5 3= recall track 3 parameter snapshot in slot 5
id= a number 1-16
loadhave the aliases
s 1 1and
l 1 1are valid
save_state test= save your current script state in a file called
load_state new_song= load
new_song.stateif it exists.
save_pset= this is the same as saving a pset in the parameters menu.
load_pset= this is the same as loading a pset in the parameters menu.
nb: save/load_state id’s can be any string. state includes control assignments, macros, snapshots etc..
from the maiden Repl, type