CODE1        Description of MIDI Status Bytes.
              Michel Poirier
              MIDICOM, Montreal 167/111
------------------------------------------------------------------------------

 CHANNEL VOICE MESSAGES
 ----------------------------------------------------------------------------
 Status byte                      #  Description
 -------------------------------  -  ----------------------------------------
 1000 nnnn : 80 - 8F : 128 - 143  2  Note OFF
 1001 nnnn : 90 - 9F : 144 - 159  2  Note ON
 1010 nnnn : A0 - AF : 160 - 175  2  Polyphonic Key Pressure (after touch)
 1011 nnnn : B0 - BF : 176 - 191  2  Control Change
 1100 nnnn : C0 - CF : 192 - 207  1  Program Change
 1101 nnnn : D0 - DF : 208 - 223  1  Channel Pressure (after touch)
 1110 nnnn : E0 - EF : 224 - 239  2  Pitch Wheel


 CHANNEL MODE MESSAGES
 ----------------------------------------------------------------------------
 Status byte                      #  Description
 -------------------------------  -  ----------------------------------------
 1011 nnnn : B0 - BF : 176 - 191  2  Channel Mode Select (Mono, Poly, Omni)



 SYSTEM MESSAGES
 ----------------------------------------------------------------------------
 Status byte                      #  Description
 -------------------------------  -  ----------------------------------------
 1111 0000 : F0      : 240        *  System Exclusive    * Variable
 1111 0sss : F1 - F7 : 241 - 247  *  System Common       * 0 to 2
 1111 1ttt : F8 - FF : 248 - 255  0  System Real Time



 - Symbol "#" represents the number of Data following that Status byte.

 - In Voice & Mode Messages, "nnnn"+1 = Channel Number.

------------------------------------------------------------------------------

























CODE2        Channel Voice Messages.
              Michel Poirier
              MIDICOM, Montreal 167/111
------------------------------------------------------------------------------

 Status Byte Data Byte  Data Byte  Description        Detail
 ----------- ---------  ---------  ------------------ -----------------------
 1000 nnnn : 0kkk kkkk  0vvv vvvv  Note OFF           n: Channel
   80   8F :   00   7F    00   7F                     k: Note number
  128  143 :    0  127     0  127                     v: Velocity


 Status Byte Data Byte  Data Byte  Description        Detail
 ----------- ---------  ---------  ------------------ -----------------------
 1001 nnnn : 0kkk kkkk  0vvv vvvv  Note ON            n: Channel
   90   9F :   00   7F    00   7F                     k: Note number
  144  159 :    0  127     0  127                     v: Velocity


 Status Byte Data Byte  Data Byte  Description        Detail
 ----------- ---------  ---------  ------------------ -----------------------
 1010 nnnn : 0kkk kkkk  0vvv vvvv  Poly Key Pressure  n: Channel
   A0   AF :   00   7F    00   7F                     k: Note number
  160  175 :    0  127     0  127                     v: Pressure Value


 Status Byte Data Byte  Data Byte  Description        Detail
 ----------- ---------  ---------  ------------------ -----------------------
 1011 nnnn : 0ccc cccc  0vvv vvvv  Control Change     n: Channel
   B0   BF :   00   79    00   7F                     c: Control Number *
  176  191 :    0  121     0  127                     v: Control Value

  * Control Number 122-127 reserved for Channel Mode


 Status Byte Data Byte  Data Byte  Description        Detail
 ----------- ---------  ---------  ------------------ -----------------------
 1100 nnnn : 0ppp pppp             Program Change     n: Channel
   C0   CF :   00   7F                                p: Program number
  192  207 :    0  127


 Status Byte Data Byte  Data Byte  Description        Detail
 ----------- ---------  ---------  ------------------ -----------------------
 1101 nnnn : 0vvv vvvv             Channel Pressure   n: Channel
   D0   DF :   00   7F                                v: Pressure Value
  208  223 :    0  127


 Status Byte Data Byte  Data Byte  Description        Detail
 ----------- ---------  ---------  ------------------ -----------------------
 1110 nnnn : 0mmm mmmm  0lll llll  Pitch Wheel        n: Channel
   E0   EF :   00   7F    00   7F                     m: MSB Value
  224  239 :    0  127     0  127                     l: LSB Value

------------------------------------------------------------------------------










CODE3        Channel Mode Messages.
              Michel Poirier
              MIDICOM, Montreal 167/111
------------------------------------------------------------------------------

 Status Byte Data Byte  Data Byte  Description         Detail
 ----------- ---------  ---------  ------------------- ----------------------
 1011 nnnn : 0ccc cccc  0vvv vvvv  Channel Mode Select n: Channel
   B0   BF :   7A   7F    00   7F                      c: Control Number
  176  191 :  122  127     0  127                      v: Value


 Data  Binary     Hx  Dec  Description
 ----  ---------  --  ---  --------------------------------------------------
  c =  0111 1010  7A  122  Local Control
  v =  0000 0000  00    0  Local Control OFF
  v =  0111 1111  7F  127  Local Control ON
 ----  ---------  --  ---  --------------------------------------------------
  c =  0111 1011  7B  123  All Notes OFF *
  v =  0000 0000  00    0
 ----  ---------  --  ---  --------------------------------------------------
  c =  0111 1100  7C  124  Omni Mode OFF
  v =  0000 0000  00    0
 ----  ---------  --  ---  --------------------------------------------------
  c =  0111 1101  7D  125  Omni Mode ON
  v =  0000 0000  00    0
 ----  ---------  --  ---  --------------------------------------------------
  c =  0111 1110  7E  126  Mono Mode ON
  v =  0000 nnnn  0n    n  Number of Channels = 1 to 15
  v =  0000 0000  00    0  Number of Channels = Number of Voices
 ----  ---------  --  ---  --------------------------------------------------
  c =  0111 1111  7F  127  Poly Mode ON
  v =  0000 0000  00    0


 * Messages 123 to 127 act as "All Notes OFF" messages.

 * In Mono Mode, "n" specifies the number of Channels in which monophonic
   Voice messages are to be sent. If n=0 the receiver will assign all its
   voices, one per channel, from its "basic" channel through 16.

------------------------------------------------------------------------------




CODE4        System Messages.
              Michel Poirier
              MIDICOM, Montreal 167/111
------------------------------------------------------------------------------

 Status Byte Data Byte  Data Byte  Description        Detail
 ----------- ---------  ---------  ------------------ -----------------------
 1111 0000 : 0iii iiii  0ddd dddd  System Exclusive   i: Identification
 F0        :   00   7F    00   7F                     d: Data *
 240       :    0  127     0  127

 EOX       :            1111 0111  End of Exclusive
                               F7
                              247

  * Any number of Data may follow. Must end with EOX




 Status Byte Data Byte  Data Byte  Description        Detail
 ----------- ---------  ---------  ------------------ -----------------------
 1111 0sss : 0ddd dddd  0ddd dddd  System Common      s: System Message
   F1   F7 :   00   7F    00   7F                     d: Data  *
  241  247 :    0  127     0  127

  * Variable amount of Data bytes from 0 to 2.

 Data  Binary     Hx  Dec  Description
 ----  ---------  --  ---  --------------------------------------------------
  s =  1111 0001  F1  241  Undefined
 ----  ---------  --  ---  --------------------------------------------------
  s =  1111 0010  F2  242  Song Position Pointer
  d1=  0lll llll           LSB
  d2=  0hhh hhhh           MSB
 ----  ---------  --  ---  --------------------------------------------------
  s =  1111 0011  F3  243  Song Select
  d =  0xxx xxxx           Song Number
 ----  ---------  --  ---  --------------------------------------------------
  s =  1111 0100  F4  244  Undefined
 ----  ---------  --  ---  --------------------------------------------------
  s =  1111 0101  F5  245  Undefined
 ----  ---------  --  ---  --------------------------------------------------
  s =  1111 0110  F6  246  Tune Request
 ----  ---------  --  ---  --------------------------------------------------
  s =  1111 0111  F7  247  End of Exclusive



 Status Byte Data Byte  Data Byte  Description        Detail
 ----------- ---------  ---------  ------------------ -----------------------
 1111 1ttt : No Data    No Data    System Real Time   t: Timing Message
   F8   FF :
  248  255 :

 Data  Binary     Hx  Dec  Description
 ----  ---------  --  ---  --------------------------------------------------
  t =  1111 1000  F8  248  Timing Clock
 ----  ---------  --  ---  --------------------------------------------------
  t =  1111 1001  F9  249  Undefined
 ----  ---------  --  ---  --------------------------------------------------
  t =  1111 1010  FA  250  Start
 ----  ---------  --  ---  --------------------------------------------------
  t =  1111 1011  FB  251  Continue
 ----  ---------  --  ---  --------------------------------------------------
  t =  1111 1100  FC  252  Stop
 ----  ---------  --  ---  --------------------------------------------------
  t =  1111 1101  FD  253  Undefined
 ----  ---------  --  ---  --------------------------------------------------
  t =  1111 1110  FE  254  Active Sensing
 ----  ---------  --  ---  --------------------------------------------------
  t =  1111 1111  FF  255  System Reset

------------------------------------------------------------------------------

                                                                                    