Free technical help for digital creators - music, video, art, photography, graphic & web design

Systems exclusive (Sys Ex)

Systems exclusive messages are part of the MIDI specification and are used for 2 primary purposes ...

1. To transfer (or "dump") individual patches (programs) or collections of patches from one MIDI device to another.
2. To control or automate a devices parameters in real-time, such as the filter cutoff of a synthesiser.

Parameters

A parameter is a single control on a synth, sound module or FX unit,. Common parameters are ...

  • volume
  • filter cutoff piint
  • delay time
  • envelope attack
  • pre-delay time
  • LFO modulation speed
  • resonance amount
  • etc.

Patchs and programs

A patch or program is a file of digital data which contains all the parameter settings of a synth, sound module or FX unit. A patch is often called "a sound" but in reality it is a collection of parameter settings which will configure a device (eg synthesiser) to produce a given sound.

System exclusive dumps

Although individual device parameter settings do not form part of the MIDI spec (there are far too many patches, devices and manufacturers)) we can transmit, or DUMP, individual, or collections (Bulk Dumps) of patches over MIDI using a part of its specification known as System Exclusive, or Sys Ex for short. System Exclusive, or Sys Ex, messages are usually originated from within a transmitting MIDI device (such as a synthesiser) and addressed to another similar device or a MIDI recorder (such as Cubase) capable of recording and storing them.

Manufacturer and device IDs

Sys Ex messages are not sent on MIDI channels. Instead they carry Manufacturer and individual Device ID numbers ensuring that Sys Ex data transmitted over a MIDI network will be interpreted only by the hardware device to which it is addressed, regardless of MIDI channel settings. For example, Akai’s manufacturer ID number is 71 (47H). Roland’s is 65 (41H). An additional device number will identify a particlular device that they manufactuer.

It may be helpful to think of Sys Ex as being like a package delivery service for patches or collections of patches. As long as the packages are addressed correctly, a sequencer does not need to know what they contain.

Sys Ex dump message example

  • Byte 1 (status) - Sys Ex

  • Byte 2 (data) - Manufacturer ID

  • Byte 3 (data) - Device ID

  • Bytes 4 - ? (data) - Patch info

  • Last byte (status) - End of Sys Ex

What's it used for?

System Exclusive messages are used for several reasons ...

To archive/store a sound module or FX patch in an external device such as a sequencer where it can be stored with performance data.

  • To transfer a patch to another identical device.

  • To edit a patch in a computer based editing application.

  • To compile collections or Banks of patchs in a Librarian program.

  • To download patchs from the Internet.

  • To exchange patchs with colleagues.

     

To dump patchs from a MIDI device to Cubase for archiving

  • Connect MIDI leads between the devices.

  • On the transmitting device turn SYS EX to ENABLED, select your dump type (Buffer, Program, Bulk, All etc.) and set it ready to transmit.

  • Make a track in Cubase, name it (eg Quadraverb Sys Ex), set its MIDI channel to ANY, and SOLO it.

  • Under the Options menu in Cubase select MIDI Filters. Turn the Sys Ex Record filter OFF. Turn the Sys Ex Thru filter ON. Some devices will crash if Sys Ex messages are sent back to them whilst they are transmitting.

  • In Cubase set your Left/Right locators at least 4 bars apart and enable Record.
    From your transmitting device execute the dump.

To return patchs from Cubase to a MIDI device

  • Connect MIDI leads between the devices.

  • Enable SYS EX on your device. Turn off MEMORY PROTECT if necessary.

  • Send the data by playing Cubase.

Real-time Sys Ex control

Many FX processors and synthesisers generate and transmit Sys Ex data whenever their parameter controls are moved. This data can be recorded to a sequencer and replayed just like performance data for real time control. This data can then be viewed and edited with the ease that performance data (notes, velocity etc) can.