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 🙏
Add these modules to VCVRack through the Rack library.
- Collider 📺
- Cosmosis 📺
- Neutrinode 📺
- Orbitones 📺
- Photron
- PhotronPanel
- PhotronStrip
- PolyrhythmClock 📺
- QubitCrusher
- RandGates 📺
- RandRoute
- StochSeq 📺
- StochSeq4 📺
- StochSeq4X
- StochSeqGrid 📺
- Talea 📺
A physical model of various of shakers and wind chimes (maracas, sleigh bells, bamboo chimes, metallic chimes, etc).
Watch the tutorial:
- Polyphony.
SHAKEshakes the particles. Hold down to continuously shake.
SHAKEgate controls the shake.V/OCTcenter frequency of the particles.SPREADcontrol voltage determines the amount of spread from the center frequency.VELcontrol voltage for the initial shake energy.PARTICLEScontrol voltage for the number of particles. More particles = faster decay in system energy, less particles = slower decay.
Ccenter frequency of the particles in Hz.SPREADsets the amount of spread from the center frequency.RNDsets the amount of random frequencydeviation on each particle collision.PARTICLESsets the number of particles. More particles = faster decay in system energy, less particles = slower decay.
V/OCToutputs ±5 volts.GATEoutputs pulses.VELoutputs 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:
- Polyphony.
PLAYstarts the sequencer.CLRremoves all stars.POSrandomizes positions of stars.RADrandomizes the radii of stars.
PLAYtrigger starts/stops the sequencer.SPEEDcontrol voltage manipulates the current speed.RESETtrigger resets the current sequence position.- Root note input will accept V/OCT to set the root note.
POSaccepts gate that triggers randomizing positions of stars.RADaccepts gate that triggers randomizing radii of stars.
SPEEDtempo of sequencer.PATTsets the constellation pattern.- Two knobs control the root note and the scale. The Messiaen modes are based on the wonderful French composer, Olivier Messiaen and his modes of limited transposition found in his book The Technique of My Musical Language.
- Chords like MM7, Mm7, mm7, etc. are based on seventh chords.
OCTcontrols the octaves of individual sequencers.MODEsets which direction time will traverse the stars.
PITCHleft 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 theMODEis 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.
GATESoutput pulses.V/OCToutputs ±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:
- Continuous play or one-shot mode (useful for synchronization). These options only affect the
PLAYbutton/input. - Collisions are turned on or off for the nodes.
- Polyphony.
PLAYturns on/off all nodes.MOVEeach node will randomly move around the dispay area.CLRremoves all particles.ONturns on/off individual nodes.
PLAYtrigger starts/stops the generator.BPMcontrol voltage manipulates the current bpm.MOVEtrigger turns on/off the random movement of nodes.- Root note input will accept V/OCT to set the root note.
BPMtempo of all nodes.SPEEDis the velocity of movement of nodes whenMOVEis switched on.- Two knobs control the root note and the scale. The Messiaen modes are based on the wonderful French composer, Olivier Messiaen and his modes of limited transposition found in his book The Technique of My Musical Language.
- Chords like MM7, Mm7, mm7, etc. are based on seventh chords.
OCTcontrols the octaves of individual nodes.
PITCHleft 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.
GATESandV/OCToutput only from the corresponding node color.ALLoutputs all nodes.
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:
- Polyphony.
- Particle trails:
- off
- white
- red/blue shift (based on velocity of particles)
- Particle boundaries:
- on (particles are bound by the display area and will bounce off edges)
- off (particles are able to leave the display area)
RMVremoves one particle.CLRclears all particles.MOVEtrigger turns on/off the random movement of attractors.
ONturns on/off individual attractors.Gscales the individual attractors' gravity.G(big knob) main gravity control for all attractors.OFFSEToffsets the voltage output.
MOVEtrigger turns on/off the random movement of attractors.Gtakes a CV using this formula:G* 2V.
MONO OUTS:AVGaverage x/y voltage of all particles.MAXmaximum x/y voltage of all particles.MINminimum x/y voltage of all particles.
POLY OUTS:X Ypositions of particles correspond to ±5 volts.-X -Yopposite positions of particles correspond to ±5 volts.velX velYvelocities 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 modeon or off.Patternselect from a list of 8-bit retro characters and others.Lock patternlock the pattern or let it blend.
- Waveform mode: lines, blocks, or off.
- Background mode: color, black & white, or black.
- Purple knobs adjust the X and Y offset of the waveform(s).
- Blue knobs adjust the X and Y scaling of the waveform(s).
- TOP 4 inputs (zero volts is default values):
- CV controls the separation of colors between adjacent blocks. Higher voltage = more separation.
- CV controls the alignment of block colors which is their rate of change. Higher voltage = more alignment and thus their color velocities will become the same.
- CV controls the cohesion of block colors which is converging on a single color. Higher voltage = more cohesion and thus their colors will quickly become the same and Photron will look like one color.
- V/OCT controls the target color for Photron. Blocks will drift towards the target color and hover around it. See the image below for corresponding notes & colors:
D+Clickdraw with the mouse.
-
MIDDLE 2 inputs are the X and Y waveforms.
-
BOTTOM 3 inputs are triggers:
- Waveform mode: lines, blocks, or off.
- Background mode: color, black & white, or black.
- Draw the pixelated pattern.
NEW! Photron Panel is now resizable
Initializewill set the colors top to bottom: Purple, Blue, Aqua, and Red.Randomizewill 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.Modecolor, 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 Blobson or off.
D+Clickdraw 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:
- External Clock Mode:
CVcontrols bpm (beats per minute) based on the input voltage using this formula: 120 * 2V.2, 4, 8, 12, 24PPQNcontrols bpm based on the number pulses per quarter note.
- If the mode is set to any of the
PPQNmodes, 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.
RSTresets the clock phases.EXTis an external clock to control the PolyrhythmClock determined by the External Clock Mode.- 0v-2v map to 0-24 for the inputs under each knob.
- on or off
- large main knob at the top controls the bpm (beats per minute).
- left-side knobs within each tuplet controls the numerator part of the fraction (or ratio).
- right-side knobs within each tuplet controls the denominator part of the fraction (or ratio).
- middle solid-color knobs within each tuplet controls the probability of outputting a pulse.
- first one outputs the current bpm.
TUPLET 1outputs the ratio compared to the bpm.TUPLET 2outputs the ratio compared toTUPLET 1.TUPLET 3outputs the ratio compared toTUPLET 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.
INinput signal to be processed.TRGs both inputs accept gates that trigger random bit rates and/or sample rates.- Inputs connected to
MODknob accept modulation sources (i.e. LFO).
BITSsets bit rate. This is overridden byTRGinput.SAMPsets sample rate. This is overriden byTRGinput.MODs set the amount of modulation from modulation signal.
OUToutput signal.
Randomly outputs one of the 4 inputs.
Watch the tutorial:
TRGrandomizes the outputINS(purple, blue, aqua, red) are any type of input, i.e. gates or ±5 volts.
- Weight knob: Gives probability control of the probability to the chosen input. All the way to the right is uniform randomness.
- Weight probability knob: controls the probability of the chosen input.
OUToutputs either the randomly chosen input as either a pulse or ±5 volts.
Randomly routes one inputs to 4 possible outputs.
TRGrandomizes the outputINany type of input, i.e. gates or ±5 volts.
- Weight knob: Gives probability control of the probability to the chosen output. All the way to the right is uniform randomness.
- Weight probability knob: controls the probability of the chosen output.
OUTS(purple, blue, aqua, red) randomly chosen to output the input as either a pulse or ±5 volts. If no cable is connected toTRGthen theINwill 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:
- Gate mode: gates or triggers.
- V/OCT mode: Independent or Sample and Hold (only changes based on whether gate triggers).
- Volt Offset: ±5V or +10V
- Show or hide slider percentages.
- Enable keyboard shortcuts.
Ctrl+Leftshifts sliders to the left.Ctrl+Rightshifts sliders to the right.Ctrl+Upshifts sliders up by 5%.Ctrl+Downshifts sliders down by 5%.
CLKcontrols timing.RSTresets sequence to beginning of timeline.MEMCV input to switch between memory banks. A single 1V/oct can control which memory bank to select.
LENlength of the sequence.PATTselects from preset patterns.SCALEpercentage of the pitch based on theV/OCToutput and Volt Offset.- Two knobs control the root note and the scale. The Messiaen modes are based on the wonderful French composer, Olivier Messiaen and his modes of limited transposition found in his book The Technique of My Musical Language.
- Chords like MM7, Mm7, mm7, etc. are based on seventh chords.
RNDrandomizes all probabilities.INVinverts all probabilities.DIMcuts the current pattern in half and repeats. Keep clicking this button to continue to diminish the pattern.
GATEoutputs 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/OCToutputs pitch based on the slider position andSPREADknob, regardless of probability of the event.INVoutputs invert ofV/OCT.GATESoutputs correspond to each position in the sequence.NOToutputs only whenGATEisn'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:
MCLKoverride: ifMCLKhas a connected cable then it will disable all individual clocks.- Gate mode: gates or triggers.
- V/OCT mode: Independent or Sample and Hold (only changes based on whether gate triggers).
- Volt Offset: ±5V or +10V
- Show or hide slider percentages.
- Enable keyboard shortcuts.
Ctrl+Ccopies focused pattern and length.Ctrl+Vpastes the copied pattern and length to the focused one.Ctrl+Enterfocuses and highlights a single pattern.Ctrl+Leftshifts focused sliders to the left.Ctrl+Rightshifts focused sliders to the right.Ctrl+Upshifts focused sliders up by 5%.Ctrl+Downshifts focused sliders down by 5%.
MCLKcontrols timing of all patterns (overrides all individual clocks).CLKcontrols timing of individual patterns.RSTresets sequences to beginning of timeline.RNDgate input randomizes all probabilities.INVgate input inverts all probabilities.DIMgate input cuts the current pattern in half and repeats.
LENlength of the individual sequence.PATTselects from preset patterns.SCALEpercentage of the pitch based on theV/OCToutput and Volt Offset.- Two knobs control the root note and the scale just like StochSeq.
- Resets sequences to beginning of timeline.
RNDrandomizes all probabilities.INVinverts all probabilities.DIMcuts the current pattern in half and repeats. Keep clicking this button to continue to diminish the pattern.
GATEoutputs 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)NOToutputs only whenGATEisn't triggered.V/OCToutputs pitch based on the slider position andSPREADknob, regardless of probability of the event.INVoutputs invert ofV/OCT.ORoutputs pulse when at least one of the gates is on.XORoutputs pulse when ONLY one gate is on.
An expander for the StochSeq4. This module must be adjacent to the right side of StochSeq4.
- The main knob at the top controls which sequence you want to expand from StochSeq4 (Purple, Blue, Aqua, or Red). Additionally, the final option is to have all four columns output the first 8 steps from all sequences. If the
Alloption is selected then each column of the outputs go from 1-8.
- The buttons under each column toggle whether they are gates or not gates.
- All 32 (or first 8) gate outputs from StochSeq4.
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:
- Gate mode: gates or triggers.
- CV mode: independent or sample & hold (based on whether the cell was triggered or not).
- Mouse drag: horizontal or vertical controls the increase/decrease of subdivisions within each cell.
- External Clock Mode:
CVcontrols bpm (beats per minute) based on the input voltage using this formula: 120 * 2V.2, 4, 8, 12, 24PPQNcontrols bpm based on the number pulses per quarter note.
- If the mode is set to any of the
PPQNmodes, 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. - Display: blooms or circles (doesn't affect the module other than visual aesthetic).
Clicka cell to increase subdivisions.Shift+Clicka cell to double its subdivisions (up to 16).Click+Dragin a cell to increase/decrease subdivisions.Ctrl+Clickon a subdivision to toggle.Ctrl+Clickoff of a subdivision to toggle all of them on in current cell.Ctrl+Click+Dragon multiple subdivisions to toggle.
RSTresets sequences to beginning of timeline.EXTis an external clock to control the StochSeqGrid determined by the External Clock Mode.
lengthlength of the individual sequences.pathtoggles the type of pathdefaultwill traverse the grid based on thelengthsmall color indicators arrows just outside the grid display.randomwill randomly pick a cell based on thelengthrange.random walkwill ignore thelengthand only pick cells that are adjacent to the current cell the sequencer is in.
- left-side knobs control the numerator part of the fraction (or ratio) of the corresponding sequence based on the global tempo.
- right-side knobs control the denominator part of the fraction (or ratio) of the corresponding sequence based on the global tempo.
- buttons toggle the corresponding sequence on/off.
Runtoggle the sequencer on/off.RSTresets sequences to beginning of timeline.Tempocontrols the global tempo of the StochSeqGrid.
Cell Probabilitycontrols the overall probability of whether or not the cell will happen.Cell CVcontrols the volts for theCVoutputs.Rhythm Probabilitycontrols 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.
GATESoutputs 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)CVoutputs voltage based on theCell CVposition and independent/S&H mode.
An arpeggiator with polyrhythmic capabilities dependent upon note intervals.
Watch the tutorial:
- External Clock Mode:
CVcontrols bpm (beats per minute) based on the input voltage using this formula: 120 * 2V.2, 4, 8, 12, 24PPQNcontrols bpm based on the number pulses per quarter note.- If the mode is set to any of the
PPQNmodes, 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.
- Polyrhythm Mode:
Fixedmeans 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.Movablemeans 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.
EXTis an external clock to control the Talea BPM determined by the External Clock Mode.V/OCTtakes input voltage.GATEinput gates when note is held.
- on or off
HOLDwill hold pattern. Is overriden when you release all notes and start a new note.OCTwill add octaves to the pattern:- No light = 1 octave
- Purple light = 2 octaves
- Blue light = 3 octaves
- Aqua light = 4 octaves
- Red light = 5 octaves
POLYRHYTHMwill turn on or off the polyrhythm arpeggiator. If off, Talea acts like a conventional arpeggiator.
- large main knob at the top controls the bpm (beats per minute).
GATEknob control the percentage amount the gate is on.- the pattern mode controls the order of notes when
POLYRHYTHMis turned off. These are:↑ascending order↓descending order2xeach note plays twice in ascending order⚡︎in order of which they were playedRrandom
V/OCToutputs pitch.GATEoutputs 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) |
| ... |

























