Midi Solutions Event Processor Plus User manual

Event Processor Plus
OPERATING INSTRUCTIONS
MIDI Solutions

MIDI Solutions Event Processor Plus Operating Instructions M429-100
2023 MIDI Solutions Inc. All rights reserved.
MIDI Solutions Inc.
PO Box 3010
Vancouver, BC Canada
V6B 3X5
www.midisolutions.com

Thank you for purchasing the MIDI Solutions Event Processor Plus.
The MIDI Solutions Event Processor Plus offers 32 settings, each of which can be programmed to perform a different
MIDI processing function. The Event Processor Plus is MIDI-powered and requires no batteries or power supply to
operate.
INTRODUCTION
To program the Event Processor Plus connect the MIDI Out from your MIDI interface to the MIDI of the Event
Processor Plus. The MIDI can be left disconnected during programming.
Once the Event Processor Plus is programmed, it can be inserted wherever it is required in your MIDI setup. Connect
the MIDI Out or Thru of the sending device to the MIDI of the Event Processor Plus, and the MIDI of the Event
Processor Plus to the MIDI In of the receiving MIDI device. It is recommended that the number of MIDI Solutions
products powered by a single MIDI Out or Thru be limited to four.
The Event Processor Plus offers 32 settings, each of which can be programmed with a unique MIDI processing
function. The Event Processor Plus is programmed by sending it MIDI System Exclusive programming commands
from a computer with a MIDI interface. These commands are described in detail on the MIDI Solutions website,
however (see
www.midisolutions.com/support.htm).
Upon receipt of a programming command, the Event Processor Plus's MIDI indicator LED flashes rapidly for about
one second to indicate that the setting has been stored. Settings are retained after power is removed, and the unit
can then be inserted wherever it is required in your MIDI setup.
The Event Processor Plus's MIDI Indicator LED will light as soon as the sending device is turned on, and flashes
whenever MIDI data passes through the unit. Each MIDI event received is compared with each of the Event
Processor Plus's 32 settings, beginning with setting #1.
All unprocessed MIDI events are sent unchanged to the MIDI Out.
In
Out
In Out
the Programming Tools software creates these commands automatically
If a MIDI event matches a setting, the event is processed
according to that setting.
CONNECTIONS
PROGRAMMING
OPERATION
3
Receiving Device
MIDI In
Sending Device
MIDI Out or Thru
MIDI Solutions
TM
Made in Canada
MIDI
In Out
Processor
Event
Processor
Plus
MIDI Indicator LED

4
PROGRAMMING COMMANDS
CLEAR SETTINGS
FILTER MIDI EVENT
MAP MIDI EVENT
To clear all of the Event Processor Plus's settings, send it the following System Exclusive command:
To clear a single setting of the Event Processor Plus, send it the following System Exclusive command:
= setting to be cleared (00 - 1F)
System Exclusive programming
commands
All bytes must be in Hexadecimal format (see hexadecimal conversion table at end)
System
Exclusive programming commands
All bytes must be in Hexadecimal format (see hexadecimal conversion table at end)
specifies value ranges and variables (see description at end of instructions)
F0 00 00 50 29 00 F7
F0 00 00 50 29 00 ss F7
ss
To program the Event Processor Plus to filter "MIDI Event A", send it the following
:
followed by
is optional, specifies value ranges and variables (see description at end of instructions)
can contain a maximum of 32 bytes
To program setting #3 to filter all Program Change events on MIDI channel 16, send the Event Processor Plus the
following programming commands:
F0 00 00 50 29 01 F7
To program the Event Processor Plus to map "MIDI Event A" to "MIDI Event B", send it the following
:
followed by followed by
= setting to be programmed (00 - 1F)
is optional,
and combined can contain a maximum of 32 bytes
To program setting #7 to map the System Exclusive message F0 00 11 22 33 F7 to the System Exclusive message
F0 44 55 66 77 F7, send the Event Processor Plus the following commands:
F0 00 00 50 29 02 F7
F0 00 00 50 29 01 ss (aa bb cc dd) F7 "MIDI Event A"
(aa bb cc dd)
"MIDI Event A"
Example
02 00 02 00 7F
CF 00
F0 00 00 50 29 02 mm (aa bb cc dd) F7 "MIDI Event A" "MIDI Event B"
ss
(aa bb cc dd)
"MIDI Event A" "MIDI Event B"
Example
06
F0 00 11 22 33 F7
F0 44 55 66 77 F7
= setting to be programmed (00 - 1F)ss

5
TRIGGER MIDI EVENT
TURN SETTING ON/OFF
To program the Event Processor Plus to trigger "MIDI Event B" when the specified values of "MIDI Event A" move
into a selected range, send it the following System Exclusive programming commands:
followed by followed by
All bytes must be in Hexadecimal format (see hexadecimal conversion table at end)
= setting to be programmed (00 - 1F)
specifies value ranges and variables (see description at end of instructions)
must contain at least one value range
cannot contain any value ranges.
and combined can contain a maximum of 32 bytes.
To program setting #1 to trigger a middle C (Note-on #60) of velocity 127 on MIDI channel 1 whenever the value of
Control Change #7 on MIDI channel 1 moves above 63 (i.e. into the range 64 - 127), send the Event Processor Plus
the following programming commands:
F0 00 00 50 29 03 F7
To program the Event Processor Plus to turn a setting on or off when the value of "MIDI Event A" moves into a
specified range, send it the following System Exclusive programming commands:
followed by
All bytes must be in Hexadecimal format (see hexadecimal conversion table at end)
= setting to be programmed (00 - 1F)
is set according to table below
= setting to turn On/Off (00 - 1F)
specifies value ranges and variables (see description at end of instructions)
To program setting #1 to turn setting #10 ON when Control Change #64 on MIDI channel 1 is in the range 64 - 127,
and turn setting #10 OFF when the value is out of range, send the Event Processor Plus the following programming
commands:
F0 00 00 50 29 06 F7
F0 00 00 50 29 03 ss (aa bb cc dd) F7 "MIDI Event A" "MIDI Event B"
ss
(aa bb cc dd)
"MIDI Event A"
"MIDI Event B"
"MIDI Event A" "MIDI Event B"
Example
00 01 03 40 7F
B0 07 00
90 3C 7F
F0 00 00 50 29 06 ss tt xx (aa bb cc dd) F7 "MIDI Event A"
ss
tt
xx
(aa bb cc dd)
Example
00 06 09 01 03 40 7F
B0 40 00
If value is out of range:
Turn setting ON N/A
tt = 09
tt = 01
tt = 06
N/A
tt = 02
tt = 04
tt = 08
N/A
Turn setting ON
Turn setting OFF
Turn setting OFF
No action
No action
If value is in range:

DEFINE A SEQUENCE OF MIDI EVENTS
To program the Event Processor Plus to step through a sequence of MIDI events in response to "MIDI Event A", send
it the following System Exclusive programming command:
followed by
All bytes must be in Hexadecimal format (see hexadecimal conversion table at end)
= setting to be programmed (00 - 1F)
= first setting of sequence (00 - 1F)
= number of events per step (01 - 10)
= total number of steps (02 - 1F)
= jump to step number (01 - 1F), decrement step number (7E), increment step number (7F)
is optional, specifies value ranges and variables (see description at end of instructions)
To define MIDI events within the sequence, send the Event Processor Plus the following System Exclusive
programming commands:
followed by
All bytes must be in Hexadecimal format (see hexadecimal conversion table at end)
= setting to be programmed (00 - 1F)
is optional, specifies value ranges and variables (see description at end of instructions)
Note: If ranges of values are specified, ensure that those values are also specified in the above
programming command for "MIDI Event A". Failure to do so will result in unpredictable data.
is the event in the sequence.
To program setting #1 to define a sequence that steps through Program Change 1 on MIDI channel 1 followed by
Program Change 2 on MIDI channel 1 in response to Note-on #60 events on MIDI channel 1, send the Event
Processor Plus the following programming commands:
F0 00 00 50 29 04 F7
F0 00 00 50 29 05 F7
F0 00 00 50 29 05 F7
(in this example, Program Change 1 and 2 are stored in settings #2 and #3 respectively)
F0 00 00 50 29 04 ss ff ee tt jj (aa bb cc dd) F7 "MIDI Event A"
ss
ff
ee
tt
jj
(aa bb cc dd)
F0 00 00 50 29 05 ss (aa bb cc dd) F7 "MIDI Event B"
ss
(aa bb cc dd)
"Event B"
Example
00 01 01 02 7F 01 03 01 7F
90 3C 40
01
C0 00
02
C0 01
6

STORE INCOMING VALUE IN A VARIABLE
VALUE RANGE AND VARIABLE SPECIFICATION
To program the Event Processor Plus to store an incoming value in one of eight variable locations, send it the
following System Exclusive programming command:
followed by
All bytes must be in Hexadecimal format (see hexadecimal conversion table at end)
= setting to be programmed (00 - 1F)
is related to the parameters as follows:
= 00: specifies the incoming range of the first byte # of MIDI Event A to be processed
= 01: specifies the incoming range of the second byte # of MIDI Event A to be processed
= 02: specifies the range the first byte is scaled to before it is stored in Variable (00 - 07)
= 03: specifies the range the second byte is scaled to before it is stored in Variable (00 - 07)
To program setting #1 to store volume (CC#7) on MIDI channel 5 in Variable 1, with the incoming range 0 - 127
scaled to the stored range 0 - 100, send the Event Processor Plus the following programming commands:
F0 00 00 50 29 07 F7
Up to two values of each incoming and outgoing MIDI event can be qualified by parameters that specify
value ranges or variables to be compared to. Incoming MIDI events are processed only if each value falls within the
specified value range or matches the value stored in the specified variable. Values of outgoing MIDI events are
scaled to the specified outgoing value ranges or assigned to the values stored in the specified variables.
For incoming MIDI events, is defined as follows:
First value of incoming MIDI event:
= 00 : Value of byte # qualified by range
= 1 00 00: Value of byte # compared to variable = 0 to 7
(if MIDI event is non-System Exclusive then = 02)
Second value of incoming MIDI event:
= 01 : Value of byte # qualified by range
= 1 00 00: Value of byte # compared to variable = 0 to 7
(if MIDI event is non-System Exclusive then = 03)
For outgoing MIDI events, is defined as follows:
First value of outgoing MIDI event:
= 02 : Value of byte # scaled to outgoing range
= 2 00 00: Value of byte # assigned the value stored in variable = 0 to 7
(if MIDI event is non-System Exclusive then = 02)
Second value of outgoing MIDI event:
= 03 : Value of byte # scaled to outgoing range
= 2 00 00: Value of byte # assigned the value stored in variable = 0 to 7
(if MIDI event is non-System Exclusive then = 03)
When multiple parameter sets are used in a single programming command the sets must appear in the
order shown above.
All bytes must be in Hexadecimal format (see hexadecimal conversion table at end)
F0 00 00 50 29 07 ss (aa bb xx yy) F7 "MIDI Event A"
ss
aa bb xx yy
aa xx yy bb
aa xx yy bb
aa xx yy bb
aa xx yy bb
Example
00 01 03 00 7F 03 00 00 64
B4 07 00
aa bb cc dd
aa bb cc dd
aa bb cc dd bb cc dd bb cc dd
aa bb cc dd x bb bb x
bb
aa bb cc dd bb cc dd bb cc dd
aa bb cc dd x bb bb x
bb
aa bb cc dd
aa bb cc dd bb cc dd bb cc dd
aa bb cc dd x bb bb x
bb
aa bb cc dd bb cc dd bb cc dd
aa bb cc dd x bb bb x
bb
aa bb cc dd
7

8
The value in the programming commands is assigned according to the following table:cc
16 ALL
MIDI CHANNEL TABLE
MIDI CONTROL CHANGE TABLE
Decimal
0
1
2
3
4
5
6
7
8
9
10
11
12-13
14-15
16-19
20-31
32-63
64
65
66
67
68
69
70
71
72
73
74
75-79
80-83
84
85-90
91
92
93
94
95
96,97
98,99
100,101
102-119
120-127
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dec/
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
Hex
40
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
20
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F
60
61
62
63
64
65
66
67
68
69
6A
6B
6C
6D
6E
6F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
50
51
52
53
54
55
56
57
58
59
5A
5B
5C
5D
5E
5F
30
31
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F
70
71
72
73
74
75
76
77
78
79
7A
7B
7C
7D
7E
7F
HEXADECIMAL CONVERSION TABLE
Hexadecimal
00
01
02
03
04
05
06
07
08
09
0A
0B
0C-0D
0E-0F
10-13
14-1F
20-3F
40
41
42
43
44
45
46
47
48
49
4A
4B-4F
50-53
54
55-5A
5B
5C
5D
5E
5F
60,61
62,63
64,65
66-77
78-7F
Control Function
Bank Select
Modulation wheel or lever
Breath Controller
Undefined
Foot controller
Portamento time
Data entry MSB
Channel Volume
Balance
Undefined
Pan
Expression Controller
Effect Controls 1-2
Undefined
General Purpose Controllers (#'s 1-4)
Undefined
LSB values for 0-31
Damper pedal (sustain)
Portamento On/Off
Sostenuto
Soft pedal
Legato Fsw (vv=00-3F: Normal, 40-7F: Legato)
Hold 2
Sound Controller 1 (default: Sound Variation)
Sound Controller 2 (default: Timbre/Harmonic Content)
Sound Controller 3 (default: Release Time)
Sound Controller 4 (default: Attack Time)
Sound Controller 5 (default: Brightness)
Sound Controllers 6-10 (no defaults)
General Purpose Controllers (#'s 5-8)
Portamento Control
Undefined
Effects 1 Depth (formerly External Effects Depth)
Effects 2 Depth (formerly Tremolo Depth)
Effects 3 Depth (formerly Chorus Depth)
Effects 4 Depth (formerly Celeste (Detune) Depth)
Effects 5 Depth (formerly Phaser Depth)
Data increment, Data decrement
Non-Registered Parameter Number LSB, MSB
Registered Parameter Number LSB, MSB
Undefined
Reserved for Channel Mode Messages
1MIDI Channel
00cc
2
01
3
02
4
03
5
04
6
05
7
06
8
07
9
08
10
09
11
0A
12
0B
13
0C
14
0D
15
0E 0F 7F

MIDI Solutions Inc. warrants this product to be free from defects in material and workmanship for a period of one (1) year from
date of purchase. This warranty is void if the product has been damaged by accident, misuse, alteration, unauthorized repairs
or other causes not arising out of defects in material or workmanship. Under no circumstances will MIDI Solutions be liable for
any loss of profits, benefits, time, interrupted operation, commercial loss, or consequential damages arising out of the use or
inability to use the product. MIDI Solutions specifically disclaims any implied warranties of merchantability and fitness for a
particular purpose. If the product requires service, a Return Merchandise Authorization (RMA) number must be obtained from
MIDI Solutions and the product must be shipped prepaid to a specified Service Center. MIDI Solutions will repair or replace the
product at our discretion and will pay return shipping fees. The customer is responsible for any damage or loss sustained
during shipment in any direction.
WARRANTY
9
Table of contents
Other Midi Solutions Recording Equipment manuals