home *** CD-ROM | disk | FTP | other *** search
/ Power Programming / powerprogramming1994.iso / progtool / microcrn / issue_36.arc / MIDI.FIG < prev    next >
Text File  |  1987-05-21  |  8KB  |  174 lines

  1.  
  2. Complete MIDI 1.0 Specification:
  3.  
  4. Status       Data Byte(s)           Description
  5. D7----D0     D7----D0
  6. -------------------------------------------------------------------------
  7. Channel Voice Messages
  8. -------------------------------------------------------------------------
  9. 1000cccc     0nnnnnnn               Note Off event.
  10.              0vvvvvvv               This message is sent when a
  11.                                     note is released (ended).
  12.                     (nnnnnnn) is the note number.
  13.                     (vvvvvvv) is the velocity.
  14.  
  15. 1001cccc     0nnnnnnn               Note On event.
  16.              0vvvvvvv               This message is sent when a
  17.                                     note is depressed (start).
  18.                                     (nnnnnnn) is the note number.
  19.                                     (vvvvvvv) is the velocity.
  20.  
  21. 1010cccc     0nnnnnnn               Polyphonic Key Pressure (After-touch).
  22.              0vvvvvvv               This message is sent when the
  23.                                     pressure (velocity) of a previously
  24.                                     triggered note changes.
  25.                     (nnnnnnn) is the note number.
  26.                     (vvvvvvv) is the new velocity.
  27.  
  28. 1011cccc     0ccccccc               Control Change.
  29.              0vvvvvvv               This message is sent when a controller
  30.                                     value changes.  Controllers include devices
  31.                     such as pedals and levers.
  32.                     Certain controller numbers are reserved
  33.                     for specific purposes.  See Channel Mode
  34.                                     Messages.
  35.                                     (ccccccc) is the controller number.
  36.                                     (vvvvvvv) is the new value.
  37.  
  38. 1100cccc     0ppppppp               Program Change.
  39.                                     This message is sent when the patch number
  40.                                     changes.
  41.                                     (ppppppp) is the new program number.
  42.  
  43. 1101nnnn     0ccccccc               Channel Pressure (After-touch).
  44.                                     This message is sent when the channel
  45.                                     pressure changes.  Some velocity-sensing
  46.                                     keyboards not supporting polyphonic
  47.                                     after-touch use this message to send
  48.                                     the single greatest velocity (of all
  49.                                     depressed keys).
  50.                                     (ccccccc) is the channel number.
  51.  
  52. 1110nnnn     0lllllll               Pitch Wheel Change.
  53.              0mmmmmmm               This message is sent to indicate a change
  54.                                     in the pitch wheel.  The pitch wheel is
  55.                                     measured by a fourteen bit value.  Center
  56.                                     (no pitch change) is 2000H.  Sensitivity
  57.                                     is a function of the transmitter.
  58.                                     (llllll) are the least significant 7 bits.
  59.                                     (mmmmmm) are the most significant 7 bits.
  60. -------------------------------------------------------------------------
  61. Channel Mode Messages  (See also Control Change, above)
  62. -------------------------------------------------------------------------
  63. 1011nnnn     0ccccccc               Channel Mode Messages.
  64.              0vvvvvvv               This the same code as the Control
  65.                                     Change (above), but implements Mode
  66.                                     control by using reserved controller
  67.                                     numbers.  The numbers are:
  68.  
  69.                     Local Control.
  70.                     When Local Control is Off, all devices
  71.                     on a given channel will respond only to
  72.                     data received over MIDI.  Played data, etc.
  73.                     will be ignored.  Local Control On
  74.                     restores the functions of the normal
  75.                     controllers.
  76.                                      c = 122, v =   0: Local Control Off
  77.                                      c = 122, v = 127: Local Control On
  78.  
  79.                     All Notes Off.
  80.                     When an All Notes Off is received,
  81.                     all oscillators will turn off.
  82.                      c = 123, v =   0: All Notes Off
  83.  
  84.                     (See text for description of actual
  85.                      mode commands.)
  86.                      c = 124, v =   0: Omni Mode Off
  87.                      c = 125, v =   0: Omni Mode On
  88.                      c = 126, v =   M: Mono Mode On (Poly Off)
  89.                     where M is the number of channels
  90.                     (Omni Off) or 0 (Omni On)
  91.                      c = 127, v =   0: Poly Mode On (Mono Off)
  92.                      (Note: These four messages also cause
  93.                             All Notes Off)
  94. -------------------------------------------------------------------------
  95. System Common Messages
  96. -------------------------------------------------------------------------
  97. 11110000     0iiiiiii            System Exclusive.
  98.              0ddddddd               This message makes up for all that MIDI
  99.                 ..                  doesn't support.  (iiiiiii) is a seven
  100.                 ..                  bit Manufacturer's I.D. code.  If the
  101.              0ddddddd               synthesizer recognizes the I.D. code as
  102.              11110111               its own, it will listen to the rest of
  103.                     the message (ddddddd).  Otherwise, the
  104.                     message will be ignored.  System Exclusive
  105.                     is used to send bulk dumps such as patch
  106.                     parameters and other non-spec data.
  107.                     (Note: Real-Time messages ONLY may be
  108.                      interleaved with a System Exclusive.)
  109.  
  110. 11110001                Undefined.
  111.  
  112. 11110010     0lllllll            Song Position Pointer.
  113.          0mmmmmmm            This is an internal 14 bit register that
  114.                     holds the number of MIDI beats (1 beat=
  115.                     six MIDI clocks) since the start of
  116.                     the song.  l is the LSB, m the MSB.
  117.  
  118. 11110011     0sssssss            Song Select.
  119.                     The Song Select specifies which sequence 
  120.                     or song is to be played.
  121.  
  122. 11110100                Undefined.
  123.  
  124. 11110101                Undefined.
  125.  
  126. 11110110                Tune Request.
  127.                     Upon receiving a Tune Request, all analog
  128.                     sythesizers should tune their oscillators.
  129.  
  130. 11110111                End of Exclusive.
  131.                     Used to terminate a System Exclusive
  132.                     dump (see above).
  133. -------------------------------------------------------------------------
  134. System Real-Time Messages
  135. -------------------------------------------------------------------------
  136. 11111000                Timing Clock.
  137.                     Sent 24 times per quarter note when
  138.                     synchronization is required (see text).
  139.  
  140. 11111001                Undefined.
  141.  
  142. 11111010                Start.
  143.                     Start the current sequence playing.
  144.                     (This message will be followed with
  145.                      Timing Clocks).
  146.  
  147. 11111011                Continue.
  148.                     Continue at the point the sequence was
  149.                     Stopped.
  150.  
  151. 11111100                Stop.
  152.                     Stop the current sequence.
  153.  
  154. 11111101                Undefined.
  155.  
  156. 11111110                Active Sensing.
  157.                     Use of this message is optional.  When
  158.                     initially sent, the receiver will expect
  159.                     to receive another Active Sensing message
  160.                     each 300ms (max), or it will be assume
  161.                     that the connection has been terminated.
  162.                     At termination, the receiver will turn off
  163.                     all voices and return to normal (non-
  164.                     active sensing) operation.
  165.  
  166. 11111111                Reset.
  167.                     Reset all receivers in the system to
  168.                     power-up status.  This should be used
  169.                     sparingly, preferably under manual
  170.                     control.  In particular, it should not
  171.                     be sent on power-up.
  172.  
  173.  
  174.