Building instruments
Grid routing, sequences and logic
Connect channels, build changing patterns, use math and logic, and inspect the sound inside a Grid patch.
Routing modules combine or separate sounds. Sequencers and generators make patterns. Math and logic modules transform the control signals between them. Add these from the Grid’s Module browser and select a card to see all its controls.
Routing and channels
A mono port carries one channel; a stereo port carries two together. Two separate mono ports named left and right are different from one stereo port. Use the converters below when a cable reports Channel layouts differ.
| Module | Use and ports | Controls |
|---|---|---|
| Mixer | Sum four mono signals without automatic level reduction. in0, in1, in2, in3 → out. |
No parameter controls. |
| Output | Send the mono result to both output channels. in → none. |
No parameter controls. |
| Stereo Output | Send left and right independently. left, right → none. |
No parameter controls. |
| Feedback Delay | Delay audio by one sample to make a feedback path causal. in → out. |
No parameter controls. |
| Stereo Splitter | Separate a stereo cable into mono channels. in (stereo) → left, right. |
No parameter controls. |
| Stereo Merger | Combine mono channels into one stereo cable; a missing input is silent. left, right → out (stereo). |
No parameter controls. |
| Mono to Stereo | Copy mono into both stereo channels. in → out (stereo). |
No parameter controls. |
| Stereo to Mono | Average stereo channels at half level each. in (stereo) → out. |
No parameter controls. |
| Channel Selector | Take only one channel as mono. in (stereo) → out. |
channel: left, right |
| Crossfader | Blend a and b; the mix input adds to the mix knob, bounded to 0–1. a, b, mix → out. |
mix: 0–1 ratio |
| DC Blocker | Remove a constant offset from audio. in → out. |
cutoff: 1–100 Hz |
| Smoother | Smooth rapid changes; 0 ms passes immediately. in → out. |
timeMs: 0–10000 ms |
| Grid Bus Input | Read a channel supplied by another Grid bus; this is not microphone input. none → out. |
Channel: 0–1 ratio |
Combining four loud signals can raise the level considerably. Use a Gain / VCA after Mixer when you need to reduce it. A feedback loop needs Feedback Delay; an instantaneous loop is refused. A long echo time is a musical effect rather than a substitute for that one-sample feedback module.
Grid Bus Input receives a connected Grid bus. It does not open an audio device or import a file. An ordinary instrument patch with no incoming bus has no source for it.
Step and Euclidean sequencing
These modules use the song’s sixteenth-note clock when Clock has no cable. They can keep a pattern running without drawing each note in the piano roll. Patch their Gate to an envelope or sampler and their Pitch, where available, to an oscillator or sampler.
Step Sequencer
Step Sequencer outputs Gate, velocity and Pitch. stepCount chooses 1–32 steps, with 16 as the initial length. clockDiv runs from 1–16: 1 advances on each sixteenth-note clock boundary and 4 advances once per quarter note.
The inspector exposes 32 sets of step controls, numbered 0–31. For example, step0Pitch is the first step’s pitch. Only steps inside stepCount are used.
| Per-step label pattern | Range | Meaning |
|---|---|---|
| step0Gate through step31Gate | 0–1 | Gate value for that step; 0 is silent. |
| step0Vel through step31Vel | 0–1 | Velocity output. |
| step0Pitch through step31Pitch | -24–24 semitones | Pitch offset from C4. |
| step0Prob through step31Prob | 0–1 | Chance that the step supplies its gate. |
| step0Ratchet through step31Ratchet | 1–8 | Values are stored, but repeated substeps are not currently applied. |
Consecutive positive gates can hold an envelope open instead of triggering it again. Put a zero-gate step between notes when you need separate attacks.
Euclidean Sequencer
Euclidean Sequencer spreads a chosen number of pulses across a repeating grid. It outputs Gate and velocity. length is 1–32 steps, pulses is 0–32 and is bounded to the active length, and rotation is 0–31. velocity and accent both run from 0–1. The accent affects the gate level at the beginning of a group; the velocity output uses velocity for active steps.
For a sparse rhythm, try length 16 and pulses 5, then turn rotation to move where the pattern begins.
Generative modules
These modules use repeatable random sequences. Except for Scale Quantiser, they have trigger and reset gate inputs. An unconnected trigger uses rate_hz. A rising reset starts the sequence again; changing seed also restarts it.
The common seed range is 0–16777215 and rate_hz is 0–100 Hz. For tonal modules, root is -48–48 semitones from C4. scale uses numbers: 0 major, 1 minor, 2 pentatonic, 3 chromatic.
| Module | Use and ports | Controls |
|---|---|---|
| Random Note | Choose random notes in a scale and octave range. trigger, reset → pitch, gate. |
seed: 0–16777215; rate_hz: 0–100 Hz; root: -48–48 semitones; scale: 0–3; octaves: 1–8 |
| Scale Quantiser | Snap input pitch to the closest scale note, rounding ties down. in → pitch. |
root: -48–48 semitones; scale: 0–3 |
| Chord Progression | Play four scale degrees as triads with inversions. trigger, reset → root, third, fifth, gate. |
seed: 0–16777215; rate_hz: 0–100 Hz; root: -48–48 semitones; scale: 0–3; degree0: 0–6; degree1: 0–6; degree2: 0–6; degree3: 0–6; inversion: 0–2 |
| Markov Melody | Choose melody movement using stay, adjacent-step and leap weights. trigger, reset → pitch, gate. |
seed: 0–16777215; rate_hz: 0–100 Hz; root: -48–48 semitones; scale: 0–3; stay: 0–1; step: 0–1; leap: 0–1 |
| Probability Gate | Accept or reject each rising trigger; accepted gates keep their duration. trigger, reset → gate. |
seed: 0–16777215; rate_hz: 0–100 Hz; probability: 0–1 |
| Rhythm Generator | Generate probability rhythms with repeating accents. trigger, reset → gate, velocity. |
seed: 0–16777215; rate_hz: 0–100 Hz; density: 0–1; length: 1–64; accent_every: 1–64 |
| Cellular Sequencer | Produce gate and value patterns from a 16-cell changing row. trigger, reset → gate, value. |
seed: 0–16777215; rate_hz: 0–100 Hz; rule: 0–255 |
| Random Walk | Walk between two bounds, reflecting at the edges. trigger, reset → out. |
seed: 0–16777215; rate_hz: 0–100 Hz; minimum: -16–16; maximum: -16–16; step_size: 0–16 |
| Generative Modulator | Move toward random values with a smooth glide. trigger, reset → out. |
seed: 0–16777215; rate_hz: 0–100 Hz; depth: 0–1; glide_ms: 0–10000 ms |
Chord Progression uses degree0 through degree3 for its four positions, with degrees numbered 0–6. Random Walk uses minimum, maximum and step_size to bound the movement. Generative Modulator uses glide_ms to soften new random targets. Fixed seeds help reproduce a result when the other settings and timing stay the same.
Math and logic
These modules have no parameter knobs. Feed values into their named ports and take the result from out. All their ports carry control signals; the Grid’s cable checks still apply when joining them to other signal types. A positive value counts as true for logic.
| Module | Inputs | Result |
|---|---|---|
| Add | a, b | Sum two signals. |
| Subtract | a, b | Subtract B from A. |
| Multiply | a, b | Multiply two signals. |
| Divide | a, b | A divided by B; zero denominator outputs zero. |
| Minimum | a, b | Smaller signal. |
| Maximum | a, b | Larger signal. |
| Absolute | in | Absolute magnitude. |
| Clamp | in, min, max | Clamp between either ordering of the limits. |
| Map Range | in, inMin, inMax, outMin, outMax | Linear range mapping; degenerate input range returns outMin. |
| Exponential Map | in | Bipolar normalised exponential curve, clamped to ±1. |
| Logarithmic Map | in | Inverse bipolar normalised exponential curve, clamped to ±1. |
| Quantise | in, step | Round to nearest absolute step; zero step passes through. |
| Compare | a, b | One when A equals B. |
| Greater Than | a, b | One when A exceeds B. |
| Less Than | a, b | One when A is below B. |
| AND | a, b | One when both inputs are positive. |
| OR | a, b | One when either input is positive. |
| NOT | in | One when input is nonpositive. |
| XOR | a, b | One when exactly one input is positive. |
| Switch | a, b, gate | Select B on a positive gate, otherwise A. |
| Selector | a, b, index | Select A below index 0.5, otherwise B. |
| Conditional Gate | in, gate | Pass input only when gate is positive. |
Use Constant and Attenuator from filters and modulation to supply fixed offsets and scale values. Quantise uses an incoming step size, while Quantiser has a steps knob.
Looking inside a patch
Five modules let audio pass from Input to Output while showing its behaviour. They have no parameter knobs.
| Module | Display |
|---|---|
| Level Meter | Signal level. |
| Peak Meter | Peak level. |
| RMS Meter | Average signal energy. |
| Oscilloscope | A short view of the waveform. |
| Spectrum | The signal’s frequency content. |
Connect the output onward to keep the audio path complete. Their displays update while visible; they pause when the card or document is hidden. For overall preview load and track freezing, see performance.
