DawForge Docs
Expression maps

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:

GroupWhat you put there
0Length (short / long / sustain)
1Style (open / muted / con sordino)
2Mic position or dynamic shape
3Special 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.

Next

→ Building a map

On this page