Skip to content

A standalone application for creating and editing Cubase Expression Maps.

License

Notifications You must be signed in to change notification settings

birchthrush/EME-Expression-Map-Editor

Repository files navigation

Expression Map Editor (EME)

A standalone Windows application for creating and editing expression maps for use with Cubase.

EME Main UI

The basic interface should be familiar to all Cubase users, but contains several enhancements over the native editor to speed up the creation of new expression maps, especially complex ones.

For more information on Cubase expression maps, refer to the Cubase user manual.

Installation

No installation required. Just download and run the executable.

Windows only. Requires .NET 8 to be installed - if you don't have it, Windows will ask to install it.

Main Features

Create multiple slots or articulations

Right-click in either list window to bring up the option to create multiple blank slots or articulation in one go.

Multiple and ascending value assignment

Many parameters - most notably articulations, colors and midi channels - will be assigned for all selected sound slots.

Where applicable, hold the alt modifier key to assign ascending values. Useful for assigning articulations in order, ascending midi channels or different color values in one go.

Automatic completion of Articulation descriptors (optional)

By convention, the Text field for an articulation is a lower-case abbreviation. EME will automatically generate the full description field by capitalizing each word and expanding selected abbreviated keywords.

Abbreviation Full Description
s Short
m Medium
l Long
f Fast
sl Slow
tr Trills
stac Staccato
trem Tremolo
det Detaché
marc Marcato
msrd Measured
leg Legato
cresc Crescendo
dim Diminuendo
port Portato
flaut Flautando
cs Con Sordino
ss Senza Sordino
sus Sustains
espr Espressivo
acc Accented
fp Fortepiano
dbl Double
trpl Triple
spic Spiccato
norm Normal
nat Natural
pizz Pizzicato
rep Repetitions
gliss Glissando
sp Sul Ponticello
st Sul Tasto
pp Pianissimo
ff Fortissimo
nv Non-Vibrato
v Vibrato
mv Molto Vibrato
sv Strong Vibrato
pv Progressive Vibrato
xf Crossfade

If this behavior is not desired, auto-completion can be disabled via a right-click menu option in the Articulation list.

Automatic generation of Sound Slot names

Accessible via right-click menu. EME will generate names for the selected slots based on their assigned articulations' Description field. If multiple groups are used, their names will be concatenated.

Duplication of slots, copying of output mapping

Sound Slots can be duplicated via a right-click option (or the ctrl+d key command), retaining all their parameters. This is often useful for managing the combinatorial explosion resulting from using groups, where you often end up with multiple slots that differ only in their group assignments and minor details in output mapping - in such cases, duplicating then modifying slots may be faster than building everything from scratch.

Also available is the option of copying only the Output Events across multiple slots. When making a multiple selection, the Output section will always reflect the first selected slot - this is the data that will be copied across all selected sound slots, overwriting any existing Output Events.

Copying and automatic incrementation of Output Events

The following operations are available as right-click options in the Output Events section. Operations will be carried out (in top-to-bottom order where relevant) on all selected sound slots. Note that the Output Events section always reflects the contents of the first selected slot.

  • Copy output events: with options for automatically incrementing either Data field.
  • Increment nth event: will increment the specified Data field on the nth event (ie: if the first output event in a list is selected, the first event on all slots will be incremented if it exists) on all slots. This in-place modification is sometimes useful when slots have been created via duplication and already have existing output events.

Typical use case: many instruments have all articulations laid out with ascending keyswitches. Set up and select the appropriate sound slots (in order with the lowest keyswitch on top), insert a keyswitch OutputEvent on the first event and use the Copy and increment Data1 command to create ascending keyswitches on all slots.

Batch processing of output mapping

EME allows rudimentary search-and-replace operations to be performed on sound slots' output events. Select the slots you wish to operate on and select batch processing from the right-click menu (or use the ctrl+h keyboard shortcut) to bring up the window.

Batch Processing Window

The window will display a set of all unique Output Events contained in the selected slots, along with the number of times each event occurs. Select which events you wish to affect and the type of operation:

  • Delete will remove all occurrences of the selected events from all selected slots.
  • Replace will replace all occurrences of the selected events with the data specified in the lower section of the window.

Keyboard Shortcuts

Shortcut Command
Insert Creates new element in list
Delete Removes selected element(s) from list
ctrl+n Create multiple elements
ctrl+d Duplicate selected sound slot(s)
ctrl+p Propagate output events from first selected slot
ctrl+h Batch processing of output events on selected slots

Notes on Data Entry

For the sake of consistency with Cubase's conventions, all Program Changes are displayed as 1-128 - and not as the more binary accurate 0-127, unlike many other DAW:s and instruments.

Pitches may be entered either as note names (C-2 to G8) or numerically (0 to 127). Middle-C is notated as C3 (note name) or 60 (numerically).

Known Limitations

Limited support for musical symbols

These are currently shown (and can be assigned) using their underlying numerical code, not their proper graphical representation. If you make extensive use of Symbols, it is recommended you use a text attribute as a placeholder and make proper assignment of symbols later within Cubase instead.

Limited error checking

For example, EME does not explicitly forbid the creation of multiple articulations with identical names - however doing so will result in undefined behavior once imported back into Cubase. Employ common sense.

Disclaimer

While EME has been tested extensively in my own use cases without issues in Cubase 12 & 13, do note that this program relies on reverse-engineering an undocumented format - as such, perfect reliability cannot be guaranteed. Future versions of Cubase may introduce changes to the expression map system or file format that create compatibility issues. Compatibility has not been verified with other third-party expression map tools/generators. Use at your own risk.

About

A standalone application for creating and editing Cubase Expression Maps.

Topics

Resources

License

Stars

Watchers

Forks

Languages