A collection of innovative, probabilistic, generative, and rhythmically complex modules for VCVRack. Created by Jeremy Muller. If you enjoy using these modules and/or have made money with these, please consider sponsoring this project or giving a donation through PayPal. Huge shoutout to Andras Szabo for being the very first sponsor of Sha#Bang! Modules! Thank you :pray:
Add these modules to VCVRack through the Rack library.
A physical model of various of shakers and wind chimes (maracas, sleigh bells, bamboo chimes, metallic chimes, etc).
Watch the tutorial:
SHAKE
shakes the particles. Hold down to continuously shake.
SHAKE
gate controls the shake.V/OCT
center frequency of the particles.SPREAD
control voltage determines the amount of spread from the center frequency.VEL
control voltage for the initial shake energy.PARTICLES
control voltage for the number of particles. More particles = faster decay in system energy, less particles = slower decay.
C
center frequency of the particles in Hz.SPREAD
sets the amount of spread from the center frequency.RND
sets the amount of random frequencydeviation on each particle collision.PARTICLES
sets the number of particles. More particles = faster decay in system energy, less particles = slower decay.
V/OCT
outputs ±5 volts.GATE
outputs pulses.VEL
outputs velocity of entire system.A continuous sequencer based on constellations where time can move left->right, right->left, up->down, and down->up.
Click anywhere to add/drag new stars. To remove stars click/drag them out of the dark display area.
Watch the tutorial:
PLAY
starts the sequencer.CLR
removes all stars.POS
randomizes positions of stars.RAD
randomizes the radii of stars.
PLAY
trigger starts/stops the sequencer.SPEED
control voltage manipulates the current speed.RESET
trigger resets the current sequence position.POS
accepts gate that triggers randomizing positions of stars.RAD
accepts gate that triggers randomizing radii of stars.
SPEED
tempo of sequencer.PATT
sets the constellation pattern.OCT
controls the octaves of individual sequencers.MODE
sets which direction time will traverse the stars.
PITCH
left side will take pitch from the radius of particles. The right side will take pitch based on the X or Y position (width or height respectively) in the display. If the MODE
is set to either Blue or Red, in which case time travels down or up, pitch is taken from the horizontal position of the stars. The left switch is good if you'd like to generate randomness in the pitches, however, if you want more control over the pitch then select the right switch.
GATES
output pulses.V/OCT
outputs ±5 volts.A unique visual-based sequencer where time moves from the center of the 4 independent nodes out to the connected particles. Can generate interesting rhythmic textures and can be animated so that the textures change over time.
Click on nodes to position them. Click anywhere else to add/drag new particles. To remove particles click/drag them out of the dark display area.
Watch the tutorial:
PLAY
button/input.PLAY
turns on/off all nodes.MOVE
each node will randomly move around the dispay area.CLR
removes all particles.ON
turns on/off individual nodes.
PLAY
trigger starts/stops the generator.BPM
control voltage manipulates the current bpm.MOVE
trigger turns on/off the random movement of nodes.BPM
tempo of all nodes.SPEED
is the velocity of movement of nodes when MOVE
is switched on.OCT
controls the octaves of individual nodes.
PITCH
left side will take pitch from the radius of particles. The right side will take pitch based on the Y position (height) in the display. The left switch is good if you'd like to generate randomness in the pitches, however, if you want more control over the pitch then select the right switch.
GATES
and V/OCT
output only from the corresponding node color.ALL
outputs all nodes.:warning: There are a maximum of 16 particles (for 16 polyphonic channels) per node. However, when using the ALL
outputs, there is potential to reach that maximum (16 x 4 = 64) in which case it does voice stealing.
Physics-based animated LFO with 4 independent attractors.
Click on the attractors to move position them where you want. Click anywhere else to add particles.
Watch the tutorial:
RMV
removes one particle.CLR
clears all particles.MOVE
trigger turns on/off the random movement of attractors.
ON
turns on/off individual attractors.G
scales the individual attractors' gravity.G
(big knob) main gravity control for all attractors.OFFSET
offsets the voltage output.
MOVE
trigger turns on/off the random movement of attractors.G
takes a CV using this formula: G
* 2V.
MONO OUTS
:
AVG
average x/y voltage of all particles.MAX
maximum x/y voltage of all particles.MIN
minimum x/y voltage of all particles.POLY OUTS
:
X Y
positions of particles correspond to ±5 volts.-X -Y
opposite positions of particles correspond to ±5 volts.velX velY
velocities of particles correspond to ±5 volts.Animated visualizers that uses color flocking based on the Craig Reynolds boids flocking algorithm.
Placing modules adjacent to each other will cause them to blend colors. PhotronPanel
and PhotronStrip
will work together, however Photron
only will blend with another Photron
.
Processing rate
(for those with slower CPUs). Keep in mind, if you slow the processing rate down, it'll help your CPU but the animation will also slow down.Lissajous mode
on or off.Pattern
select from a list of 8-bit retro characters and others.Lock pattern
lock the pattern or let it blend.
D+Click
draw with the mouse.MIDDLE 2 inputs are the X and Y waveforms.
BOTTOM 3 inputs are triggers:
NEW! Photron Panel is now resizable
Initialize
will set the colors top to bottom: Purple, Blue, Aqua, and Red.Randomize
will randomize all colors.
Processing rate
(for those with slower CPUs). Keep in mind, if you slow the processing rate down, it'll help your CPU but the animation will also slow down.Mode
color, black & white, solid color, or strip color.Light
(only effects solid color or strip color mode) one slider to set the pulse speed - in Hz, 0 Hz will be fully on - the second slider will set the hue 0 to 360 degrees.Dark Room Blobs
on or off.
D+Click
draw on Photron Panel.A clock featuring three layers of embedded rhythms. It's easy to multiply and/or divide the clock with virtually any rhythm you want using this clock.
Watch the tutorial:
CV
controls bpm (beats per minute) based on the input voltage using this formula: 120 * 2V.2, 4, 8, 12, 24
PPQN
controls bpm based on the number pulses per quarter note.PPQN
modes, the clock will turn on automatically when it receives a pulse. It will also turn off automatically after it times out from not receiving any more pulses.
RST
resets the clock phases.EXT
is an external clock to control the PolyrhythmClock determined by the External Clock Mode.TUPLET 1
outputs the ratio compared to the bpm.TUPLET 2
outputs the ratio compared to TUPLET 1
.TUPLET 3
outputs the ratio compared to TUPLET 2
.A bit crusher and downsampler using fractional rates with the ability to modulate bit rate & sample rate, or randomly trigger new bit rates & sample rates.
IN
input signal to be processed.TRG
s both inputs accept gates that trigger random bit rates and/or sample rates.MOD
knob accept modulation sources (i.e. LFO).
BITS
sets bit rate. This is overridden by TRG
input.SAMP
sets sample rate. This is overriden by TRG
input.MOD
s set the amount of modulation from modulation signal.
OUT
output signal.Randomly outputs one of the 4 inputs.
Watch the tutorial:
TRG
randomizes the outputINS
(purple, blue, aqua, red) are any type of input, i.e. gates or ±5 volts.
OUT
outputs either the randomly chosen input as either a pulse or ±5 volts.Randomly routes one inputs to 4 possible outputs.
TRG
randomizes the outputIN
any type of input, i.e. gates or ±5 volts.
OUTS
(purple, blue, aqua, red) randomly chosen to output the input as either a pulse or ±5 volts. If no cable is connected to TRG
then the IN
will act as the trigger and output acts like a multinoulli gate only outputting 10 volts or 0 volts.A sequencer that uses stochastic (probabilistic) patterns. The outputs can be used as gates (triggered based on probability) or as ±5 volts (probability is converted to voltage).
Click and/or drag to draw your own patterns! Also, click on the different memory banks to recall/store the slider information.
Watch the tutorial:
Ctrl+Left
shifts sliders to the left.Ctrl+Right
shifts sliders to the right.Ctrl+Up
shifts sliders up by 5%.Ctrl+Down
shifts sliders down by 5%.
CLK
controls timing.RST
resets sequence to beginning of timeline.MEM
CV input to switch between memory banks. A single 1V/oct can control which memory bank to select.
LEN
length of the sequence.PATT
selects from preset patterns.SCALE
percentage of the pitch based on the V/OCT
output and Volt Offset.RND
randomizes all probabilities.INV
inverts all probabilities.DIM
cuts the current pattern in half and repeats. Keep clicking this button to continue to diminish the pattern.
GATE
outputs a pulse based on the probability of the current sequence position. (i.e. a slider at 50% will only trigger a pulse half of the time)V/OCT
outputs pitch based on the slider position and SPREAD
knob, regardless of probability of the event.INV
outputs invert of V/OCT
.GATES
outputs correspond to each position in the sequence.NOT
outputs only when GATE
isn't triggered.A sequencer that uses four independent stochastic (probabilistic) patterns. The outputs can be used as gates (triggered based on probability) or as ±5 volts (probability is converted to voltage).
Click and/or drag to draw your own patterns!
Watch the tutorial:
MCLK
override: if MCLK
has a connected cable then it will disable all individual clocks.Ctrl+C
copies focused pattern and length.Ctrl+V
pastes the copied pattern and length to the focused one.Ctrl+Enter
focuses and highlights a single pattern.Ctrl+Left
shifts focused sliders to the left.Ctrl+Right
shifts focused sliders to the right.Ctrl+Up
shifts focused sliders up by 5%.Ctrl+Down
shifts focused sliders down by 5%.
MCLK
controls timing of all patterns (overrides all individual clocks).CLK
controls timing of individual patterns.RST
resets sequences to beginning of timeline.RND
gate input randomizes all probabilities.INV
gate input inverts all probabilities.DIM
gate input cuts the current pattern in half and repeats.
LEN
length of the individual sequence.PATT
selects from preset patterns.SCALE
percentage of the pitch based on the V/OCT
output and Volt Offset.RND
randomizes all probabilities.INV
inverts all probabilities.DIM
cuts the current pattern in half and repeats. Keep clicking this button to continue to diminish the pattern.
GATE
outputs a pulse based on the probability of the current individual sequence position. (i.e. a slider at 50% will only trigger a pulse half of the time)NOT
outputs only when GATE
isn't triggered.V/OCT
outputs pitch based on the slider position and SPREAD
knob, regardless of probability of the event.INV
outputs invert of V/OCT
.OR
outputs pulse when at least one of the gates is on.XOR
outputs pulse when ONLY one gate is on.An expander for the StochSeq4. This module must be adjacent to the right side of StochSeq4.
All
option is selected then each column of the outputs go from 1-8.
A rhythmic sequencer that uses four independent stochastic (probabilistic) patterns. Each cell contains rhythmic subdivisions that are triggered based on probability.
Inspired by JW-Modules GridSeq 🙂
Watch the tutorial:
CV
controls bpm (beats per minute) based on the input voltage using this formula: 120 * 2V.2, 4, 8, 12, 24
PPQN
controls bpm based on the number pulses per quarter note.PPQN
modes, the clock will turn on automatically when it receives a pulse. It will also turn off automatically after it times out from not receiving any more pulses.Click
a cell to increase subdivisions.Shift+Click
a cell to double its subdivisions (up to 16).Click+Drag
in a cell to increase/decrease subdivisions.Ctrl+Click
on a subdivision to toggle.Ctrl+Click
off of a subdivision to toggle all of them on in current cell.Ctrl+Click+Drag
on multiple subdivisions to toggle.
RST
resets sequences to beginning of timeline.EXT
is an external clock to control the StochSeqGrid determined by the External Clock Mode.
length
length of the individual sequences.path
toggles the type of path
default
will traverse the grid based on the length
small color indicators arrows just outside the grid display.random
will randomly pick a cell based on the length
range.random walk
will ignore the length
and only pick cells that are adjacent to the current cell the sequencer is in.
Run
toggle the sequencer on/off.RST
resets sequences to beginning of timeline.Tempo
controls the global tempo of the StochSeqGrid.
Cell Probability
controls the overall probability of whether or not the cell will happen.Cell CV
controls the volts for the CV
outputs.Rhythm Probability
controls the probability of whether or not the subdivision will happen. If the cell is triggered but the subdivision isn't, the output will be a single rhythmic gate/trigger.
GATES
outputs a pulse based on the probability of the current individual sequence position. (i.e. a cell at 50% will only trigger a pulse half of the time)CV
outputs voltage based on the Cell CV
position and independent/S&H mode.An arpeggiator with polyrhythmic capabilities dependent upon note intervals.
Watch the tutorial:
CV
controls bpm (beats per minute) based on the input voltage using this formula: 120 * 2V.2, 4, 8, 12, 24
PPQN
controls bpm based on the number pulses per quarter note.PPQN
modes, the clock will turn on automatically when it receives a pulse. It will also turn off automatically after it times out from not receiving any more pulses.Fixed
means each note is fixed and centered around middle C (C4, volts = 0.0). This note will take the current tempo of the BPM knob and all other notes are a ratio based on this note/tempo.Movable
means that the first note played will take the current tempo of the BPM knob and all other notes are a ratio based on this first note/tempo.
EXT
is an external clock to control the Talea BPM determined by the External Clock Mode.V/OCT
takes input voltage.GATE
input gates when note is held.
HOLD
will hold pattern. Is overriden when you release all notes and start a new note.OCT
will add octaves to the pattern:
POLYRHYTHM
will turn on or off the polyrhythm arpeggiator. If off, Talea acts like a conventional arpeggiator.
GATE
knob control the percentage amount the gate is on.POLYRHYTHM
is turned off. These are:
↑
ascending order↓
descending order2x
each note plays twice in ascending order⚡︎
in order of which they were playedR
random
V/OCT
outputs pitch.GATE
outputs gates determined by arpeggiator rhythms.When POLYRHYTHM
is turned on, the arpeggiator will repeat notes at a tempo based on a specific tuning. For example, the note A440 vibrates at 440 Hz and an octave higher the note vibrates at 880 Hz. This is a 2:1 ratio, meaning one vibrates twice as fast as the other. Rhythms can work like this as well, one rhythm can repeat at a tempo twice as fast as another. Once we start using other intervals that occur in a scale, we can create some more complex rhythms. However, using equal temperament tuning (which is standard tuning for the overwhelming majority of music and instruments in the Western Hemisphere) divides the octave into 12 equal steps which gives us non-integer ratios. So if you play an A and an E (perfect 5th) in equal temperament, you get a rhythmic ratio of 1 : 1.4983070768766815, or 440Hz : 659.2551138257398Hz, YUCK! So to simplify this, I use the natural harmonic series for the ratios. They make nice integer ratios and are a naturally occuring phenomenon. The table below shows the ratios that are use for each interval.
No. of steps | Musical interval | Ratio |
---|---|---|
0 | unison | 1:1 |
1 | minor 2nd | 16:15 |
2 | major 2nd | 9:8 |
3 | minor 3rd | 6:5 |
4 | major 3rd | 5:4 |
5 | perfect 4th | 4:3 |
6 | augmented 4th/diminished 5th | 7:5 |
7 | perfect 5th | 3:2 |
8 | minor 6th | 8:5 |
9 | major 6th | 5:3 |
10 | minor 7th | 9:5 |
11 | major 7th | 15:8 |
12 | octave | 2:1 |
13 | minor 9th | 32:15 (16:15 * 2) |
14 | major 9th | 18:8 (9:8 * 2) |
15 | minor 10th | 12:5 (6:5 * 2) |
...