Note that 07H - SET GROUP MODE differs from the Matrix6/6R
(May contain errors)
Recognized Messages:
Channel voice messages:
STATUS DATA BYTES DESCRIPTION
------- ---------- -----------
1000 xxxx 0nnn nnnn Note off
0vvv vvvv (Release Velocity= 1-127)
1001 xxxx 0nnn nnnn Note on
0vvv vvvv (Velocity= 1-127,0=Note off)
1011 xxxx 0ccc cccc Controller change
0nnn nnnn Any controller 0-121 can be used;
7 bits only
1100 xxxx 0nnn nnnn Program select
1110 xxxx 0000 000n Pitch bend (LSB)
0nnn nnnn Pitch bend (MSB)
-------------------------------------------------------------------------------
CHANNEL CODE MESSAGES :
1011 xxxx 79H Reset all controllers
00H
1011 xxxx 7BH All notes off
00H
1011 xxxx 7CH OMNI mode off
00H
1011 xxxx 7DH OMNI mode on
0HH (OMNI mode is assumed off in MONO on)
1011 xxxx 7EH MONO mode on
06H
1011 xxxx 7FH MONO mode off
00H
-------------------------------------------------------------------------------
SYSTEM COMMON MESSAGES :
1111 0000 10H System exclusive-Oberheim ID
06H Matrix-6/6R/1000 Device ID
0F7H End of system exclusive
1111 0111 End of system exclusive
SYSTEM REAL TIME MESSAGES :
1111 1110 Active Sensing
-------------------------------------------------------------------------------
Matrix-1000 SYSTEM EXCLUSIVE DATA FORMAT :
- All "data" in patch and parameter dumps is unpacked for transmission.
The general algorithm for transmission is:
1: Transmit header and messages code(s).
2: Clear checksum.
3. Fetch next data byte to be transmitted.
4: Add byte to checksum.
5: Transmit (data & 0FH).
6: Transmit (data/16 & 0FH).
7: Repeat 3-6 for all data bytes.
8: Transmit (checksum & 07FH).
9: Transmit F7H.
-------------------------------------------------------------------------------
01H-SINGLE PATCH DATA
F0H 10H 06H 01H F7H
= Destination patch number (0-99)
= Patch data unpacked to two nibbles per byte
- see patch format listing
= sum of packed (NOT transmitted)
NOTE: On receipt, this data will be stored into the specified patch location
in the current bank. If this patch ic currently selected in the M-100,
the newly stored sound will be recalled into the edit buffer.
NOTE: A gap of at least ten msec should be allowed between patches when sending
multiple patches to the M-1000.
-------------------------------------------------------------------------------
03H - MASTER PARAMETER DATA
F0H 10H 06H 03H F7H
= 03H for M-1000
= master data unpacked to two nibbles per byte
- see master parameter format listing
= checksum of packed
-------------------------------------------------------------------------------
04H - REQUEST DATA
F0H 10H 06H 04H F7H
= 0 to request all patches in current bank and master
parameters.
= 0 when = 0 or 3
= Number of patch requested when =1
NOTE: When all patches are requested, 100 patches from the current bank are
transmitted in ascending orde using individual Single Patch messages
(code 01 above). This is followed by 50 dummy "split" patches for
compatibility with the "Requested All" function of the Matrix-6.
Each of this splits has the form F0H 10H 06H 02H <36 bytes of data>
F7H. For further information on this format, see the Matrix-6 MIDI
Specification.
All patches are transmitted with ten msec between patches.
-------------------------------------------------------------------------------
06H - REMOTE PARAMETER EDIT
F0H 10H 06H 06H F7H
= Matrix-1000 parameter number (see patch format) 0-99
= the value to which that parameter should be set.
NOTE: All values are sign extended from bit 6 into bit 7 except for parameter
121 (VCF frequency). Range checking should be done on the value of
each parameter BEFORE it is sent.
-------------------------------------------------------------------------------
07H - SET GROUP MODE
F0H 10H 06H 07H F7H
= Total number of units in group (2-6)
= 0 to set yhe first unit to be the master
1-5 to set the unit to be a slave.
NOTE: The value recieved for is used as the unit ID for
certain SYSEX messages. It is also accessable from the front panel
as extended function 5.
NOTE: On receipt of this message, the unit enters group mode with its unit
number set to . It then re-transmits this message with th ID
incremented.
-------------------------------------------------------------------------------
0AH - SET BANK
F0H 10H 06H 0AH F7H
= bank number to select(0-9).
NOTE: On receipt of this message, the unit will change banks and enable the
bank lock.
-------------------------------------------------------------------------------
0BH- REMOTE PARAMETER EDIT
F0H 10H 06H 0BH F7H
= Matrix Modulation path number (0-9).
= 0 to delete this path
= 1-20 to specify modulation source (see table 2).
= Modulation amount
= 0 to delete this path
= 1-32 to specify modulation destination (table 3).
NOTE: The value is sign extended from bit 6 into bit 7.
Range checking should be done on all data BEFORE it is sent.
-------------------------------------------------------------------------------
0CH - UNLOCK BANK
F0H 10H 06H 0CH F7H
On receipt of this message, Bank Lock will be disabled.
-------------------------------------------------------------------------------
0DH - SINGLE PATCH DATA TO EDIT BUFFER
F0H 10H 06H 0DH 0 F7H
= patch dataa unpacked to two nibbles per byte
-see patch format listing
= sum of packed (NOT transmitted)
NOTE: On receipt, this data will be stored into the edit buffer.
NOTE: Wait at least ten msec after sending a patch to the Matrix-1000.
-------------------------------------------------------------------------------
0EH - STORE EDIT BUFFER
F0H 10H 06H 0EH F7H
= patch number within bank (0-99).
= Bank number (0-9)
= 0 if Group Mode is off
= Unit ID for target M-1000 in Group Mode.
= 7FH for any unit in Group Mode.
= 268 nybbles transmitted + 5 bytes Header + 1 byte
-----------------------------------------------------------------------------------
MATRIX-1000 SINGLE PATCH DATA FORMAT
Statistics: 134 Bytes/Single Patch
Checksum : + 1 byte EOX
= 275 total transmitted bytes/Single Patch
Byte Parameter # Bits Description
----- --------- ------ -----------
0-7 6 each Patch name. Each character is
represented by the lower 6 bits of
it's ASCII representation.
8 48 2 Keyboard mode 0=Reassign
1=Rotate
2=Unison
3=Reassign w/Rob
9 00 6 DCO 1 Initial Frequency
LSB=1 Semitone
10 05 6 DCO 1 Initial Wavwshape
0=Sawtooth
31=Triangle
11 03 6 DCO 1 Initial Pulse width
12 07 2 DCO 1 Fixed Modulations
Bit 0=Lever 1
Bit 1=Vibrato
13 06 2 DCO 1 Waveform Enable
Bit 0=Pulse
Bit 1=Wave
14 10 6 DCO 2 Initial Frequency
LSB=1 Semitone
15 15 6 DCO 2 Initial Wavwshape
0=Sawtooth
31=Triangle
16 13 6 DCO 2 Initial Pulse width
17 17 2 DCO 2 Fixed Modulations
Bit 0=Lever 1
Bit 1=Vibrato
18 16 3 DCO 1 Waveform Enable
Bit 0=Pulse
Bit 1=Wave
Bit 2=Noise
19 12 6(signed) DCO 2 Detune
20 20 6 Mix
21 08 2 DCO 1 Fixed Modulations
Bit 0=Portamento
Bit 1=Not used
22 09 1 DCO 1 Click
23 18 2 DCO 2 Fixed Modulations
Bit 0=Portamento
Bit 1=Keyboard Tracking
enable
24 19 1 DCO 2 Click
25 02 2 DCO Sync mode
26 21 7 VCF Initial Frequency
LSB= 1 Semitone
27 24 6 VCF Initial Resonance
28 25 2 VCF Fixed Modulations
Bit 0=Lever 1
Bit 1=Vibrato
29 26 2 VCF Keyboard Modulation
Bit 0=Portamento
Bit 1=Keyboard
30 30 6 VCF FM Initial Amount
31 27 6 VCA 1 (exponential) Initial Amount
32 44 6 Portamento Initial Rate
33 46 2 Lag Mode 0=Constant Speed
1=Constant Time
2=Exponential
3=Exponential
34 47 1 Legato Portamento Enable
35 80 6 LFO 1 Initial Speed
36 86 2 LFO 1 Trigger 0=No Trigger
1=Single Trigger
2=Multi Trigger
3=External Trigger
37 87 1 LFO 1 Lag Enable
38 82 3 LFO 1 Waveshape (see table 1)
39 83 5 LFO 1 Retrigger point
40 88 5 LFO 1 Sampled Source Number
41 84 6 LFO 1 Initial Amplitude
42 90 6 LFO 1 Initial Speed
43 96 2 LFO 2 Trigger 0=No Trigger
1=Single Trigger
2=Multi Trigger
3=External Trigger
44 97 1 LFO 2 Lag Enable
45 92 3 LFO 2 Waveshape (see table 1)
46 93 5 LFO 2 Retrigger point
47 98 5 LFO 2 Sampled Source Number
48 94 6 LFO 2 Initial Amplitude
49 57 3 Env 1 Trigger Mode
Bit0=Reset
Bit1=Multi Trigger
Bit2=External Trigger
50 50 6 Env 1 Initial Delay Time
51 51 6 Env 1 Initial Attack Time
52 52 6 Env 1 Initial Decay Time
53 53 6 Env 1 Sustain Level
54 54 6 Env 1 Initial Release Time
55 55 6 Env 1 Initial Amplitude
56 59 2 Env 1 LFO Trigger Mode
Bit0=Gated
Bit1=LFO Trigger
57 58 2 Env 1 Mode
Bit0=DADR Mode
Bit1=Freerun
58 67 3 Env 2 Trigger Mode
Bit0=Reset
Bit1=Multi Trigger
Bit2=External Trigger
59 60 6 Env 2 Initial Delay Time
60 61 6 Env 2 Initial Attack Time
61 62 6 Env 2 Initial Decay Time
62 63 6 Env 2 Sustain Level
63 64 6 Env 2 Initial Release Time
64 65 6 Env 2 Initial Amplitude
65 69 2 Env 2 LFO Trigger Mode
Bit0=Gated
Bit1=LFO Trigger
66 68 2 Env 2 Mode
Bit0=DADR Mode
Bit1=Freerun
67 77 3 Env 3 Trigger Mode
Bit0=Reset
Bit1=Multi Trigger
Bit2=External Trigger
68 70 6 Env 3 Initial Delay Time
69 71 6 Env 3 Initial Attack Time
70 72 6 Env 3 Initial Decay Time
71 73 6 Env 3 Sustain Level
72 74 6 Env 3 Initial Release Time
73 75 6 Env 3 Initial Amplitude
74 79 2 Env 3 LFO Trigger Mode
Bit0=Gated
Bit1=LFO Trigger
75 78 2 Env 3 Mode
Bit0=DADR Mode
Bit1=Freerun
76 33 5 Tracking Generator Input Source
Code (See Table 2)
77 34 6 Tracking Point 1
78 35 6 Tracking Point 2
79 36 6 Tracking Point 3
80 37 6 Tracking Point 4
81 38 6 Tracking Point 5
82 40 6 Ramp 1 Rate
83 41 2 Ramp 1 Mode 0=Single Trigger
1=Multi Trigger
2=External Trigger
3=External Gated
84 42 6 Ramp 2 Rate
85 43 2 Ramp 2 Mode 0=Single Trigger
1=Multi Trigger
2=External Trigger
3=External Gated
86 01 7(signed) DCO 1 Freq. by LFO 1 Amount
87 04 7(signed) DCO 1 PW by LFO 2 Amount
88 11 7(signed) DCO 2 Freq. by LFO 1 Amount
89 14 7(signed) DCO 2 PW by LFO 2 Amount
90 22 7(signed) VCF Freq. by Env 1 Amount
91 23 7(signed) VCF Freq. by Pressure Amount
92 28 7(signed) VCA 1 by Velocity Amount
93 29 7(signed) VCA 2 by Env 2 Amount
94 56 7(signed) Env 1 Amplitude by Velovity Amount
95 66 7(signed) Env 2 Amplitude by Velovity Amount
96 76 7(signed) Env 3 Amplitude by Velovity Amount
97 85 7(signed) LFO 1 Amp. by Ramp 1 Amount
98 95 7(signed) LFO 2 Amp. by Ramp 2 Amount
99 45 7(signed) Portamento rate by Velocity Amount
100 31 7(signed) VCF FM Amount by Env 3 Amount
101 32 7(signed) VCF FM Amount by Pressure Amount
102 81 7(signed) LFO 1 Speed by Pressure Amount
103 91 7(signed) LFO 2 Speed by Keyboard Amount
104 5 Matrix Modulation Bus 0
Source Code (See Table 2)
105 7(signed) MM Bus 0 Amount
106 5 MM Bus 0 Destination Code
(See Table 3)
107 5 Matrix Modulation Bus 1
Source Code (See Table 2)
108 7(signed) MM Bus 1 Amount
109 5 MM Bus 1 Destination Code
(See Table 3)
110 5 Matrix Modulation Bus 2
Source Code (See Table 2)
111 7(signed) MM Bus 2 Amount
112 5 MM Bus 2 Destination Code
(See Table 3)
113 5 Matrix Modulation Bus 3
Source Code (See Table 2)
114 7(signed) MM Bus 3 Amount
115 5 MM Bus 3 Destination Code
(See Table 3)
116 5 Matrix Modulation Bus 4
Source Code (See Table 2)
117 7(signed) MM Bus 4 Amount
118 5 MM Bus 4 Destination Code
(See Table 3)
119 5 Matrix Modulation Bus 5
Source Code (See Table 2)
120 7(signed) MM Bus 5 Amount
121 5 MM Bus 5 Destination Code
(See Table 3)
122 5 Matrix Modulation Bus 6
Source Code (See Table 2)
123 7(signed) MM Bus 6 Amount
124 5 MM Bus 6 Destination Code
(See Table 3)
125 5 Matrix Modulation Bus 7
Source Code (See Table 2)
126 7(signed) MM Bus 7 Amount
127 5 MM Bus 7 Destination Code
(See Table 3)
128 5 Matrix Modulation Bus 8
Source Code (See Table 2)
129 7(signed) MM Bus 8 Amount
130 5 MM Bus 8 Destination Code
(See Table 3)
131 5 Matrix Modulation Bus 9
Source Code (See Table 2)
132 7(signed) MM Bus 9 Amount
133 5 MM Bus 9 Destination Code
(See Table 3)
-----------------------------------------------------------------------------------
TABLE 1
-----------------
LFO Wave codes
0= Triangle 4=Ramdom
1= Up Sawtooth 5=Noise
2= Down Sawtooth 6=Sampled Modulation
3= Square 7=Not Used
-----------------------------------------------------------------------------------
TABLE 2
------------------
MODULATION SOURCE CODES
TRACKING GENERATOR INPUTS
Unused modulations must have their Sources and Destinations set to 0.
0=Unused Modulation*
1=Env 1 11=Tracking Generator
2=Env 2 12=Keyboard Gate
3=Env 3 13=Velocity
4=LFO 1 14=Release Velocity
5=LFO 2 15=Pressure
6=Vibrato 16=Pedal 1
7=Ramp 1 17=Pedal 2
8=Ramp 2 18=Lever 1
9=Keyboard 19=Lever 2
10=Portamento 20=Lever 3
* The "0=Unused Modulation" parameter in this Table is found in the
Modulation Source list only. This parameter is not a Tracking Generator input
and thus will not be displayed in parameter 33 TRACK INPUT.
-----------------------------------------------------------------------------------
TABLE 3
-----------------
MODULATION DESTINATION CODES
Unused Modulations must have their Sources and Destinations set to 0.
1=DCO 1 Frequency 17=Env 1 Amplitude
2=DCO 1 Pulse Width 18=Env 2 Delay
3=DCO 1 Waveshape 19=Env 2 Attack
4=DCO 2 Frequency 20=Env 2 Decay
5=DCO 2 Pulse Width 21=Env 2 Release
6=DCO 2 Waveshape 22=Env 2 Amplitude
7=Mix Level 23=Env 3 Delay
8=VCF FM Amount 24=Env 3 Attack
9=VCF Frequency 25=Env 3 Decay
10=VCF Resonance 26=Env 3 Release
11=VCA 1 Level 27=Env 3 Amplitude
12=VCA 2 Level 28=LFO 1 Speed
13=Env 1 Delay 29=LFO 1 Amplitude
14=Env 1 Attack 30=LFO 2 Speed
15=Env 1 Decay 31=LFO 2 Amplitude
16=Env 1 Release 32=Portamento Time
-----------------------------------------------------------------------------------
MATRIX-1000 GLOBAL PARAMETERS DATA FORMAT
-------------------------------------------
Statistics: 172 bytes/Global Parameters
= 344 nybbles transmitted + 5 bytes Header
+ 1 byte Checksum + 1 byte EOX
= 351 total transmitted bytes/Global parameters
Byte # Bits Description
------ ------- ------------
0 Not Used
1 6 Vibrato Speed
2 2 Vibrato Speed Mod Source Code
3 6 Vibrato Speed Modulation Amount
4 3 Vibrato Waveform
5 6 Vibrato Amplitude
6 2 Vibrato Amp Mod SOurce Code
7 6 Vibrato Amp Modulation Amount
8 6(signed) Master Tune
9 Not Used
10 Not Used
11 4 MIDI Basic Channel
12 1 MIDI OMNI Mode Enable
13 1 MIDI Controllers enable
14 1 MIDI Patch Changes Enable
15 Not Used
16 Not Used
17 7 MIDI Pedal 1 Controller
18 7 MIDI Pedal 2 Controller
19 7 MIDI Lever 2 Controller
20 7 MIDI Lever 3 Controller
21-31 Not Used
32 1 MIDI Echo Enable
34 6(signed) Master Transpose
35 1 MIDI Mono Mode Enable
36-161 1 each Group Enables (One bit per patch, LS bit first)
162-163 Not Used
164 1 Bend Range
165 1 Bank Lock Enable (In MSB only)
167 1 Number of Units (Group Mode)
168 1 Current Unit Number (In MSB only)
169 1 Unison Enable
170 1 Volume Invert Enable
171 1 Memory Protect Enable
-----------------------------------------------------------------------------------
MISCELLANEOUS MATRIX-1000 COMMANDS
------------------------------------
BANK SELECT
F0H 7FH 02H 01H F7H
=7FH for all devices (including this one)
=(0-5) must match unit's ID
=Don't Care
=Don't Care
=Don't Care
=Don't Care
=Bank to select(0-9)
=0
DEVICE INQUIRY
F0H 7EH 06H 01H F7H
=7FH for any device (including this one)
=(0-15) must match unit's basic channel
DEVICE ID
F0H 7EH 06H 02H F7H
=Transmitting device's Basic Channel
=10H (Oberheim)
=6H (Matrix-6/6R/1000
=0H
=2H (Matrix-1000)
=0H
thru
=Four ASCII Characters of the version number, right
justified.
E.g., version 1.10 is represented by:
=20H("")
=31H("1")
=31H("1")
=31H("0")
ACTIVE CONTROLLERS
01 Vibrato Amount (Lever 2)
02 Breath Control (Lever 3)
04 Foot Pedal (Pedal 1)
06 Data Entry
07 Volume
08 Bank Change Enable
64 Sustain (Pedal 2)
96 Increment
97 Decrement
98 Non-Reg Parm LSB
99 Non-Reg Parm MSB
100 Reg Parm LSB
101 Reg Parm MSB
Registered Parameters
00 Pitch Bend Range (in semitones)
01 Fine Tune (in 128ths of a semitone)
02 Transpose (in semitones)
Non-registered parameters may be used to control any parameter by using the
front panel parameter number. Matrix modulations must be controlled by use of
the System Exclusive message. When using registered or non-registered parameter
editing, all recieved data entry controller values are offset by 40H, except
when the currently selected parameter is the registered pitch bend range.
Thus, a data entry value of 40H will update the selected parameter to be 0, while
3EH is interpreted as -2. This allows for transmission of negative numbers.