Skip to main content
Electronic Theatre Controls Inc

MIDI in Express

MIDI (Musical Instrument Digital Interface) is a digital communication protocol that allows you to interconnect musical instruments and digital electronic equipment, such as lighting control consoles.

 The console supports MIDI Show Control 1.0 (MSC) and a subset of MIDI known as ETC MIDI. If you are not familiar with MIDI and would like more information on how it works, Control Systems for Live Entertainment, by John Huntington, includes several sections that deal with the subject.

ETC MIDI

The console both transmits and receives MIDI messages with any MIDI instrument. The MIDI protocol can control cues, macros, submaster bump switches and the level wheel.

ETC assumes that MIDI users have a working knowledge of MIDI. This section provides ETC MIDI interface information, message formats and message definitions. See Installing MIDI for installation information.

Configuring ETC MIDI

The console operates at all times in MIDI Mode 3 or Omni = off/Poly. This means it only receives or transmits MIDI commands on the user-selected channel.

Configure the console for ETC MIDI by specifying the MIDI channel number. Be sure your MIDI gear is set to the same channel. The console remembers the selected MIDI channel the next time it is turned on.

The procedure for selecting the MIDI channel is given below:

1. Press [Setup]. Go to the setup display
2. Press [6] [Enter]. Selects the Options Settings menu
3. Press [1] [Enter]. Prompt reads:
Select MIDI channel (#1 through 16), or press DISABLE MIDI to disable MID
4. Enter a number between 1 and 16.a Specifies MIDI channel
5. Press [Enter]. Completes the ETC MIDI setup

a. Press [S1], Disable MIDI, here to disable ETC MIDI.

ETC MIDI message formats

The following table lists MIDI message formats used to control the console. All numbers are in hexadecimal format.

Note off message format

<8n><kk><vv>  
8 Note off status
n MIDI channel number (0-F)
kk Key number (0-7F)
vv Note off velocity (0-7F)

Note on message format

<9n><kk><vv>  
9 Note on status
n MIDI channel number (0-F)
kk Key number (0-7F)
vv Note on velocity (0-7F)
[00=Note off]

Control change message format

<Bn><kk><vv>  
B Control change status
n MIDI channel number (0-F)
kk Control number (70-92)
vv Control value (0-7F)

Program change message format

<Cn><kk>  
C Program (patch) change status
n MIDI channel number (0-F)
kk Program number (0-7F)

Pitch bend message format

<En><ll><mm>  
E Pitch bend status
n MIDI channel number (0-F)
II Least significant 7 bits of pitch bend value (0-7F)
mm Most significant 7 bits of pitch bend value (0-7F)

MIDI Message definitions

Submaster bump switch execution

Submasters 1 - 12 C5 - B5 #60 - #71
Submasters 13 - 24 C6 - B6 #72 - #83
Note-Icon-new.png Note: C5 = MIDI note #60 or middle C.

Cue execution in AB fader pair

Next cue Program change 0
Cues 1 - 127 Program change 1 - 127
Cues 128 - 255 Controller change 70, parameters 0 - 127
Cues 256 - 383 Controller change 71, parameters 0 - 127
Cues 384 - 511 Controller change 72, parameters 0 - 127
Cues 512 - 639 Controller change 73, parameters 0 - 127
Cues 640 - 767 Controller change 74, parameters 0 - 127
Cues 768 - 895 Controller change 75, parameters 0 - 127
Cues 896 - 999 Controller change 76, parameters 0 - 103

Cue execution in CD fader pair

Next cue Controller change 77, parameter 0
Cues 1 - 127 Controller change 77, parameters 1- 127
Cues 128 - 255 Controller change 78, parameters 0 - 127
Cues 256 - 383 Controller change 79, parameters 0 - 127
Cues 384 - 511 Controller change 80, parameters 0 - 127
Cues 512 - 639 Controller change 81, parameters 0 - 127
Cues 640 - 767 Controller change 82, parameters 0 - 127
Cues 768 - 895 Controller change 83, parameters 0 - 127
Cues 896 - 999 Controller change 84, parameters 0 - 103

Macro execution

Macros 1 - 127 Controller change 85, parameters 1 - 127
Macros 128 - 255 Controller change 86, parameters 0 - 127
Macros 256 - 383 Controller change 87, parameters 0 - 127
Macros 384 - 511 Controller change 88, parameters 0 - 127
Macros 512 - 639 Controller change 89, parameters 0 - 127
Macros 640 - 767 Controller change 90, parameters 0 - 127
Macros 768 - 895 Controller change 91, parameters 0 - 127
Macros 896 - 999 Controller change 92, parameters 0 - 103

Level change wheel

Wheel “ticks” Pitch bend value 
(hexadecimal)
Message values 
(decimal)
0 2000 ll=0 mm=64
+1 2001 ll=1 mm=64
ll=1 mm=64 1FFF ll=127 mm=63
+8191 (+12.5%) 3FFF ll=127 mm=127
-8192 ( -12.5%) 0 ll=0 mm=0
+655 (+1%) 228F ll=15 mm=69
-655 (-1%) 1D71 ll=113 mm=58

MIDI Show Control (MSC)

The consoles recognize the following MSC commands, which may be either transmitted or received (all other commands are ignored):

  • Go
  • Stop
  • Resume
  • Fire

Configuring MIDI Show Control

The console can receive MSC information, send MSC information, or both. Enable the sending and receiving of MSC information by specifying the device(s) that will act as the sender and receiver with respect to the console.

The sending and receiving device numbers are disabled by default. To enable these devices, proceed as follows:

1. Press [Setup]. Go to the setup display
2. Press [6] [Enter]. Selects the Options Settings menu
3. Press [2] [Enter]. Prompt reads:
Select MIDI receiver device (#0 - 126), or press DISABLE MIDI to disable MIDI Show Control
4. Enter a number from 0 to 126.a Specifies the number of the device that will send to the console (console is the receiver)
5. Press [Enter]. Prompt reads:
Select MIDI transmitter device (#0 - 126), or press DISABLE MIDI to disable MIDI Show Control
6. Enter a number from 0 to 126.b Specifies the number of the device that will transmit the MSC signal
7. Press [Enter]. Completes the setup

If the MIDI receiver device had been previously specified, press [S1], Disable MIDI, here to remove that specification.
If the MIDI transmitter device had been previously specified, press [S1], Disable MIDI, here to remove that specification.

MSC commands received by the console

Consoles enabled for MSC accept the following MSC commands. When the console receives one of these commands, it executes the command immediately. In order to accept MSC commands, the console’s receiver Device ID must match the target device ID for the MIDI device sending the signals.

Go

  • If no cue number is sent, Go presses [A/B Go] on the console. The next cue on the cue list runs in the A/B fader.
  • If a cue number is sent, the specified cue runs on the A/B fader.
  • If a cue number is sent, and 2 is sent as the list entry, that cue runs on the C/D fader.
  • If cue 0 is sent, and 2 is sent as the list entry, the command presses [C/D Go]. The pending cue runs in the C/D fader. You may also press [A/B Go] by sending Go-Cue 0-1.

Stop

  • The Stop command by itself holds all fades in both fader pairs.
  • If Stop is sent with a cue number and a list entry of 1, only the cue running in the A/B fader holds.
  • If Stop is sent with a cue number and a list entry of 2, only the cue running in the C/D fader holds.
  • The cue number field is ignored, but must be included if a list entry is sent.

Resume

  • The Resume command by itself resumes all holding fades in both fader pairs.
  • If Resume is sent with a cue number and a list entry of 1, only a cue holding in the A/B fader resumes.
  • If Resume is sent with a cue number and a list entry of 2, only the cue holding in the C/D fader resumes.
  • The cue number field is ignored, but must be included if a list entry is sent.

Fire

  • The Fire command executes a specified macro. Macro number must be in the range 1-127. If no macro is specified, or if the macro number is out of range, the command is ignored.

MSC commands transmitted by the console

MIDI Show Control (MSC) allows the console to send the following commands to MIDI devices. If MSC output is enabled on the console, the console automatically sends the MSC commands. The console’s transmitter Device ID must match the device ID for the MIDI device receiving the signals.

[A/B Go]

  • If a cue is pending, the console transmits [A/B Go] with cue number and a list entry of 1.
  • If a cue is holding, the console transmits [A/B Resume] with cue number and a list entry of 1.

[C/D Go]

  • If a cue is pending, the console transmits [C/D Go] with cue number and a list entry of 2.
  • If a cue is holding, the console transmits [C/D Resume] with cue number and a list entry of 2.

[A/B Hold]

  • If a cue is running, the console transmits [A/B Stop] with cue number and a list entry of 1.

[C/D Hold]

  • If a cue is running, the console transmits [C/D Stop] with cue number and a list entry of 2.

Macros

  • For macros 1-127, the console transmits Fire with the macro number.

MSC frame packet to run a cue:

An MSC frame packet consists of several bytes. Byte types, their hexidecimal values and explanations are given in the table below.

Byte type Value (Hex) Explanation 
Start Byte F0 Start of System Exclusive Message
  7F Start of message
Send Channel   Send transmit channel number or 7F = “All Call” for system wide broadcasts
System Exclusive Message 2 Indicates System Exclusive Message is MIDI Show Control
“Lighting” command format 01 User can send 7F = “All Types”
“GO” general command    
Cue number   Cues numbered 0–9 are represented in an MSC frame as hexidecimal 30–39. For decimal cues, the point character is represented by hexidecimal 2E.
Delimiter 00  
Faders 31 or 32 Console faders are toggled by changing the Cue List number, with fader A/B represented by 31 and fader C/D represented by 32, both hexidecimal.
Delimiter 00  
Stop Byte F7 End of System Exclusive Message

Examples

In the examples below, MSC frame packets are sent using transmit channel 66 (42 hexidecimal).

GO                        
Go A/B: F0 7F 42 02 01 02 30  00 31 00 31 F7
Go C/D F0 7F 42 02 01 01 30 00 32 00 31 F7
GO CUE                          
Cue1 A/B fader: F0 7F 42 02 01 01 31 00 31 00 F7    
Cue 5.6 A/B fader: F0 7F 42 02 01 01 35 2E 36 00 31 00 F7
Cue10 A/B fader: F0 7F 42 02 01 01 31 30 00 31 00 F7  
Cue350 A/B fader: F0 7F 42 02 01 01 33 35 30 00 31 00 F7
Cue1 C/D fader: F0 7F 42 02 01 01 31 00 032 00 F7    
Cue2 C/D fader: F0 7F 42 02 01 01 32 00 32 00 F7    
Cue987 C/D fader: F0 7F 42 02 01 01 39 38 37 00 32 00 F7
STOP                        
Stop A/B: F0 7F 42 02 01 02 30 00 31 00 31 F7
Stop C/D: F0 7F 42 02 01 02 30 00 32 00 31 F7
STOP CUE                        
Cue 50 A/B Hold: F0 7F 42 02 01 02 35 30 00 32 00 F7
Cue 50 C/D Hold: F0 7F 42 02 01 02 35 30 00 31 00 F7
RESUME                        
Resume A/B: F0 7F 42 02 01 03 30 00 31 00 31 F7
Resume C/D: F0 7F 42 02 01 03 30 00 32 00 31 F7
RESUME CUE                        
Cue 50 A/B Resume: F0 7F 42 02 01 03 35 30 00 31 00 F7
Cue 50 C/D Resume: F0 7F 42 02 01 03 35 30 00 32 00 F7
FIRE MACRO (Macros are limited to 1 - 127)          
Macro 3: F0 7F 42 01 07 03 F7
Macro124 F0 7F 42 01 07 7C F7
  • Was this article helpful?