Forma Labs Audio
filamentDocsLearnSupport
Forma Labs Audio

MIDI orchestration tools built by working composers, for working composers.

No telemetry. No tracking. Your sessions stay yours.

Products

  • filament

Support

  • Help Center
  • FAQ
  • Contact
  • Terms
  • Privacy
© 2026 Forma Labs Audio. All rights reserved.
Manchester, UK
Home/Documentation

filamentdocs

Getting Started

  • Introduction
  • Installation
  • Core Concepts
  • Signal Flow

Core Features

  • Keyswitches
  • Voice Layers
  • Chord Revoicing
  • Grid Inputs
  • Routing Matrix
  • Output Rows
  • Latch Mode

Modules

  • Phrase Arpeggiator
  • MIDI Clip Launcher
  • Smart Modifier
  • Articulation Trigger

Mixer & Presets

  • Mixer
  • Macros
  • The Preset System

Reference

  • Global Settings
  • Parameter Reference
  • Glossary
  • Troubleshooting
  • Requirements

DAW Setup

  • Logic Pro
  • Cubase
  • Reaper
  • Ableton Live
By the Forma Labs teamUpdated March 2026

Definitions of terms used throughout filament documentation.

Articulation Map

Configured per instrument in the mixer, defines what MIDI messages (keyswitches, CC values, program changes) to send when switching articulations. Required for Articulation Triggers to work.

Learn more

Articulation Trigger

A dropdown on each output row that selects which articulation is triggered automatically on keyswitch change or on DAW play/stop to ensure the articulation is loaded. Works in conjunction with articulation maps.

Learn more

Bank

The structural preset that defines the layout of output rows, track names, and number of keyswitches in use. Banks determine which Library Sets and Orchestrations are compatible. Saved as .bank.json files.

Learn more

Chord Revoicing

Intelligent voice distribution that spreads chord notes across output rows in musically sensible ways. Modes include Adaptive (follows input) and Fixed (consistent voicing regardless of input).

Learn more

Grid Input

One of 8 input channels (columns) in the routing matrix that receive processed notes from voice layers before routing to output rows.

Learn more

Input Delay

A timing window (0-500ms) that groups notes played within the window together, allowing for imprecise playing. Available globally and per voice layer.

Learn more

Keyswitch

One of 12 slots that store complete orchestration states. Switching keyswitches instantly changes voice layers, routing, and module settings while keeping instruments loaded and audio uninterrupted.

Learn more

Latch Mode

A feature that holds notes indefinitely without keeping keys pressed. Play notes, engage the latch, release your hands, and notes continue sounding until you play something new.

Learn more

Library Set

A preset containing all loaded instruments, mixer settings (volume, pan, effects), articulation maps, and macro definitions. Library Sets fill a Bank's structure with actual sample libraries. Saved as .libset.json files.

Learn more

Macro

A control that maps a single incoming CC to multiple mixer parameters simultaneously. Useful for ensemble dynamics, spatial sweeps, and section balancing.

Learn more

MIDI CC Fader

Mixer controls that scale incoming MIDI controller values before they reach the instrument. Used for balancing sections via MIDI rather than audio volume, preserving natural dynamics.

Learn more

MIDI Clip Launcher

A module that records and plays back MIDI sequences. Features 12 drop zones per output row per keyswitch, piano roll editing, loop/one-shot modes, and arpeggiation mode for reharmonization.

Learn more

Multi-Core

A global setting controlling CPU core distribution for hosted instruments. Default is 1 (single core). Set to Auto for larger setups to distribute processing across multiple cores.

Learn more

Orchestration

The musical content of a single keyswitch: voice layer configurations, routing matrix connections with transpose values, chord revoicing settings, and all module parameters. Saved as .orch.json files.

Learn more

Output Row

One of up to 64 instrument channels. Each row has a processing pipeline (Phrase Arpeggiator, Clip Launcher, Smart Modifier, Articulation Trigger) feeding a mixer channel with hosted instrument and effects.

Learn more

Phrase Arpeggiator

A pattern sequencer that generates phrases from held chords. Features row types (All, Note Position 1-8, High/Low, Fixed, Pattern modes), velocity editing, and linking across instruments.

Learn more

Routing Matrix

The 8x64 grid connecting voice layers (8 columns) to output rows (up to 64 rows). Each connection can have its own transpose value (-24 to +24 semitones). CC messages are automatically reduced to 1:1 to prevent jitter.

Learn more

Row Type

In the Phrase Arpeggiator, determines which note from the input chord plays on each step. Types include All (full chord), Note Position (1-8), High/Low, Fixed (static notes), and Pattern modes (Up, Down, Up-Down, Down-Up, Random).

Learn more

Smart Modifier

A curve-based processor that remaps note velocities or CC values. Used for dynamics shaping, section balancing, and per-keyswitch dynamic adjustments.

Learn more

SmartSwitch

The input router that directs incoming MIDI to the currently active keyswitch. Handles seamless transitions between keyswitch states.

Learn more

Split

A voice layer type that distributes chord notes across multiple grid inputs using intelligent voicing. Includes harmonic truncation to limit voices and smart filtering.

Learn more

Voice Layer

One of 8 input processors per keyswitch that filter and transform incoming MIDI before routing. Types include All (pass-through), Low (lowest note), High (highest note), and Split (chord distribution).

Learn more

Related

Core Concepts

Key concepts explained in context

Documentation Home

Full documentation index