Home/Documentation
filamentdocs

Signal Flow

By the Forma Labs teamUpdated March 2026

Everything upstream of the mixer is MIDI processing. The mixer is where audio is generated by hosted instruments and mixed down.

Signal Flow Diagram

MIDI Input
    │
    ▼
SmartSwitch
(routes to active Keyswitch)
    │
    ▼
Keyswitch Module  [×12 slots]
    │
    ├── Input Voice 0  ──┐
    ├── Input Voice 1  ──┤
    ├── ...              ┤  (KeyFilter + Split/Low/High/All)
    └── Input Voice 7  ──┘
              │
              ▼
        Grid Routing
        (8 inputs → up to 64 outputs, with per-connection transpose)
              │
    ┌─────────┴──────────┐
    ▼                    ▼
Output Row 0  ...  Output Row N
    │
    ├── Phrase Arpeggiator
    ├── MIDI Clip Launcher
    ├── Smart Modifier
    └── Articulation Trigger
              │
              ▼
         Row Destination
         (Hosted Plugin / Host MIDI Out / None)
              │
              ▼
         Mixer or MIDI Output

Stage by Stage

1. MIDI Input

Notes arrive from your keyboard, DAW, or MIDI controller.

2. SmartSwitch

Routes incoming MIDI to the currently active keyswitch (1 of 12).

3. Input Voices (8 per keyswitch)

Each voice receives the full MIDI stream and applies filtering (All, Low, High, Split) and key range constraints before passing to the grid.

4. Grid Routing

The routing matrix connects voices to output rows. Each connection can have its own transpose value (−24 to +24 semitones). Up to 64 outputs supported.

5. Output Row Pipeline

Each row processes notes through optional modules in sequence: Phrase Arpeggiator → Clip Launcher → Smart Modifier → Articulation Trigger.

6. Output Destination

The row sends processed MIDI to its selected destination: hosted plugin, host MIDI output, or none. Hosted plugin destinations then generate audio through the mixer.

Key Points

  • 8 input voices can feed up to 64 outputs
  • The mixer (instruments, effects) is shared across all 12 keyswitches
  • Switching keyswitches changes the musical content, not the instruments
  • Any module in the output row pipeline can be bypassed

Related