SnakeBud User Manual

Table of Contents

  1. Overview
  2. The 4x4 Snake Grid
  3. Interface Overview
  4. Build a Pattern
  5. Note Probability and Gate
  6. CC Output and Ramps
  7. MIDI Routing
  8. Standalone Audio and Ableton Link
  9. AUv3 MIDI Plugin
  10. Settings
  11. Tips and Starting Points
  12. Troubleshooting
  13. Links

Overview

SnakeBud is a generative MIDI sequencer built around a 4x4 step grid. A selected snake order traverses the sixteen cells. Enabled cells send their CC value on every visit and may send a note according to their probability, creating rhythmic melodies and synchronized modulation from the same pattern.

SnakeBud is available as a standalone app and AUv3 MIDI processor. Standalone mode includes an optional SoundFont sampler for note auditioning.

The 4x4 Snake Grid

The cursor follows the selected Snake traversal order, not necessarily row-major order. The currently lit cell is the cell that will be evaluated. Disabled cells are skipped by advancing through the traversal until the next enabled cell; they do not create silent time slots. If every cell is disabled, traversal safely terminates without an infinite loop.

Interface Overview

The main screen contains the 4x4 grid, step controls, pattern controls, rate, key, scale, octave range, and the Settings button. Each cell can be enabled and edited for note, velocity, gate, probability, and CC value. Use the pattern strip to keep multiple scenes and switch between them while running.

Build a Pattern

  1. Enable the cells you want to participate.
  2. Choose a snake order and rate.
  3. Set each enabled cell's note, velocity, gate, probability, and CC value.
  4. Choose the key, scale, and octave range when using scale-based notes.
  5. Start the host or standalone transport.

SnakeBud advances only while the host transport is playing. Transport start, relocation, and pattern changes reset the traversal cursor to the beginning and flush the previous generated note.

Note Probability and Gate

Every enabled cell sends its CC message regardless of its note probability. On each visit, Probability is rolled independently to decide whether the note sounds. This makes a stable modulation lane possible even when the melodic lane is sparse.

The cell's Note, Velocity, and Gate define the note itself. SnakeBud is monophonic: each new note releases the previous generated note before starting. Gate and velocity are cell-specific rather than register mutations.

CC Output and Ramps

Each enabled cell has a CC value. Set the global CC Number, CC output channel, and CC Ramp behavior in Settings. With ramping enabled, each change is spread sample-accurately over the configured number of beats, including across render buffers. A cell with the same value as the previous cell sends one stable value.

MIDI Routing

SnakeBud has two MIDI cables. Notes and note-offs use cable 0; CC and CC-ramp messages use cable 1. In standalone mode these are two named virtual MIDI outputs managed together by the Virtual MIDI Out switch. In AUv3 hosts they appear as two output cables on the MIDI output bus.

Set MIDI Out Channel for notes and MIDI CC Out Channel for modulation. The default pattern selector is Patterns CC# CC 10; its one-based value selects a pattern. BrainBud program change 69 can synchronize key and scale from shared BrainBud settings.

Use MIDI Panic to release the current note and clear generated-note state.

Standalone Settings includes BPM, Ableton Link, MIDI ports, and the optional sampler. The sampler listens only to cable-0 note output, never to cable-1 CC traffic. Use Sampler Enabled, Volume, and Preset to audition the melodic lane locally while sending the same MIDI to external destinations.

The MIDI input picker hides SnakeBud's own virtual outputs so the app cannot accidentally route itself back into itself. A single Virtual MIDI Out switch opens or closes both output cables.

AUv3 MIDI Plugin

Load SnakeBud's AUv3 extension in a MIDI-capable host. Connect cable 0 to an instrument and cable 1 to a modulation destination. The host supplies tempo and transport, and the plugin saves its full Codable state with the host, including a compatibility path for older saved presets.

Settings

Settings includes pattern-selection CC, note and CC MIDI channels, rate, snake order, key, scale, octave range, global CC number, CC ramp, and the cell-related controls. Standalone-only rows add BPM, Link, sampler, physical/virtual MIDI ports, and panic.

Tips and Starting Points

Enable a few cells first so the traversal is easy to hear. Use a non-row-major snake order to turn the same grid into a different phrase without rewriting notes. Set probability near 100% for a dependable melody, then lower selected cells for variation while keeping their CC movement constant. Use cable 1 for filters, envelopes, or other modulation targets and cable 0 for the instrument.

Troubleshooting

No note sound: Confirm transport is playing, at least one cell is enabled, the note probability allows a hit, and cable 0 is connected to an instrument. Enable the standalone sampler if you want local audition.

No CC movement: Check that enabled cells have CC values, the destination is connected to cable 1, and the CC number/channel match the receiving device. CC output is independent of note probability.

The grid appears to skip cells: Disabled cells are intentionally skipped without consuming an extra step. The selected snake order determines which grid cell each traversal position visits.

Pattern switching does nothing: Send the configured Patterns CC# with a one-based value and verify the MIDI input route.

Ramp sounds instantaneous: Confirm CC Ramp is greater than zero and that the host is running. Ramps are distributed over the configured beats and may cross several render buffers.

Stuck note: Press MIDI Panic, stop the host transport, or reconnect cable 0 after checking the destination's MIDI monitor.