goto section page goto youngmonkey main page make contact, e-mail


Oberheim Matrix 1000 MIDI/SYSEX
Advertising Space Available

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.