Concepts
Output, group, slot type, remote key — the core terms in a DawForge expression map, explained from first principles.
A handful of terms come up in every conversation about expression maps. Get these straight and the editor stops being surprising.
Articulation row
A single articulation in the map — one "technique" the library can play. In the editor it's one row, and it stays one entry when you export the file. Every other concept on this page is a property of a row.
Name and display
- Name is the canonical label for the articulation. It appears in Cubase's Inspector and is what you'd read aloud ("staccato", "con sordino", "spiccato secco").
- Display is the short string Cubase shows above each note in the score view. It has to be terse — three or four characters at most. DawForge derives one automatically (e.g.
stac.,c.s.,spic.) from the name and tags, but you can override.
Tags
Five canonical families: length, technique, style, pattern, dynamic. Tags drive search, cross-library matching, default short names, and group suggestions. See Tags and families for the full vocabulary.
Slot type
Two values:
- Attribute — sticks until another articulation overrides it. Use for things you'd want to leave running (legato, sustain, con sordino).
- Direction — fires once, then the articulation reverts. Use for one-shots (sforzando attack, single staccato accent).
You set it from a dropdown on the row.
Group
Cubase reserves four articulation groups (0–3), one per row above the staff in the score editor. Each group is independent — a note can carry one articulation from each group simultaneously. Typical layout:
| Group | What you put there |
|---|---|
| 0 | Length (short / long / sustain) |
| 1 | Style (open / muted / con sordino) |
| 2 | Mic position or dynamic shape |
| 3 | Special techniques (harmonics, col legno) |
The editor doesn't enforce this — it's convention.
Remote key
The MIDI note that triggers this articulation when received from a controller. Defaults walk up from C-1 by semitone but you can assign any unused note. Two rows with the same remote key is a conflict; the editor flags it.
When you drive switches from the DawForge web app (via Flow), the remote key is what Flow fires under the hood — you don't have to memorise the assignments.
Output
What gets sent to your library when the row fires. Three types:
- Keyswitch — a MIDI note on a configurable channel. Most libraries listen for keyswitches in a no-play range (below the playable register).
- CC — a controller number + value. Spitfire's UACC uses this:
CC 32+ the patch's UACC number. - Program change — a program number on the configured channel. Older libraries.
A row can have multiple outputs. If your library needs both a CC to switch mic and a keyswitch to switch technique, add both — they fire simultaneously.
Row identity
Behind the scenes, DawForge gives every row a hidden identifier so it can keep track of which row is which. Cubase ignores it, but it's what lets you export a file, edit it, and re-import it without your rows getting shuffled around. You never touch it — it's just there to keep the editor predictable.
Pre-delay and separation
Two timing offsets the Cubase format defines per articulation:
- Pre-delay (ms) — shifts the note start. Positive moves the note later (compensating for samples with slow attacks); negative pulls earlier.
- Separation (ms) — separation timing applied between notes. Useful for staccato-vs-tenuto distinctions where the library otherwise renders them identically.
Most rows leave both at 0.
Disabled
The eye icon hides a row. Hidden rows stay in your map but are left out when you export. Use it for variants you're trying out but don't want Cubase to see yet.