Chapter 08: Specifications & MIDI Chart
MIDI note mapping, MIDI CC Learn system, keyboard shortcuts, and tech specs.
8.1 MIDI Note Mapping
TOMiC does not use a fixed General MIDI drum map — each of the three note ranges below is TOMiC-specific and maps by simple offset (base note + channel index, or base note + pattern index) rather than a hardcoded instrument name. What each channel actually sounds like depends entirely on how you've designed/loaded it.

MIDI Note Mapping and Automation
Figure 8.1: MIDI CC Learn configuration window.
Range 1: TRIGGER Mode (starts at C1 / MIDI Note 36)
Used for direct one-shot sound triggering, bypassing the step sequencer (finger drumming, external drum pads). Notes 36 to 36 + N - 1 map straight to Channel 1 through Channel N, where N is however many channels you have enabled (up to the 16-channel maximum) — so with the default 8 visible channels, the active range is C1-D#2 (36-51)... but only its first 8 notes (36-43, C1-G1) actually reach an enabled channel; the rest come alive as you add more channels.
| MIDI Note | Note Number | Channel |
|---|---|---|
| C1 | 36 | Channel 1 |
| C#1 | 37 | Channel 2 |
| D1 | 38 | Channel 3 |
| D#1 | 39 | Channel 4 |
| E1 | 40 | Channel 5 |
| F1 | 41 | Channel 6 |
| F#1 | 42 | Channel 7 |
| G1 | 43 | Channel 8 |
| G#1 - D#2 | 44 - 51 | Channels 9 - 16 (when enabled via "+ Add") |
Note: unlike a fixed GM drum kit, TOMiC does not assign a "Kick"/"Snare"/"Clap" role to a specific note number — Channel 1 plays whatever sound you've built or loaded into Channel 1.
Range 2: GATE Mode (starts at E2 / MIDI Note 52)
Active when MIDI Gate Mode is enabled (a dedicated toggle in the header/options, off by default). Holding a note gates the internal step sequencer's playback for the corresponding channel for as long as the note is held. Notes 52 to 52 + N - 1 map to Channel 1 through Channel N the same way as Range 1 — so the default 8-channel range is E2-B2 (52-59), extending up to G3 (67) across all 16 channels.
Range 3: PATTERN Mode (starts at C4 / MIDI Note 72)
A third, independent range triggers whole pattern banks. Notes 72 to 83 select pattern banks A through L — all 12 of TOMiC's regular, lettered pattern banks (the 13th pattern slot, FILL, is a global performance override rather than a lettered bank, and is not reachable via MIDI note — see 6.2). Playing one of these notes immediately switches the live sequencer to that pattern; it is monophonic and last-note-wins if several are held. Note velocity is ignored here — playback uses the pattern's own per-step volumes.
8.2 Keyboard Shortcuts
For maximum workflow speed during sound design and live performance, TOMiC features a precise keyboard shortcut system. All single-key triggers are automatically suspended whenever a text entry field (such as channel renaming or value entry) is focused to avoid accidental playback or parameter switches.
Channel Navigation, Mute & Solo (Bank 1 & Bank 2)
| Shortcut | Action / Function | Target Range |
|---|---|---|
| 1 - 8 | Select active channel | Channels 1 – 8 |
| Ctrl + 1..8 | Toggle channel Mute | Channels 1 – 8 |
| Alt + 1..8 | Toggle channel Solo | Channels 1 – 8 |
| Shift + 1..8 | Toggle Clip Loop playback | Channels 1 – 8 |
| Ctrl + Alt + 1..8 | Select active channel (Bank 2) | Channels 9 – 16 |
| Ctrl + Shift + 1..8 | Toggle channel Mute (Bank 2) | Channels 9 – 16 |
| Alt + Shift + 1..8 | Toggle channel Solo (Bank 2) | Channels 9 – 16 |
| Ctrl + Alt + Shift + 1..8 | Toggle Clip Loop playback (Bank 2) | Channels 9 – 16 |
Finger Drumming Sound Triggers
| Key | Triggered Track | Action |
|---|---|---|
| A | Channel 1 | Trigger voice sound |
| S | Channel 2 | Trigger voice sound |
| D | Channel 3 | Trigger voice sound |
| F | Channel 4 | Trigger voice sound |
| G | Channel 5 | Trigger voice sound |
| H | Channel 6 | Trigger voice sound |
| J | Channel 7 | Trigger voice sound |
| K | Channel 8 | Trigger voice sound |
Edit History, Channel Snapshot & Transport
| Shortcut | Action / Function |
|---|---|
| Ctrl + Z | Undo last edit action |
| Ctrl + Y / Ctrl + Shift + Z | Redo previously undone action |
| Ctrl + Shift + C | Copy active channel snapshot to clipboard |
| Ctrl + Shift + V | Paste copied channel snapshot into selected track |
| Spacebar (Space) | Start / Stop internal step sequencer |
| Enter | Confirm text entry / parameter edit field |
| Escape (Esc) | Cancel text entry / abort modulation drag operation |
Pattern Editor, Sample & Kit Gestures
| Gesture | Where | Action |
|---|---|---|
| Shift + Right-click a pattern letter | Pattern bank selector | Build that slot as a Variation of the current pattern (Pattern Architect ladder entry, 6.17) |
| Right-click FILL | Pattern bank selector | Pick a fill kind and build the FILL slot from the current pattern (6.17) |
| Right-click a step in the ⚡ FX lane | Step matrix | Reset the step's FX mask to all on (6.15) |
| Scroll / drag ↕ on a SLICE dial cell | Step matrix (SLICE lane) | Step ±1 slice / relative drag through the slices; click opens the picker (6.3) |
| Shift + drop a loop onto a NOISE panel | Sample browser → NOISE | Load & Slice Beat in one gesture (3.3) |
Drop a loop or .mid onto GROOVE | Sample browser → transport bar | Extract a user groove into the Groove Pool (6.8.1) |
| Right-click a slice region | Sample Manager waveform | Send to… another channel/variant, or Drum: K/S/H/P re-classification after Slice Beat (3.3) |
| Right-click the 🎲 dice | SEQUENCER header | Groove Generator options popup (6.13) |
| Right-click a Breed shelf entry | Breed tab | Send to channel, use as parent B, save as preset, remove (7.4) |
8.3 MIDI CC Automation (MIDI Learn System)
TOMiC features a dynamic, programmable MIDI CC Learn system mapping hardware CC controllers to every channel's fixed performance parameters and all its Macro knobs — 183 learnable parameters in total across the full 16-channel architecture.
MIDI Learn Parameter Layout:
Global Parameters (3):
Per-Channel Fixed Parameters (Channels 1-16, 4 each = 64 parameters):
Every channel exposes the same 4 key performance parameters for real-time control:
Per-Channel Macro Knobs (Channels 1-16, 7 each = 112 parameters):
All 7 Macro knobs on every channel are individually CC-learnable, labeled with whatever custom name you've given that Macro slot.
Global Macros (4):
All 4 Global Macro knobs are also individually CC-learnable.
Example: Param 4 is Ch1 Volume, Param 7 is Ch1 Filter Res, Param 34 is Ch8 Filter Freq. Channels 1-8's fixed parameters and Macros occupy the original contiguous parameter-ID block (this legacy layout was kept as-is so saved CC mappings from earlier versions still point at the same parameter); Channel 9-16 slots and all Macro rows were appended after it as the channel count grew, rather than renumbering anything.
In Standalone builds with Live Set, two more targets are appended at the end of the list: Live Set Crossfader (the A ↔ B fader, in manual fade mode) and Live Set Go (the GO button), so a transition can be driven from a controller (6.18).
How to Assign MIDI Learn:
1. Open the MIDI CC Learn window.
2. Click [LEARN] next to the target parameter.
3. Move a knob or fader on your MIDI controller.
4. The CC is instantly assigned. Click [CLEAR] to remove a mapping.
In the Standalone app, an external MIDI controller connects through a runtime device selector (midir); received CC messages are written into the same lock-free atomics that a DAW host's automation would use, and are picked up by the audio thread on the next block boundary — the same code path either way, not a separate low-latency bypass.
8.4 Technical Specifications
wide crate's f32x8, compiled for x86-64-v3/AVX2 on official Windows builds and natively on Linux, falling back to SSE2 on unsupported CPUs), fast-math algorithms, PolyBLEP anti-aliasing, and 2× oversampling (HalfBand2x IIR) on distortion buses.nih-plug foundation can in principle be compiled on macOS as well, but macOS is not currently part of the official build/release pipeline.