TOMiCUser Manual v0.6
Back to TOMiC
Get TOMiC
0%
Table of Contents
00User Manual v0.6
01Introduction & Architecture
02Synthesis Engine & Layer Morphing
03Noise Generators & Sampler
04Modulation Matrix
05Per-Channel FX Chain
06Step Sequencer & Song Mode
07Mixer, Master, AI & Artchemy
08Specifications & MIDI Chart
TOMiC Groovebox v0.6 • Rust & egui
Sequencer

Chapter 06: Step Sequencer & Song Mode

13 pattern slots, Retrig, FX bypass lane, Kit-Level Groove Generator (7 styles), Groove Extract, Modular Pattern Chain Studio with follow actions, Drummer Model, Pattern Architect, 64 steps, scale quantization, Song Mode, Live Set.

6.1 Introduction to the TOMiC Sequencer

TOMiC features an advanced 64-step polyrhythmic step sequencer and groove composition workstation allowing producers to compose complete multi-track arrangements — including intricate drum patterns, scale-quantized basslines, melodic leads, and evolving chords — directly inside the instrument without requiring external DAW MIDI note drawing.

Main Step Sequencer View
Zoom HD

Main Step Sequencer View

Figure 6.1: Step grid view, velocity, pitch, and step parameter controls.

The SEQUENCER Tile & Its Tabs

The bottom SEQUENCER tile of the channel editor is more than the step grid. Its header carries a row of tabs, each opening a different workstation for the selected channel or the whole kit:

TabWhat it opensChapter
StepsThe 64-step matrix with every parameter lane, Range Ring and Copy/Paste Range.6.2 – 6.7
Samples (Standalone)The integrated Sample Browser with drag & drop onto NOISE and GROOVE.3.7
BreedInteractive evolution of the channel's sound — six children per generation, hearts and a Shelf.7.4
DrummerThe limb-aware Drummer Model: sticking read-out, unplayable cells, Make playable, Bake.6.16
ArchitectPattern Architect — variations of a source pattern into B…L and the Fill Architect.6.17
Setlist (Standalone)Live Set — a setlist, Deck B and a bar-quantized crossfade between songs.6.18

Next to the tabs sit the 🎲 Groove Generator dice (6.13) and the ✏ Chain Editor pencil (6.14).

6.2 Pattern Length & Pattern Banks (A - L + FILL)

Pattern Length: Every channel track can have its own independent step length (from 1 to 64 steps), enabling complex polyrhythms (e.g. Kick on 16 steps, Hi-Hat on 12 steps). Length is set freely, not restricted to fixed 16/32/64 presets.
12 Pattern Banks (Slots A-L): The plugin memory holds 13 pattern slots in total, but only the first 12 (lettered A-L) are regular, selectable pattern banks used for pattern switching and Song Mode chaining. Seamlessly switch between them live during performance.
Dedicated FILL Slot: The 13th slot is a special FILL pattern, toggled with its own FILL button next to the bank selector. It is not lettered and cannot be added to a pattern chain or locked to a channel — activating it temporarily overrides whichever pattern is currently playing (e.g. for a live fill/break), on every channel at once, and deactivating it restores normal playback exactly where it left off.
Per-Channel Pattern Lock: The PAT lock button in the mixer locks a specific channel to a chosen pattern bank (A-L only — FILL cannot be pinned to a single channel, since it is a global performance override) independent of global pattern changes — e.g. Kick stays locked on Pattern A while Hi-Hats cycle through Pattern C.

Step Rate (Resolution)

Each channel features an independent step resolution setting (StepRate):

StepRateDescription
1/3232nd notes — finest resolution for hi-hat rolls
1/1616th notes — standard resolution
1/88th notes
1/4Quarter notes
1/2Half notes
1/1Whole notes

6.3 Per-Step Parameters

Clicking any step in the sequencer provides granular per-step parameter editing:

Step ParameterRangeDescription
TriggerOn/OffStep active state
AccentOn/OffAccented hit (increased velocity with transient emphasis, scaled by the channel's Accent Amount, see 6.11)
ReverseOn/OffReverse sample playback for this step
Velocity0 - 127Step velocity level
PanL - RStereo panorama placement
Pitch Offset-24 to +24Transposition in semitones
Probability0% - 100%Trigger probability (live randomness)
Ratchet (Roll)1x - 8xSub-step repetition count (trap rolls, hi-hat bursts)
Roll Style-Shapes the ratchet's sub-hits independently of the hit count: Pitch (Flat/Up/Down/Alt Up/Alt Down/Random, with a semitone-per-hit amount), Velocity (Flat/Crescendo/Decrescendo) and Time (Even/Accelerate/Ritardando/Burst)
Retrig10 Hz – 700 HzSecond mode of the ROLL popup: instead of a counted roll, the voice re-strikes its own sound source at a rate in Hz for a length in steps — past ~30 Hz the hits fuse into a pitched buzz (see Retrig below)
Micro-timing (Nudge)0 - 100Micro-timing offset shift
Gate0 - 100 (or None)Gate duration time
Mutation (Morph)0.0 - 1.0Step-specific Layer A↔B Morph position
Slice Index-Sample slice selection for this step
Sample Variant (VAR)Auto or A/B/C/DForces one of the 4 round-robin sample variants for this step; Auto lets the voice's own round-robin cycling pick
Sample Start/End Override-Override trim points for this step
AR LockOn/OffExcludes this step from every Auto-Randomize lane, so it always keeps its manually drawn values even while a lane is actively rerolling
FX Bypass (⚡ FX)bitmaskWhich of the channel's FX units skip the hits fired while this step of the FX lane is current — 0 = everything on (see 6.15)

Retrig — Ratchets up to Audio Rate

The ROLL popup has a Mode switch: Roll (the counted ratchet described above, 2–8 evenly spaced hits) or Retrig. A Retrig step is not a list of hits but an episode: the sequencer fires one event and the voice then re-strikes its own sound source on every 64-sample block boundary at which the next hit is due.

Rate (10–700 Hz): hits per second at the start of the episode. Below ~30 Hz it is a fast machine-gun roll; above it the hits fuse into a pitched buzz and the sequencer effectively becomes an oscillator. The engine caps the rate at one hit per block (sample_rate / 64, ≈ 690 Hz at 44.1 kHz).
Ramp (−4…+4 octaves): rate sweep over the episode — +1 doubles the rate by the end, −1 halves it. Ramp replaces the counted roll's Time shape, which is hidden in Retrig mode.
Len (0.1–4 steps): episode length, measured in the channel's own step (a channel at 1/8 has a longer step than one at 1/16). The next note-on, a choke, a note-off or transport stop ends the episode early.
Pitch / Semis / Vel shapes still apply: Up/Down spread the semitone amount over the whole episode (a per-hit ramp would run away at hundreds of hits), Alt/Random act per hit, crescendo/decrescendo per hit.
Only the sound source restarts on each hit — amplitude/pitch/FM envelopes, oscillator phases (if the layer resets them on note-on), noise models, the click and the Mesh strike. Filters, FX, modulators, the compressor and hosted plugins keep running across hits exactly as they do across a single long note, so resonant filters ring and delays don't freeze. Hosted CLAP/Omni instruments receive no retrig note-ons.
Step cells show RT plus the pitch/velocity glyphs (magenta, versus the yellow of counted rolls). Retrig lives inside the step's Roll Style, so the ROLL lane's copy/paste, right-click clear and Auto-Randomize carry it along; the RND pool never turns a step into a Retrig on its own.

Lane Display Notes

PITCH lane: every step shows its note name in a monospace label sized to the cell (12/10/8 pt on 16/32/64-step grids) on its own dark backing, the marker is a one-degree-tall block rather than a hairline, degree guide lines are painted under the label with every C marked, and black keys are spelled with flats in minor-flavoured scales (Minor, Harmonic Minor, Dorian, Phrygian, Blues…).
SLICE lane: past 8 slice regions (a Slice Beat loop has 30–64) the per-step ladder becomes a dial cell — one big slice number tinted by the slice's drum class (or by position), a gauge showing where in the sample it sits, relative drag ↕ (4 px per slice, follows the pointer outside the cell), scroll ±1, a hover description, and a click that opens a picker: the sample overview with the grid drawn on it plus one button per slice. Small grids keep the ladder, now class-tinted too.

6.4 TrigConditions (Conditional Step Triggers)

Each step can be assigned a conditional trigger (TrigCondition) controlling under what conditions the step fires, evaluated against the channel's own loop counter:

ConditionDescription
NoneStep fires unconditionally (default)
Ratio(x, y)Step fires only on the x-th pass out of every y loops of the channel's pattern (e.g. Ratio(1,2) = every 2nd loop) — x and y both range 1-8
NotRatio(x, y)Inverted Ratio — fires on all loops except pass x out of y
FirstStep fires only on the channel's first loop after playback starts
NotFirstStep fires on every loop except the first
PreStep fires only if the same step also fired on the previous loop
NotPreStep fires only if the same step did not fire on the previous loop
FillStep fires only while the FILL pattern (see 6.2) is active
NotFillStep fires only while FILL is not active
AfterFill (AFT)Step fires only during the first full cycle after the FILL pattern is released — the landing window. This is how a crash lands on the 1 right after a fill (see 6.17); never evaluated in Song Mode

Conditions can be scroll-cycled step by step in the editor, or set via the Randomize button, which draws from a musically curated pool of the more common ratios (weighted toward simple, frequently-used divisions rather than exotic ones).

6.5 Algorithmic Euclidean Pattern Generator

The Euclidean generator automatically produces traditional and exotic world rhythms based on the Euclidean division algorithm, distributing hits as evenly as possible across the channel's current step length:

Euclidean Generator
Zoom HD

Euclidean Generator

Figure 6.2: Algorithmic Euclidean pattern generator window.

Hits: Number of active hits to distribute (1 up to the channel's current TRIG length; e.g. 5 pulses in 16 steps = Tresillo)
Rot (Rotation): Pattern offset rotation shift (0 up to length − 1)
Live toggle: Activating the Euclidean button re-generates the pattern immediately and keeps it live-updating as you drag Hits/Rot or change the channel's step length; deactivating leaves the last generated pattern in place for further hand-editing

There is no separate "Steps" field — the generator always distributes across the channel's own current pattern length (adjust that first via the length control described in 6.2).

6.6 Auto-Randomize Lanes

Every per-step parameter lane can be auto-randomized independently. There are 13 built-in lanes (AutoRandLaneConfig, indices 0-12) plus three further dedicated lanes for the SLICE, VAR (round-robin) and ⚡ FX grids — 16 randomizable lanes in total:

LaneCodeTarget Parameter
TRIGTriggerStep activation/deactivation
ACCAccentRandom accents
ROLLRatchetRandom sub-divisions (1-8)
PITCHPitch OffsetRandom pitch shifts (optionally snapped to one of 14 musical scales, see below)
VOLVelocityRandom velocity levels
PANPanRandom stereo panning
PROBProbabilityRandom probability values
REVReverseRandom sample reverse flags
NUDGEMicro-offsetRandom micro-timing offsets
GATEGate lengthRandom gate durations
MUTMutation/Morph (step)Random per-step Morph values
MORPHMorphA second, independently clocked Morph randomization lane
CONDTrig ConditionRandomizes each step's TrigCondition from the curated pool
SLICESlice IndexRandom slice selection (own clock, see 6.7)
VARSample VariantRandom round-robin variant selection (own clock, see 6.7)
FXFX BypassReshuffles which FX each painted step skips, drawn from the lane's own palette (own clock, see 6.15)

Each lane's roll behavior is independently configurable:

Cadence: re-roll every N pattern loops, every N bars (keeps polymetric channels in sync), every N activations of the FILL pattern, or Manual (dice button only).
Mode: Reroll (fresh random value each time) or Drift (nudge the current value by a configurable amount, so the pattern evolves gradually).
Mutate: Fresh values, Shuffle the existing values among the selected steps, or Rotate them by a random offset.
Chance: per-step probability that a selected step actually rerolls, independent of the density/range settings.
Seed Lock: freezes the RNG to a fixed seed so a roll is perfectly reproducible; stepping the seed browses through variations deterministically.
The PITCH lane (and manual pitch painting) can additionally be constrained to one of 14 built-in scales (Chromatic, Major, Minor, Harmonic Minor, Pentatonic Major/Minor, Blues, Dorian, Phrygian, Lydian, Mixolydian, Whole Tone, Octaves, Fifths) and to a single octave register.

6.7 Per-Lane Polymetry (Independent Lane Clocks)

Beyond giving each channel its own step length and rate, TOMiC lets individual lanes within the same channel run on their own independent length and StepRate — true nested polymetry inside a single voice or track.

Every built-in parameter lane (Accent, Ratchet, Pitch, Volume, Pan, Probability, Reverse, Micro-offset, Gate, Mutation, Morph, Trig Condition), the SLICE lane, the VAR (round-robin) lane, the ⚡ FX lane, and any custom-drawn param lane can each be unlinked from the channel's main TRIG clock via a link/unlink toggle in the lane's clock controls.
Once unlinked, that lane gets its own Steps (1-64) and Rate (1/32 - 1/1) fields, completely independent of the channel's TRIG length/rate and of every other lane.
Unlinking seeds the override with the channel's current length/rate, so the sound never jumps the moment you unlink — only your subsequent edits diverge it.
Because lanes with coprime lengths cycle against each other, this produces long, evolving combinations before the pattern truly repeats — e.g. a 3-step VAR lane against a 5-step SLICE lane yields 15 distinct (variant, slice) pairings before the loop returns to its start, all while the channel's TRIG pattern itself stays a plain 16 steps.
A linked lane (the default, and how every pre-existing project still behaves) simply follows the channel's own length/step_rate verbatim.

This is the mechanism that also powers the channel's musical cycle for Song Mode advance, pattern-chain timing, clip-launch quantization and TrigCondition loop counting — all of those always follow the TRIG lane specifically, while every other lane is free to drift against it.

6.8 Swing & Groove Templates

Global Swing (0% - 100%): Delays every second step, giving the whole pattern a swung feel.
Groove Templates (GrooveTemplate) — 7 built-in timing templates that nudge steps off the strict grid:
TemplateDescription
NoneNo groove — strict quantization
Laid BackBehind-the-beat, relaxed hits
PushAhead-of-the-beat, driving hits
ShuffleClassic 16th-note shuffle feel
Bossa NovaBrazilian groove with asymmetric micro-timing
Funk HeavyHeavy funk feel with sharp subdivisions
HumanRandomized micro-timing deviations simulating a human drummer
Groove Amount (0% - 100%): Controls how strongly the selected template's timing offsets are applied.

6.8.1 User Grooves & Groove Extract

The built-in templates move steps by fixed, hand-written amounts. Groove Extract takes the timing from a real recording instead: drop a drum loop (WAV/FLAC/MP3) or a MIDI file and TOMiC measures, for every 1/16 position in the bar, how far ahead of or behind the grid it plays and how loud it is. The result is a user groove — your own template, listed under the built-ins in the GROOVE combo — and the whole sequencer then plays "like that loop".

A user groove carries two profiles per position, over 1–4 bars:

Timing — a signed offset up to ±½ step (scaled by Groove Amount);
Velocity — a 0..1 multiplier, 1.0 = the loudest position of the source (scaled by the vel field next to Amount). Built-in templates are timing-only, so vel is dimmed for them.

Three ways in

1. From the sample browser — open the Samples tab of the SEQUENCER tile, find a loop (or a .mid file) and drag it onto the GROOVE tile in the transport bar (next to SWING). The tile lights up cyan while you hover over it.

2. From the Groove Pool window — press the metronome button next to Amount (or pick "Groove Pool…" at the bottom of the GROOVE combo), then Extract from file….

3. From a sample already loaded on a channel — in that channel's Sample Manager (where Slice Beat lives, see 3.3) press Groove. The channel is left untouched; the loop is only analysed.

What you see after the analysis (right half of the Groove Pool window)

A status line: detected BPM, bars, hits used, detected swing and the tempo confidence. A MIDI file shows "MIDI grid" — it is read against its own tick grid, so no tempo is needed.
Two rows of bars, previewed live:
TIMING — a bar going up means the position plays behind the grid (late), down means ahead. Full scale is ±½ step.
VEL — how loud that position is (1.0 = the loudest hit in the loop).
Grey bars = nothing played there in the source; the position stays neutral.
Options:
Bars — 1–4 (auto = what was detected). With a 2-bar loop folded to 1 bar, both bars land on top of each other (median timing, loudest velocity).
Anchor — Median to grid keeps the groove faithful and signed; hits that were ahead of the beat get negative offsets, but the sequencer cannot fire a step before its tick, so those play straight on the grid. Earliest to grid shifts the whole groove late until the earliest position sits on the grid — every offset is audible, the kit as a whole sits a few milliseconds behind.
Class — take the groove from one instrument only: kicks, snares, hats or percussion. Hat usually gives the most usable template (the hats carry the feel); All mixes everything.
Smooth — rejects stray hits at a position (flams, mis-detected transients).
BPM override and onset Sens (audio only) — changing either shows a Re-analyse button, since the file has to be scanned again.
Type a name and press Add to pool. The groove is added and selected immediately.

Playing with a groove

Pick it in the GROOVE combo (your grooves are listed under the built-ins; long names are clipped in the combo — hover for the full name).
Amount — how much of the timing to apply: 0 % = strict grid, 100 % = as recorded.
vel — how much of the dynamics to apply: 0 % = ignore the recording's velocities, 100 % = the loop's ghost notes become ghost notes in your pattern.
Important: a groove taken from a swung loop already contains that swing — keep the global SWING at 0, or you double it.

Editing and managing (left half of the window)

Click an entry to select (and activate) it, double-click to rename.
The selected groove is shown on the right as editable bars: drag them (Shift snaps timing to 5 %). Buttons: Normalize vel (loudest position becomes 1.0), Zero timing, Rebase earliest → 0, Flat vel.
Right-click an entry: Save to library… (a .tomic-groove file in Documents/Tomic/Grooves — this is how you carry a groove between songs), Duplicate, Remove.
Built-in → pool copies the currently selected built-in template (Shuffle, say) into an editable user groove.
New flat groove starts an empty template to draw from scratch.

Where it is saved

The pool is song state: it lives in the DAW session and in the .tomic file, New Song clears it, and every edit is undoable (Ctrl+Z). For a permanent collection use Save to library….

Quick start

1. Take any break (say 2 bars, 90–120 BPM) and drag it onto GROOVE.

2. Class → Hat, Anchor → Earliest to grid, Add to pool.

3. Program straight 1/16 hats, set SWING = 0, Amount = 100 %, vel = 100 %.

4. Switch the combo between None and your groove — the change in feel and accents should be obvious right away.

Notes:

Multi-bar grooves count bars from the last pattern change, like the Human template counts its cycles.
The sample browser lists .mid files only as drag sources for GROOVE; they cannot be auditioned or loaded as samples.

6.9 Song Mode Arrangement & MIDI Export

Song Mode

Song Mode (SongMode) allows chaining pattern banks (A-L) into full song arrangements:

Window Song Mode
Zoom HD

Window Song Mode

Figure 6.3: Song Mode arrangement window.

Pattern Chain: Ordered list of pattern playbacks (e.g. A → A → B → C), each with its own repeat count.
Recorded Automation Overlay: While recording, Song Mode can capture per-channel mute/solo and parameter changes (ChannelAutomation) plus global swing/tempo/Morph changes (GlobalAutomation) at any step of the chain. During playback, this recorded automation is layered on top of each chained pattern's own step-drawn parameter lanes — both sources are always composed together, so switching Song Mode on never silences a pattern's hand-drawn modulation. A persistent Song Automation strip below the chain view lets you inspect and hand-edit the same recorded curve at any time, and the window itself grows to make room for it rather than shrinking the OSC/Noise/LFO editor above.
Per-Pattern Start/Stop Clip: Every pattern (A-L) remembers its own Clip state per channel — a static baseline you set while editing that pattern, plus a live-recorded override captured the same way Mute/Solo automation is. Switching patterns snaps each channel's Clip to that pattern's own remembered state instead of leaving it wherever it last was.
Live Chain Growth While Recording: With REC and Song Mode both engaged, playing through the pattern chain appends each new position instead of looping back to the start — so an arrangement can be built simply by playing it through once, one pattern at a time.
Note targeting a routed modulator is blocked: a step lane or Song Mode automation cannot be recorded onto a parameter that is already being driven by a routed modulator (LFO, Marbles, etc.) — the two sources would otherwise fight for the same knob every block.

MIDI Export

TOMiC can export sequences as standard MIDI files (SMF Type 0) that you save to disk and import into your DAW:

Per-channel export — exports one channel's active pattern as a single-track MIDI file, with each triggered step becoming a Note On/Off pair; step Velocity, Gate length and Pitch Offset are baked into the exported notes, and channels are mapped to sequential General MIDI drum notes (Ch1 = C1/36, Ch2 = C#1/37, …) so they line up top-to-bottom in a DAW piano roll.
Full song export — merges every channel across the entire pattern chain into one track, tiling shorter channels to fill each pattern's length, at the project's current tempo.
Both use a standard Save File dialog (.mid); TOMiC does not drag MIDI directly onto the DAW timeline.

6.10 Choke Groups

TOMiC supports 4 independent Choke Groups (A, B, C, D) plus an Off state per channel:

When two channels share the same Choke Group (e.g. CH3: Closed Hi-Hat in Group A and CH4: Open Hi-Hat in Group A), triggering one immediately cuts off the other's decay. This behaves exactly like a physical hi-hat closing on a real cymbal stack.

6.11 Accent

Every channel has an Accent Amount parameter (modulation target LfoTarget::AccentAmount, range 0-100%, default 50%). Steps with Accent enabled play back with additional dynamic emphasis scaled by this amount.

6.12 Sequencer Range Ring & Correlated Copy/Paste Range Workflow

The Range Ring provides an intuitive, interactive ribbon positioned directly above the step matrix of any active sequencer lane (Trigger, Pitch, Velocity, Accent, Roll, Pan, Gate, Filter, etc.):

Dynamic Loop Windowing & Sliding: Drag the left and right boundary handles to adjust the active playback window (win_start and win_len). Click and drag the center body of the ring to slide the entire loop frame across the 16, 32, or 64-step sequence on the fly!
Direct Correlation with Copy Range UI: Moving the Range Ring automatically stages and mirrors step boundaries into the Copy Range controls (From / Len / To).
Lightning-Fast Step Cloning & Variation: Seamlessly duplicate and vary step fragments within the same channel without manually typing numeric step values into spinners. Simply isolate a 4- or 8-step groove or roll with the Range Ring, hit Copy Range, shift or position the destination, and click Paste Range.
Double-Click Reset: Double-clicking the Range Ring instantly resets the playback window to the full lane length.
Full Engine & Playback Sync: Playback engines, polymetric counters, Song Mode pattern progression (cycle_ticks), WAV renders, stem bounces, and MIDI exports strictly respect the active Range Ring boundaries.

6.13 Kit-Level Groove Generator (🎲)

The Sequencer header features a built-in, kit-wide generative composition engine accessed via the dice icon (🎲):

Single-Click Coherent Drum Kits: Generates a complete, musically coherent drum groove across up to 8 channels simultaneously from a single random seed — setting up step triggers, velocity dynamics, sound designs, mix staging, and harmonic tuning in one click.
7 Curated Musical Styles:

1. Techno: Relentless four-on-the-floor kick anchors, driving 16th-note offbeat hats, rolling sub-bass, and syncopated industrial percussion.

2. House: Bouncy syncopated kicks, 909-style open hat swing on upbeats, snappy claps on 2 and 4, and Latin-flavored percussion interplay.

3. Hip-Hop / Boom-Bap: Heavy swung groove, displaced kicks, crisp snares on 2 and 4 with ghost notes, laid-back hi-hat subdivisions.

4. Drum & Bass: Fast breakbeat patterns (170+ BPM), 2-step kick with syncopated snare on beats 2 and 4.5, rolling ghost hi-hats.

5. IDM: Glitchy micro-timed bursts, unexpected metric pivots, irregular ratchets, and shifting polymetric accents.

6. Trap: 808 sub-bass glides, rapid hi-hat rolls (ratchets 2x-8x) with pitch drops, sparse halftime snare on beat 3, punchy kick syncopations.

7. Free / Experimental: Pure algorithmic exploration breaking traditional grid constraints.

Longuet-Higgins & Lee Metric Hierarchy: Musical syncopation weights with rejection sampling on kick/snare pairs to guarantee precise, musically valid syncopation targets rather than chaotic step rolls.
Interlocking Roles & Frequency Harmony: Channels are mapped to functional roles (Kick, Snare, Clap, Hats, Tom, Percussion, Cymbal, Tonal/Bass) in hierarchical priority. Open hats automatically choke closed hats, snares yield to kicks outside of designated fill bars, and tonal basslines lock to a shared root note and musical scale.
Poly Option (Polymeter & Polyrhythm): The Poly slider introduces 12- and 24-step drifting lane lengths on secondary percussion, tom, and cymbal lanes, scaling up to genuine 3:4, 5:4, and 7:4 polyrhythmic micro-offsets.
Automatic Mix Staging: Generated kits arrive pre-balanced with production-ready loudness and stereo placement (Kick at 0 dB, cymbals at -10 dB, open hats elevated above closed hats, and percussion panned across the stereo field with seeded width).
Comprehensive Options Popup: Right-click the dice to configure Style, Complexity, Density, Poly factor, Channel Budget (1–8), Sound Source (Synth, Preset Bank, or Keep Existing Sounds), per-channel locks, and seed locking.

6.14 Modular Pattern Chain Editor (✏)

Arranging patterns into evolving live performances and full tracks has been expanded with the dedicated Modular Pattern Chain Editor:

Visual Arrangement Studio: Click the pencil icon (✏) next to "Chain:" in the Sequencer header to open the floating Chain Editor workspace.
Modular ChainBlock Architecture: Replaces the flat pattern list with modular block cards that can be reordered via drag-and-drop with an intuitive drop-ghost insertion indicator.
Random Pattern Pools: A chain block can be set to a static pattern (A–L) or a Random Pool (e.g. randomly picking between patterns [C, D, E] on every pass), enabling self-evolving, generative song arrangements that never repeat identically.
Repeat Counters & Length Overrides: Set per-block repeat counts (×1, ×2, ×4, ×8, ×N) and custom step length overrides directly in the block inspector, making it effortless to construct complex song sections without duplicating patterns.
Ableton-Style Follow Actions: Each block can trigger an automated Follow Action upon completion:
Next: Advances to the following block.
Previous: Returns to the preceding block.
First / Last: Jumps to the beginning or end of the chain.
Jump to Block: Jumps directly to any designated block index.
Stop: Halts sequencer playback at block completion.
Probabilistic Branching: Triggers Follow Action A with probability $P(A)$ or falls back to Follow Action B.
Live Playhead Tracking & Song Mode Integration: A real-time playhead highlights the active block, and the engine anchors chain_loop_step to a deterministic layout — ensuring that recorded Song Mode automation and offline export match live playback bit-for-bit.

6.15 FX Lane (⚡) — Per-Step FX Bypass

The ⚡ FX step lane (paint mode 16) lets each step decide which of the channel's effects skip the hits fired while that step is current. It is a lane like SLICE or VAR — with its own clock (6.7) — so a 3-step "every third hit dry" figure runs against any TRIG length.

Painting: click a cell to open the FX picker — one button per unit of the channel's chain: Delay, Reverb, EQ, Phaser, Chorus, Ring Mod, Distortion, Wavefolder, Widener, Compressor, Transient, Bitcrusher, Freq Shifter, Spectral, Res, Clouds, Beat Repeat and the hosted CLAP A/B and Omni A/B slots. An empty mask (the default, and what every earlier save loads as) means every FX plays; right-click a cell sets it back to all-on; a "completely dry" shortcut skips everything.
Tails keep ringing: units that hold audio across hits — delays, both reverbs, Clouds, Beat Repeat, hosted plugins — are not muted but fed silence while bypassed, and their output is still added onto the dry signal. The previous hit's echo or reverb tail therefore keeps ringing while the bypassed hit passes dry. Pure inserts (distortion, EQ, phaser…) are skipped outright; the Distortion bit also gates the pre-filter saturation stage.
Held until the next hit: the mask travels with the trigger into the voice and stays in force for ratchet sub-hits, Retrig episodes and the idle FX-tail path, until the next hit brings a new one.
RND: with the step's RND flag, each skipped unit is kept skipped by a coin flip per hit — randomness can only ever let an FX back in, never switch one off that the lane left on.
Auto-Randomize: the lane's palette is the union of every mask painted on it; each selected step gets a random non-empty subset of that palette, and any unit that would vanish from the whole lane is handed back to a rerolled step — so repeated rerolls never erode the lane down to one FX. Steps with an empty mask are never touched. Switching the lane's AR off clears every mask (Alt-click freezes instead).

6.16 Drummer Model (DRUMMER Tab) — Limb-Aware Humanizer

Instead of a random "humanize" jitter, the Drummer Model treats the kit as a body with two hands and two feet and asks whether a real drummer could play the pattern — and how it would sound if they did.

Sticking: hits are allocated to limbs per step. Fast runs alternate hands; the non-dominant hand plays a little softer (×0.88) and a few milliseconds late; a limb that has to travel far across the kit (the model keeps a one-dimensional pad table per archetype) arrives late; long, dense playing wears a limb down — velocity sags and timing scatters. Timing changes are always late, never early (the scheduler has no look-ahead), which matches the body anyway.
Human / Machine (drummer_amount, 0 % = off): scales every effect at once; at Machine the pattern plays exactly as drawn (bit-exact identity). Fatigue (default 50 %) sets how much long, dense playing wears the limbs down. Lefty makes the left hand the dominant, louder, leading one.
Per-channel limb: every channel gets a limb setting — Auto (from the channel's archetype: kick → right foot, hi-hat → right hand, snare/clap → left hand, toms/cymbals/percussion → either hand), Off (not part of the body: bass, FX, drones), Right/Left Hand, Either Hand, Right/Left Foot. Saved with the song; New Song resets it.
The report: the DRUMMER tab simulates the editing pattern and prints the sticking of every hit (R/L hand, rf/lf foot). Cells the allotted limb cannot reach in time are flagged unplayable with a red dot in the top-left corner of the step cell — also shown in the step matrix whenever the model is engaged.
Make playable rewrites the pattern so every hit can be played: it moves or removes the flagged hits and reports what it did in a toast (Ctrl+Z to undo). Channels owned by Auto-Randomize are skipped and the toast says so.
Bake writes the model's result — velocity sags and late offsets — permanently into the VOL and NUDGE lanes and then sets the live model to Machine, so the sticking is never applied twice.
The same core serves the audio thread (a post-pass right after the step's triggers are gathered, shared by live playback and offline export) and the editor's report, so what the tab shows is what you hear.

6.17 Pattern Architect (ARCHITECT Tab) — Variations & Fill Architect

Generators make loops; the Pattern Architect makes transitions. From one source pattern it derives variations into the other slots (B…L) and builds the FILL slot — steps only, since every slot shares the kit's sounds.

Variations

Pick a SOURCE slot, a Target slot, a kind and an Amount (how far the result drifts from the source; 0 = identical), then click the target letter. Roles are read from each channel's archetype and name (an "open"/"oh" hat is treated as an open hat), so the kinds know what a kick, a snare or a tonal voice is:

KindWhat it does
SubtleVelocity, probability, a ghost note or two, a hat rotation. Never adds kick hits.
VariationThe full role-aware set: kick syncopation, ghost reshuffle, hat re-rotation and density, tom re-pitch, motif transposition.
BuildDenser: more ghosts and open hats, doubled ratchets in the second half, the tonal voice an octave up late in the bar.
BreakdownKick down to the downbeat (or gone), hats halved, snare on the backbeat only, cymbal dropped — the tonal voices carry it.
HalfTimeBackbeat on the half-bar, kick on the downbeat plus one syncopation.
StripKick, snare/clap and closed hat only; everything else silenced.
ShiftEvery non-core lane rotated by a few steps against the pulse.
Build all fills every slot but the source in one go, each from its ladder entry — a per-slot (kind · amount) recipe shown under the letters, editable with a right-click and reset with Reset ladder. Shift+click a letter to use that slot's ladder entry instead of the current options.
Keep target extras: a channel silent in the source but playing in the target keeps what the target has. Lock per channel keeps that channel's steps untouched; a locked Seed makes every click reproduce the exact same result.
FX/Drone channels survive a variation untouched; TRIG lanes of any length up to 64 are handled.

Fill Architect

Build Fill writes the FILL slot from the source pattern with one of four kinds and an Intensity (how hard it leans: density, ratchets, the buzz into the 1):

KindWhat it does
RollDensity ramps up quarter by quarter, ratchets escalate, toms walk down, the last step buzzes into the downbeat.
BreakThe first half plays as written, the second half is air with a snare/tom pickup on the last steps.
StutterThe first eighth of the bar repeated all bar long, ratchets growing with every repeat.
SilenceA drop: almost nothing, then a one-step pickup so the return hits.

Options: Crash at start (cymbal on step 0 of the fill itself), Kick drop-out (kick silent in the last half-bar), Tom ramp (toms / tonal percussion walk down the scale in the second half), Turnaround twist (the last quarter of hats / perc / snare ghosts regenerated more freely), Filter sweep (a Filter param lane opening over the bar on hats / snare / perc, Relative to the knob), FX tail (delay + reverb bypassed through the fill via the ⚡ FX lane and back on the last step, so the 1 lands wet), and Landing crash — an AFT-conditioned cymbal hit on step 0 of the source pattern that plays only in the cycle right after FILL is released (6.4), written only if that downbeat is free.

Shortcuts in the pattern editor

Shift + right-click a pattern letter → "Variation of X" builds that slot from the current pattern with the ladder entry.
Right-click FILL → pick a fill kind and build it on the spot. Press FILL to hear it.

Every build is one undo step.

6.18 Live Set (SETLIST Tab) — Deck B & Bar-Quantized Crossfade (Standalone Only)

Live Set turns the standalone app into a two-deck performance rig: a setlist of .tomic songs, a second headless engine (Deck B) that plays the next song while the current one keeps running, an equal-power crossfader between them, and a seamless handoff that makes the incoming engine the engine — no seam, no dropout, and the GUI knobs follow the new song.

Setlist: Add songs… appends .tomic files; entries show the song's tempo and whether it uses hosted plugins. Open set… / Save set… keep the list, its options and the crossfade defaults in a .tomicset file. Remove drops an entry.
Cue builds the selected song as Deck B, off the GUI thread (parse, sample loading, warm-up) — "Cueing…" then "Deck B: — ready". Auto-cue next cues the following entry as soon as a deck is free, so a whole set plays hands-off.
GO starts Deck B and the transition. Go on: bar quantizes the start to Deck A's next bar; now starts immediately (with Host Sync on, Go always means now). While the transport is stopped, GO simply starts Deck B.
Fade: 1, 2, 4, 8, 16 or 32 bars of equal-power crossfade, or manual — the crossfader slider (A ↔ B) is then yours to drag, or to drive from a MIDI controller via MIDI Learn (Live Set Crossfader, Live Set Go). Cancel fades back to Deck A over one bar and drops Deck B.
Sync tempo: Deck B starts at Deck A's tempo and glides (log-linear, over two bars) to its own once the fade is done; the handoff waits for the glide.
Handoff: when the fade completes, the engines are swapped at a block boundary — the sequencer position, every voice tail and every FX state travel with it — the new song is loaded muted into the host parameters so the knobs match, and playback continues from Deck B's exact position as Deck A. Stop works as usual afterwards.
Hosted plugins: Deck B does not host CLAP/Omniplugin instruments; a song that uses them plays without them on Deck B and they are loaded right after the handoff (the entry is marked so you know).
Meters: a DSP read-out (audio callback time as a fraction of the block's budget, average / 2 s peak) and a B underruns counter — blocks Deck B did not deliver in time, which are a gap in Deck B only, never in Deck A. Deck B follows the mixer's master fader.
Deck B renders one block ahead on its own real-time thread, so the main audio callback never waits on it; a post-mix limiter is engaged only while both decks are audible.

6.19 STEP MATRIX PRO — Full-Screen Sequencer for Every Channel

STEP MATRIX PRO shows every channel's steps at once across the whole central panel, with full per-step editing. Open it with the MATRIX button in the Tools panel, Ctrl+M (or F2), or the ⤢ icon next to the Step matrix tab in the SEQUENCER tile. Back or Esc returns to the channel editor. MATRIX and MIXER share the same space, so opening one closes the other.

The pattern editor at the bottom stays visible and always follows the channel you last touched in the Matrix. Both views edit the same data — a change in one shows up in the other immediately.

The Grid

Each channel is a card: its hit row (TRIG) and any lanes opened under it. Cards are spaced apart; the selected channel is outlined.
A cell shows the step's values without opening anything: fill height = volume, brighter cell with a bar on top = accent, faded and hatched = probability below 100 %, split into N = roll ×N, mark at the top = nudge, triangle = reverse. At larger zoom, condition (1:4) and transpose (+3) badges appear.
Every channel and lane shows only its own steps: an 8-step channel has 8 cells and an empty card after them — each channel's step count reads at a glance, even next to one with 32.
Muted and un-soloed channels are dimmed. A red dot marks a step the Drummer Model says can't be played.
The grid fills the window by default and rescales with the channel count. Width / Height sliders, Ctrl+wheel (width) and Ctrl+Shift+wheel (height) size it by hand; Fit returns to fitting. Shift+wheel scrolls sideways.

Channel Rail

On the left, each channel has: ▸ (lanes), its name (click = edit this channel below, Shift+click = select the whole row), M / S (mute / solo), step count, rate, and a die (randomize; right-click = clear). Right-click the name to move the row up or down — display order only, the channel itself doesn't change.

Tools

KeyToolWhat it does
BBrushDrag turns steps on or off (the first cell decides); right-drag clears. On a lane it draws values.
EEraserClears steps; on a lane, resets values.
MSelectBox across any channels; Ctrl adds. Dragging along the step ruler selects columns.
LLineA straight line of values: volume on a hit row, the lane's own value on a lane.
VVelocityPointer height over a hit sets its volume.
PProbabilityPointer height sets the chance it plays.

Alt+drag on a hit row sets its loop window (range ring); Alt+right-click clears it. While the transport is stopped, switching a step on plays the channel (the speaker icon in the header turns this off).

Selection & Keyboard

Ctrl+A select all, Ctrl+C / X / V copy / cut / paste (several channels at once, also between patterns), Ctrl+D duplicate to the right, Delete clear.
← / → move the selection, Shift+← / → rotate the steps inside it, Alt+← / → nudge.
↑ / ↓ volume, Shift+↑ / ↓ move the steps to the channel above / below.
W accent, R reverse, 1–8 roll (while something is selected; otherwise digits select a channel), 0 no roll, Q quantize nudge, U humanize.
Esc deselects first, then closes the view. Every keyboard edit is one Ctrl+Z step.

Inspector

The right panel edits every selected hit at once. The Volume, Prob, Pitch, Nudge, Mutate bars show the spread of values; dragging moves them all by the same amount and keeps their differences (Shift = fine, double-click = reset). Below: Accent / Reverse, Roll 1–8, Condition, and Quantize, Humanize, Clear. With nothing selected, it lists the shortcuts.

Value Lanes

▸ next to a channel opens its lanes. Which lanes are in use is chosen in the Lanes menu (VOL, PITCH, PAN, PROB, NUDGE, GATE, MUT, MORPH, ACC, REV, ROLL); "Open under every channel" opens them everywhere. Each lane has its own colour and shape: bar (VOL, PROB, GATE, MUT), from the centre with L/R (PAN), a line with the note name (PITCH), a stem (NUDGE, MORPH), a dot (ACC, REV — click toggles), N ticks (ROLL). Lanes keep a fixed height and push the rest down. A lane on its own clock shows its length and rate in the rail.

Generate & Transform with Preview

Generate rewrites whole channels: Euclid, Pattern for… (a rhythm for an instrument type), Random hits, Organic, Variation.
Transform changes the selected steps: Reverse, Invert, Double / Half speed, Thin out, Ghost notes, Accents, Crescendo / Decrescendo, Swing, Humanize, Roll at the end.
They act on the selection, or on the channel being edited below when nothing is selected.
The result plays in the loop right away; the PREVIEW bar shows its parameters, Take ◂ ▸ (other takes) and Result / Original (A/B against the original). On the grid: bright outline = added hit, cross = removed, dot = changed values.
Apply (Enter) keeps the result as one Ctrl+Z step; Cancel (Esc) puts the original back without a trace in the history.

Loop Lens

The magnifier shows what actually plays on a chosen loop, with trig conditions, probability and DENSITY applied. Steps that stay silent on that loop are faded; partly faded ones may play (with a percentage at larger zoom). The bar above the grid picks the loop (1–64), "FILL held" and "Right after a fill". With nothing selected, the inspector shows eight loops of the edited channel — click one to show it on the grid.

Patterns, A/B & Stamps

Under the header are thumbnails of patterns A–L and FILL: click = edit (like the letter buttons), drag onto another tile = copy the pattern. Orange outline = being edited, cyan bar = playing.
Hold as A remembers the pattern; keep editing (that's B) and flip A / B by ear. Keep ends the comparison with whichever is playing.
Stamps: save a selection as a stamp (e.g. "kick + hats, 2 bars") and paste it with one click at the selection or the last clicked step. Stamps are shared by all projects.

Footer

Channel and hit counts, after how many bars channels of different lengths line up again, and how many hits the Drummer Model says can't be played.

The Matrix remembers its tool, manual zoom, lanes in use and open, audition and row order between sessions.

Previous chapter05. Per-Channel FX Chain
Next chapter07. Mixer, Master, AI & Artchemy