home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / OS2 / MLABV2.ZIP / MLABPM.HLP (.txt) < prev    next >
OS/2 Help File  |  1994-01-25  |  59KB  |  1,535 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. MidiLab/2 ΓòÉΓòÉΓòÉ
  3.  
  4. MidiLab/2 is a sixteen-track MIDI data manager with built-in edit and file 
  5. management capabilities for use in recording, editing, and playing a musical 
  6. performance with MIDI compatible equipment. 
  7.  
  8. MidiLab/2 features four primary functions: Record, Overdub, Playback, and Track 
  9. Edit. These, and the other supporting functions, are selected from the main 
  10. window controls. 
  11.  
  12. MidiLab/2 supports the basic functions of the MIDI 1.0 File Specification, with 
  13. a few exceptions noted in the MIDI File Format section.  There are no special 
  14. hardware nor software requirements other than a Roland MPU-401/IMC/IPF MIDI 
  15. Processing Unit (or compatible equivalent), and the appropriate MIDI sound 
  16. equipment.  MidiLab/2 runs under OS/2 Version 2.0 or later. 
  17.  
  18. While a musician unfamiliar with computers should be able to quite easily use 
  19. MidiLab/2 as a multi-track recorder, its full capability cannot be realized 
  20. without a reasonable knowledge of MIDI concepts and terminology, as well as a 
  21. basic knowledge of general computer operation.  The reader is assumed to have 
  22. some familiarity with MIDI-compatible equipment, and to have made at least a 
  23. perfunctory scan of the MPU-401 reference information to be aware of its role 
  24. in a MidiLab/2-based music system. 
  25.  
  26. For details of the MidiLab/2 main window, select from the list below: 
  27.  
  28. o Track List 
  29. o Play 
  30. o FastFwd 
  31. o Pause 
  32. o Record 
  33. o Overdub 
  34. o Re-Take 
  35. o Notes-Off 
  36. o Sys Reset 
  37. o Beat, Tempo, and Measure windows 
  38. o Track Editor 
  39.  
  40.   For basic MIDI concepts select: 
  41.  
  42.    - MIDI Tutorial 
  43.  
  44.  
  45. ΓòÉΓòÉΓòÉ 2. Track List ΓòÉΓòÉΓòÉ
  46.  
  47. This main part of the display shows information related to the status of the 
  48. sixteen tracks.  The data represents track size, current content, channel 
  49. assignment, index value, and name.  The File Name is presented in the window 
  50. title. The file name will remain anonymous (untitled) until you assign one 
  51. during a Save operation. 
  52.  
  53. Size 
  54.           This column shows the size (capacity) of each track.  This size is 
  55.           stored in MLABPM.INI and can be changed by double-clicking on the 
  56.           size field you wish to modify.  Note that once it is modified, 
  57.           MidiLab/2 must be restarted in order for the change to take effect. 
  58.  
  59. Content 
  60.           This column shows the current contents of each track, in bytes.  At a 
  61.           minimum, each track will contain the MPU end-of-track mark (252) 
  62.           preceded by a timing byte, so its content will always be at least 2. 
  63.  
  64.           Double-clicking this field will invoke the Track Edit facility. 
  65.  
  66. Ch (Track-to-Channel Assignment) 
  67.           The MIDI channel to which each track is assigned, is displayed in 
  68.           this column.  At start-up time, each track is assigned a default 
  69.           channel number of '0'. 
  70.  
  71.           Double-clicking this field will provide the means to assign a 
  72.           channel. 
  73.  
  74. Index 
  75.           This column displays the sixteen track index counters.  These 
  76.           counters are used internally to control the positioning within each 
  77.           track, and externally to provide you a real-time view of track 
  78.           activity, to monitor the playback and record activity.  This can be 
  79.           especially useful in determining how much track space remains during 
  80.           recording, or, while play is in progress, to assist in locating an 
  81.           area of a track for editing.  Keep in mind that this column 
  82.           represents the value of the index counters, and not the contents of 
  83.           the tracks. 
  84.  
  85.           Double-clicking this field will allow you to completely erase the 
  86.           track. 
  87.  
  88. Name 
  89.           This column is used to provide space for assigning your own titles or 
  90.           names to each track.  You may enter up to 16 characters per name. 
  91.           When MidiLab/2 is first started, all tracks are set to "anon.", 
  92.           meaning anonymous or unnamed.  These fields are also set by MIDI 
  93.           Meta-events 3 and 4 if they are encountered during playback. 
  94.  
  95.           Double-clicking a field will provide the means to name a track. 
  96.  
  97.  
  98. ΓòÉΓòÉΓòÉ 3. Beat, Tempo, and Measure windows ΓòÉΓòÉΓòÉ
  99.  
  100. During record and play, the beat count is displayed, with the first beat of a 
  101. measure highlighted.  Additionally, a visual metronome is displayed to help you 
  102. keep track of the tempo. 
  103.  
  104. The measure counter tells you which measure you are in as you record or 
  105. playback. 
  106.  
  107.  
  108. ΓòÉΓòÉΓòÉ 4. Play Pushbutton ΓòÉΓòÉΓòÉ
  109.  
  110. Normal playback is initiated by pressing the Play pushbutton.  Any combination 
  111. of the sixteen tracks can be played, whether or not they contain any data. 
  112. Playback completes normally when all selected tracks reach their end-of-track 
  113. marker. 
  114.  
  115. When MidiLab is first started, all sixteen tracks are automatically selected 
  116. for playback.  All or any combination of the sixteen tracks may be subsequently 
  117. selected from the main control panel. Your selection will be remembered and 
  118. indicated, by highlighting, on the main display until you change it again. 
  119.  
  120. The tempo is initially set according to the song profile when a song is loaded 
  121. from disk, and can be subsequently changed during playback from the main 
  122. control panel. The transposition and velocity adjustments may also be set or 
  123. reset in the same way. 
  124.  
  125. Interrupting and resuming playback 
  126.           Whenever the || Pause pushbutton (or right mouse button) is pressed 
  127.           during playback, a pause function takes place and playback is 
  128.           suspended. If Pause is pressed again, playback will resume from the 
  129.           point of interruption. 
  130.  
  131.           The duration of playback, in minutes and seconds, including any time 
  132.           spent in 'pause', may be displayed at normal completion in the 
  133.           Monitor window. 
  134.  
  135. Starting playback at a selected point in the song 
  136.           You may choose to start the playback process at some point other than 
  137.           the beginning of the song.  This is done by specifying the number of 
  138.           the measure at which you wish to begin.  The tracks are then 
  139.           positioned to this measure and playback proceeds normally.  Specify 
  140.           this number on the main control panel. 
  141.  
  142. Note:  The Play and Pause buttons are duplicated on the MidiLab/2 main control 
  143. panel. 
  144.  
  145.  
  146. ΓòÉΓòÉΓòÉ 5. FastFwd Push Button ΓòÉΓòÉΓòÉ
  147.  
  148. This button is used to rapidly advance through the song file, measure by 
  149. measure, as long as the button is held down.  When the button is released, 
  150. playback will start (or resume) at the currently positioned measure. 
  151.  
  152. The measure indicator is updated as fast-forwarding is in progress. 
  153.  
  154.  
  155. ΓòÉΓòÉΓòÉ 6. Pause Pushbutton ΓòÉΓòÉΓòÉ
  156.  
  157. Used to interrupt playback. If pressed again, playback will resume at the point 
  158. of interruption. 
  159.  
  160. Note:  This button function is duplicated on the MidiLab/2 main control panel. 
  161.  
  162.  
  163. ΓòÉΓòÉΓòÉ 7. Re-Take Pushbutton ΓòÉΓòÉΓòÉ
  164.  
  165. This button facilitates previous track and option selections.  When it is 
  166. pushed, a short-cut takes place and whatever Record/Overdub setup you used 
  167. previously, including the track selection, number of measures to record, and 
  168. times to repeat will be automatically placed in effect.  This will provide you 
  169. with a quick restart capability when re-recording a track. 
  170.  
  171. Note:  This button function is duplicated on the MidiLab/2 main control panel. 
  172.  
  173.  
  174. ΓòÉΓòÉΓòÉ 8. Notes-Off Pushbutton ΓòÉΓòÉΓòÉ
  175.  
  176. This button is available if one or more notes or other MIDI events become 
  177. "stuck" during play or edit operation.  The most common example of this is when 
  178. a Note-On event is issued without a corresponding Note-Off. In addition to 
  179. issuing the MIDI "ALL NOTES OFF" command, it also issues a sustain-release to 
  180. all channels in case a sustain-down is inadvertently left active. 
  181.  
  182. Note:  This button function is duplicated on the MidiLab/2 main control panel. 
  183.  
  184.  
  185. ΓòÉΓòÉΓòÉ 9. Sys Reset Pushbutton ΓòÉΓòÉΓòÉ
  186.  
  187. This button will cause a general reset to the entire MidiLab/2 system, and 
  188. return it to the same state as when it was initially loaded.  The only settings 
  189. that are unaffected are the MIDI Format, MIDI-Thru, External Control, and 
  190. 8th-Note Click. 
  191.  
  192. Note:  This button function is duplicated on the MidiLab/2 main control panel. 
  193.  
  194.  
  195. ΓòÉΓòÉΓòÉ 10. Product Information ΓòÉΓòÉΓòÉ
  196.  
  197. This panel shows general information about MidiLab/2. 
  198.  
  199.  
  200. ΓòÉΓòÉΓòÉ 11. File Manager ΓòÉΓòÉΓòÉ
  201.  
  202. All song files are loaded and saved using the controls on this panel. Select a 
  203. directory and then a file from within that directory.  All files in the 
  204. selected directory will be displayed, whether or not they contain MIDI data. 
  205. Double-click on the file to load it. For a detailed description of each 
  206. control, select from the following list: 
  207.  
  208. o Load 
  209. o Save 
  210. o Delete 
  211. o MIDI File Format 
  212. o Track Text Display 
  213.  
  214.  
  215. ΓòÉΓòÉΓòÉ 12. Load song file ΓòÉΓòÉΓòÉ
  216.  
  217. Load a file by first selecting one and then pushing this button, or 
  218. double-click on a file in the file window. 
  219.  
  220.  
  221. ΓòÉΓòÉΓòÉ 13. Save song file ΓòÉΓòÉΓòÉ
  222.  
  223. Select a file in the file window, then press this button to save it. If the 
  224. file exists, you will be prompted to overlay it or abandon the task. 
  225.  
  226.  
  227. ΓòÉΓòÉΓòÉ 14. Delete song file ΓòÉΓòÉΓòÉ
  228.  
  229. Select a file in the file window, then press this button to delete it. You will 
  230. be prompted to confirm the delete or to abandon the task. 
  231.  
  232.  
  233. ΓòÉΓòÉΓòÉ 15. Save as MIDI format 1 ΓòÉΓòÉΓòÉ
  234.  
  235. By default, files will be saved in the MidiLab/2 native file format. However, 
  236. they can also be saved in standard MIDI format by checking this box. 
  237.  
  238. MidiLab/2 conforms to the Standard MIDI Files 1.0 Format 1 specification dated 
  239. July 1988.  It will read 1.0 files produced on different systems, but may not 
  240. necessarily support all defined features which may be present. 
  241.  
  242. A file can be loaded from either format, and stored in the opposite format 
  243. without any loss of function (see File Compatibility below).  The native format 
  244. is more efficient and should be used during development of a song, prior to 
  245. exporting it as a standard file. 
  246.  
  247. The following features of the 1.0 Specification are supported and will be 
  248. handled as described. 
  249.  
  250. o Track format 1 
  251.  
  252.   Format 1 supports a maximum of sixteen tracks, plus one containing tempo and 
  253.   time signature data.  Additional ones are ignored. 
  254.  
  255. o Metrical time division 
  256.  
  257.   Time bases (ticks per quarter-note) can be 48, 72, 96, 120, 144, 168, or 192. 
  258.   If a time base other than the ones listed is present, it will be adjusted as 
  259.   closely as possible to the above.  The tempo may have to be changed in some 
  260.   cases. 
  261.  
  262.   Note:  SMPTE and other time-code based time are not supported. 
  263.  
  264. o Supported Meta-events 
  265.  
  266.    - X'01' - General text 
  267.  
  268.    - X'03' - Sequence/Track name 
  269.  
  270.    - X'04' - Instrument name 
  271.  
  272.    - X'05' - Lyric text 
  273.  
  274.    - X'06' - Marker text 
  275.  
  276.    - X'07' - Cue Point 
  277.  
  278.    - X'20' - MIDI Channel prefix 
  279.  
  280.    - X'2F' - End-of-Track 
  281.  
  282.      This event only exists on disk files.  It is stripped off when the file is 
  283.      loaded and replaced with the MPU-401 End-of-Track message ($FC); it is 
  284.      added to the end of each of the sixteen tracks when the file is saved. 
  285.  
  286.    - X'51' - Set Tempo 
  287.  
  288.    - X'58' - Time Signature  (only the numerator portion) 
  289.  
  290.    - X'7F' - MidiLab/2-Specific 
  291.  
  292.      The MidiLab/2 track orders are implemented as sequencer-specific 
  293.      meta-events. 
  294.  
  295.      The first 16 characters of Sequence/Track name and Instrument name will be 
  296.      placed in the associated MidiLab/2 track name window.  When a file is 
  297.      loaded, track 1 is pre-scanned for any meta events so as to set tempos, 
  298.      etc.  on initial load.  Meta-events occurring in other tracks are 
  299.      processed as they are played. 
  300.  
  301. MidiLab/2 uses two types of file extensions to indicate how the the file was 
  302. stored: 
  303.  
  304. o filename.ML  - Native MidiLab/2 format 
  305.  
  306. o filename.MID - MIDI 1.0 format 
  307.  
  308.  
  309. ΓòÉΓòÉΓòÉ 16. Display track text during Load ΓòÉΓòÉΓòÉ
  310.  
  311. When a song file is loaded, and this box is checked, any text meta-events 
  312. embedded in the tracks will be displayed as they are encountered, as an aid to 
  313. understanding the nature of the file. 
  314.  
  315. These include such defined Meta-Events as Cue points, Markers, Lryics, etc. 
  316. These are normally ignored to speed up the loading and playing process. 
  317.  
  318.  
  319. ΓòÉΓòÉΓòÉ 17. Main Control Panel ΓòÉΓòÉΓòÉ
  320.  
  321. All of the main MidiLab/2 control functions are located on this panel. Select 
  322. from the following list for a detailed description of each control: 
  323.  
  324. o External Control 
  325. o Velocity Leveling 
  326. o MIDI-Thru 
  327. o Metronome 
  328. o Eighth-note click 
  329. o Meter 
  330. o Transpose 
  331. o Tempo 
  332. o Sync Source 
  333. o Filter 
  334. o Play Tracks 
  335. o Starting Measure 
  336. o Measures to play 
  337. o Loop Sequence 
  338. o Auxiliary Control Buttons 
  339.  
  340.  
  341. ΓòÉΓòÉΓòÉ 18. Velocity Leveling ΓòÉΓòÉΓòÉ
  342.  
  343. This command toggles the Velocity Leveling function.  Velocity leveling is the 
  344. "smoothing out" of the note-on velocity in a musical sequence. 
  345.  
  346. o During recording: 
  347.  
  348.   If Velocity Leveling is active, the velocity value for all notes is forced, 
  349.   or leveled, to a uniform value.  This leveled value is equal to 64 plus or 
  350.   minus the velocity adjustment setting.  For example, if the velocity 
  351.   adjustment is set to -1, the resultant velocity for every note will be 63. 
  352.  
  353. o During playback: 
  354.  
  355.   Velocity Leveling can be used to force a uniform velocity even though the 
  356.   track was recorded with varying velocity.  As in recording operations, the 
  357.   velocity adjustment facility can be used to add or subtract from the base 
  358.   value of 64.  The original track data is unchanged.  If a permanent change is 
  359.   required, the EDIT 'Modify' command can be used. Note that only those tracks 
  360.   that are ENABLED are affected. 
  361.  
  362.  
  363. ΓòÉΓòÉΓòÉ 19. External Control ΓòÉΓòÉΓòÉ
  364.  
  365. MidiLab/2 can control, or be controlled by, external devices (such as drum 
  366. machines) which transmit and/or receive the MIDI real-time messages START, 
  367. STOP, and CONTINUE.  The chart below shows the real-time messages generated by 
  368. the applicable MidiLab/2 functions, while the next chart describes the actions 
  369. taken by MidiLab/2 in response to receiving them. 
  370.  
  371. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  372. Γöé            ΓöéStart       ΓöéStop        ΓöéContinue    Γöé
  373. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  374. ΓöéStart       ΓöéX           Γöé            Γöé            Γöé
  375. ΓöéRcrd/Ovdb   Γöé            Γöé            Γöé            Γöé
  376. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  377. ΓöéStop        Γöé            ΓöéX           Γöé            Γöé
  378. ΓöéRcrd/Ovdb   Γöé            Γöé            Γöé            Γöé
  379. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  380. ΓöéStart Play  ΓöéX           Γöé            Γöé            Γöé
  381. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  382. ΓöéPause Play  Γöé            ΓöéX           Γöé            Γöé
  383. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  384. ΓöéResume Play Γöé            Γöé            ΓöéX           Γöé
  385. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  386. ΓöéPlay Done   Γöé            ΓöéX           Γöé            Γöé
  387. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  388.  
  389. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  390. Γöé               ΓöéStart          ΓöéStop           ΓöéContinue       Γöé
  391. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  392. ΓöéStandby        ΓöéStart Rcrd/OdubΓöé               ΓöéStart Rcrd/OvdbΓöé
  393. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  394. ΓöéRolling        Γöé               ΓöéStop Rcrd/Ovdb ΓöéStop Rcrd/Ovdb Γöé
  395. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  396. ΓöéIdle           ΓöéStart Play     Γöé               Γöé               Γöé
  397. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  398. ΓöéPlaying        Γöé               ΓöéStop Play      Γöé               Γöé
  399. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  400. ΓöéPause          ΓöéStart Play     Γöé               ΓöéContinue Play  Γöé
  401. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  402. The real-time facility is switched on and off by the External Control checkbox. 
  403. When MidiLab/2 is first started, it is normally off; however, an argument (/X) 
  404. can be passed to MidiLab/2 at start-up time.  The setting of the external 
  405. control (on/off) is stored in the song profile. 
  406.  
  407. MidiLab/2 also provides capability to synchronize itself with an external 
  408. clock.  The Sync Source controls are used for this option. The MIDI Song 
  409. Position Pointer message is sent when playback is started at a point beyond the 
  410. beginning of a song, to allow other devices to set themselves to the 
  411. corresponding point.  MidiLab/2 also responds to incoming Song Position 
  412. Pointers from other sources. 
  413.  
  414.  
  415. ΓòÉΓòÉΓòÉ 20. Metronome ΓòÉΓòÉΓòÉ
  416.  
  417. The MPU audible metronome is turned on or off by this control. 
  418.  
  419.  
  420. ΓòÉΓòÉΓòÉ 21. Eighth-note click ΓòÉΓòÉΓòÉ
  421.  
  422. The metronome is toggled between sounding quarter or eighth notes. Internal 
  423. timing values, including the track data timing bytes, are not affected. 
  424.  
  425.  
  426. ΓòÉΓòÉΓòÉ 22. MIDI-THRU ΓòÉΓòÉΓòÉ
  427.  
  428. The MPU-401 MIDI-THRU function is enabled, the MIDI message 'OMNI MODE ON' is 
  429. sent to all 16 channels, and the CLEAR PLAY MAP command is issued. MIDI-THRU 
  430. allows any data appearing at the MPU-401's MIDI-IN port to be passed to its 
  431. MIDI-OUT port.  MIDI-Thru can also be used to clear "stuck" notes, since it 
  432. generates an 'ALL NOTES OFF' message. 
  433.  
  434. OMNI mode may be useful in allowing you to play several MIDI devices with the 
  435. same track information without having to re-assign channels. 
  436.  
  437. Note:  Not all devices respond to OMNI mode messages.  Check the owner's manual 
  438. for your specific equipment. 
  439.  
  440.  
  441. ΓòÉΓòÉΓòÉ 23. Meter ΓòÉΓòÉΓòÉ
  442.  
  443. This control sets the time signature as number of beats per quarter note. 
  444.  
  445.  
  446. ΓòÉΓòÉΓòÉ 24. Transpose ΓòÉΓòÉΓòÉ
  447.  
  448. This is a numeric value which in effect transposes the key of the song during 
  449. playback.  As an example, if a song were in the key of C, a transposition value 
  450. of -2 would take it down two half-steps to the key of B-flat.  See the section 
  451. on recording operations for special use of this facility. 
  452.  
  453.  
  454. ΓòÉΓòÉΓòÉ 25. Tempo ΓòÉΓòÉΓòÉ
  455.  
  456. The tempo can be changed during playback or recording and will be set according 
  457. to the song profile if a song is loaded from disk.  The transposition and 
  458. velocity adjustments may also be set or reset in the same way. 
  459.  
  460.  
  461. ΓòÉΓòÉΓòÉ 26. Sync Source ΓòÉΓòÉΓòÉ
  462.  
  463. These radio buttons are used to select the synchronization source.  When 
  464. MidiLab/2 is first started, the Internal  sync mode is in effect. This means 
  465. the MPU-401 is the master controller for the system. 
  466.  
  467. When the Tape  button is selected, FSK (Frequency Shifted Key) sync mode is 
  468. entered, meaning the system will be sync'ed from an external tape machine. 
  469.  
  470. Selecting MIDI allows an external MIDI device, such as a drum machine, to 
  471. provide the sync.  (Insure that this device is connected to MIDI-IN of the 
  472. MPU-401) Refer to the MPU-401 reference manual for additional information on 
  473. the sync options. 
  474.  
  475. Note:  The MidiLab/2 metronome adjustment is disabled when an external sync 
  476. mode is in effect, since the metronome is under control of an external device. 
  477.  
  478.  
  479. ΓòÉΓòÉΓòÉ 27. Filter ΓòÉΓòÉΓòÉ
  480.  
  481. Permits selective filtering of MIDI control information.  There are four 
  482. settings:  the first three (ALL, NONE, and AFTC) apply to continuous controls 
  483. during recording operations, and the last (PGM) applies to program/voice 
  484. changes during playback.  "Continuous" controls are those MIDI messages such as 
  485. Pitch-bend, Modulation, and Channel after-touch. 
  486.  
  487. When MidiLab/2 is first started, all continuous controls are filtered, or 
  488. disabled (ALL).  Program changes are not  filtered in this state. NONE means 
  489. that nothing is filtered (NONE).  AFTC will allow everything to pass except 
  490. Channel After Touch.  PGM will filter program/voice changes, as well as all 
  491. continuous controls.  ALL will return things to their initial state, i.e., 
  492. everything is filtered except for program changes. 
  493.  
  494. Note:  ALL, NONE, and AFTC apply only to the track being recorded, while PGM 
  495. applies to all tracks being played. 
  496.  
  497.  
  498. ΓòÉΓòÉΓòÉ 28. Play Tracks ΓòÉΓòÉΓòÉ
  499.  
  500. These controls permit switching of the following functions on individual 
  501. tracks: 
  502.  
  503. o Solo 
  504.  
  505.   Allows one or more tracks to be solo'ed during playback 
  506.  
  507. o Activate Track(s) 
  508.  
  509.   Allows which tracks are selected for Playback. 
  510.  
  511. o Enabled Tracks 
  512.  
  513.   The tracks affected by the Transposition, Velocity, and Quantization 
  514.   adjustments during playback are controlled by the Enable/Disable function. 
  515.   You may allow (Enable) any combination of tracks to be affected by these 
  516.   adjustments, and the combination will be saved in the Song Profile. 
  517.  
  518. The ALL buttons for each of the above are used to save time by quickly setting 
  519. all tracks on or off. 
  520.  
  521.  
  522. ΓòÉΓòÉΓòÉ 29. Starting Measure ΓòÉΓòÉΓòÉ
  523.  
  524. You may choose to start the playback process at some point other than the 
  525. beginning of the song.  This is done by specifying the number of the measure at 
  526. which you wish to begin.  The tracks are then positioned to this measure and 
  527. playback proceeds normally. 
  528.  
  529.  
  530. ΓòÉΓòÉΓòÉ 30. Measures to play ΓòÉΓòÉΓòÉ
  531.  
  532. You may choose the number of measures to play. This number is offset from the 
  533. Starting Measure value. Playback will be paused when the specified number of 
  534. measures has been played. 
  535.  
  536. The default value is 9999, the highest possible option. 
  537.  
  538.  
  539. ΓòÉΓòÉΓòÉ 31. Loop Sequence ΓòÉΓòÉΓòÉ
  540.  
  541. The sequence defined by Starting measure and Measures to play will be repeated 
  542. indefinitely if this box is checked. 
  543.  
  544. Note:  If an extremely short sequence is looped, it may be necessary to 
  545. un-check the Loop Sequence control as the only means of stopping Play. 
  546.  
  547. The setting of this option is saved in the initialization file. 
  548.  
  549.  
  550. ΓòÉΓòÉΓòÉ 32. Auxiliary Control Buttons ΓòÉΓòÉΓòÉ
  551.  
  552. These four buttons, along with Sys Reset, are duplicates of the corresponding 
  553. buttons on the MidiLab main window, and are placed here for convenience. 
  554.  
  555.  
  556. ΓòÉΓòÉΓòÉ 33. Utilities - Bulk Dump/Restore ΓòÉΓòÉΓòÉ
  557.  
  558. MidiLab/2 provides for saving and restoring system exclusive data from attached 
  559. MIDI devices.  This information is saved as track data; i.e., up to sixteen 
  560. tracks worth of Sys-ex information can be named, saved, and restored much the 
  561. same as normal song data. 
  562.  
  563. Note:  An individual track must contain either Sys-ex data or MIDI music data; 
  564. however, Sys-ex tracks can co-exist with music tracks in the same file. 
  565.  
  566. Normally, if data is to be transmitted from the MIDI device to MidiLab/2, a 
  567. manual operation must be initiated.  Usually this takes the form of a button, 
  568. on the control panel of the device, which causes a sys-ex transmission to take 
  569. place.  In other words, MidiLab/2 does not automatically solicit sys-ex 
  570. information; it simply is placed in 'listening' mode, and waits for data to 
  571. arrive. 
  572.  
  573. However, it's possible to solicit sys-ex data if the device matches one of 
  574. those in the Dump Request window.  When Receive is pressed, a pre-defined 
  575. request is sent to the MIDI device causing a dump to be automatically sent to 
  576. MidiLab/2.  The Dump Request window should be set to None if no matches exist 
  577. for your personal equipment. 
  578.  
  579. A Send, or Restore, function causes the contents of a selected track to be 
  580. transmitted to MIDI OUT, and will be received by the device from which it was 
  581. originally sent.  It cannot be re-channeled to a different destination. 
  582.  
  583. The MidiLab/2 Sys-ex support is intended to provide a convenient means of 
  584. 'backing up' the information stored in your keyboards, drum machines, etc., and 
  585. as such no editing facilities are provided. 
  586.  
  587.  
  588. ΓòÉΓòÉΓòÉ 34. Secondary Control Panel ΓòÉΓòÉΓòÉ
  589.  
  590. This window contains additional controls, normally used less frequently during 
  591. operation. For details of each control, select from the list below: 
  592.  
  593. o Velocity Adjustment 
  594. o Lead-in Measures 
  595. o Time Base 
  596. o Quantize 
  597. o MPU Command 
  598. o Disable Measure Timing 
  599.  
  600.  
  601. ΓòÉΓòÉΓòÉ 35. Velocity Adjustment ΓòÉΓòÉΓòÉ
  602.  
  603. This adjustment provides for varying the velocity factor associated with all 
  604. notes in a song.  During playback, it effectively increases or decreases the 
  605. force with which a key was originally struck.  During recording, if velocity 
  606. leveling is active, it is used to add or subtract from the base value of 64 to 
  607. force a uniform velocity for all notes. 
  608.  
  609.  
  610. ΓòÉΓòÉΓòÉ 36. Lead-in Measures ΓòÉΓòÉΓòÉ
  611.  
  612. Type in the number of 'lead-in' or 'countoff' measures you wish before 
  613. recording commences.  It can be any number from 0 to 8. 
  614.  
  615.  
  616. ΓòÉΓòÉΓòÉ 37. Time Base ΓòÉΓòÉΓòÉ
  617.  
  618. The MPU time base is set by this function.  The number represents PPQ's (pulses 
  619. per quarter note), and as such determines the resolution of the musical notes 
  620. and other events.  If a song is loaded from another source, which has a time 
  621. base other than that supported by the MPU-IMC, MidiLab/2 will attempt to 
  622. approximate it as best it can. 
  623.  
  624.  
  625. ΓòÉΓòÉΓòÉ 38. Quantize ΓòÉΓòÉΓòÉ
  626.  
  627. The MidiLab/2 quantization function corrects imprecise note timings you may 
  628. play while recording a track.  In other words, if you play a quarter note a 
  629. small amount ahead of or behind the exact beat, the timing can be adjusted to 
  630. force the note to fall exactly on the beat.  Quantization takes place after a 
  631. track is recorded.  It can be employed during playback; in this case the notes 
  632. are quantized "on the fly", and the original track data remains unchanged. The 
  633. Edit 'MODIFY' command provides a means of permanently altering the quantization 
  634. of a track. 
  635.  
  636. You may select several quantize values, each of which represents the fastest 
  637. note you will be playing.  For instance, if quantization is set to 1/8, you can 
  638. play any notes up to and including eighth notes.  If you try to play sixteenth 
  639. notes, they will not be recorded properly.  The available values are 1/4, 1/6, 
  640. 1/8, 1/12, 1/16, 1/24, and 1/32, with the one selected shown highlighted in the 
  641. list. 
  642.  
  643. Use the metronome and play as accurately as possible.  Gross errors in timing 
  644. can not be corrected, and will produce an error message.  Quantization should 
  645. be used with discretion; certain patterns of music tend to sound "mechanical" 
  646. if everything is perfectly timed. 
  647.  
  648.  
  649. ΓòÉΓòÉΓòÉ 39. MPU Command ΓòÉΓòÉΓòÉ
  650.  
  651. This facility provides a means of directly executing MPU-401 commands. It can 
  652. be used to override MidiLab/2 default settings, as well as allowing access to 
  653. features of the MPU not used by MidiLab/2.  Commands and/or data may be entered 
  654. in hexadecimal by prefixing a '$' to the value entered.  Only one data byte may 
  655. be entered per command.  For those commands which receive a data byte ($A0 - 
  656. $AF), the byte is displayed in the Data field. 
  657.  
  658. This facility is provided as a convenience to the technically oriented user. It 
  659. is not necessary for normal MidiLab/2 operation.  Care must be used when 
  660. issuing commands; it is possible to "hang up" the MPU-401 if an improper 
  661. command sequence is issued, necessitating a power off/on at the computer to 
  662. clear the condition. 
  663.  
  664. Refer to the MPU-401 Technical Reference Manual for details of the commands and 
  665. switch settings that are available. 
  666.  
  667.  
  668. ΓòÉΓòÉΓòÉ 40. Disable Measure Timing Check ΓòÉΓòÉΓòÉ
  669.  
  670. Each beat of a measure contains a number of clock pulses equal to the current 
  671. MPU-401 timebase.  Therefore, a song with a time signature of 4/4 and a 
  672. timebase of 120, for example, must contain a total of 480 clock pulses for each 
  673. measure.  This total is verified at the end of each measure during playback for 
  674. each active track.  If an error is detected, a message will appear indicating 
  675. the erroneous timing total. 
  676.  
  677. This check may be disabled by checking this box. 
  678.  
  679.  
  680. ΓòÉΓòÉΓòÉ 41. Set up Record/Overdub ΓòÉΓòÉΓòÉ
  681.  
  682. Recording consists of selecting the Record or Overdub buttons (or by pressing 
  683. the 'R' or 'O' keys, respectively) and selecting one of the 16 tracks.  The 
  684. functions are similar except that during Overdub, all other active tracks will 
  685. play during recording. 
  686.  
  687. Enter the number of measures you want to record, which can be any number from 1 
  688. to 32000.  You may enter 0 (zero) to record in a 'rubato' fashion, with no 
  689. regard to measures, in which case the metronome will not be started. 
  690.  
  691. The tempo window is updated at each measure to provide a dynamic display of 
  692. tempo variations, if any. 
  693.  
  694. Enter the number of times you want the recorded passage to be repeated. Any 
  695. number from 0 to 254 may be used as a repeat count, and a MidiLab/2 
  696. track-transfer order will be automatically appended to the recorded material. 
  697. After the track has been selected, a "standby" will be presented to give you 
  698. time to make final preparations for your take. When ready, select Start 
  699. Recording to begin recording. 
  700.  
  701. If the metronome is running at the time recording is started, MPU-401 
  702. Measure-End marks will be inserted into the track along with the other musical 
  703. information, so that subsequent editing can take place on a measure-by-measure 
  704. basis.  The metronome makes a different sound while recording is in progress, 
  705. as compared with the sound it makes at all other times.  The accent pattern of 
  706. the beats is varied to allow for easier tempo correlation by the performer. 
  707.  
  708. Recording will continue until either the Stop Recording function is invoked or 
  709. the pre-requested number of measures has been recorded.  The recording will 
  710. end, and, if the Monitor is active, the duration in minutes and seconds will be 
  711. noted.  If the metronome was running, recording will stop at the end of the 
  712. current measure, and the metronome will be silenced. 
  713.  
  714. Lead-in/Countoff 
  715.           If the metronome is running at the time recording starts, a countoff 
  716.           takes place before recording actually begins.  The number of lead-in 
  717.           measures can be adjusted from 0 to 8, from the secondary control 
  718.           panel.  It is set at 1 normally.  The metronome will begin a 
  719.           different pattern of accented sounds, to help "feel" the lead-in. 
  720.           Recording begins exactly on the downbeat of the bar following the 
  721.           lead-in. 
  722.  
  723.           "Pick-up" notes played during the countoff are not recorded.  This 
  724.           includes any anticipatory notes which may tie into the first measure. 
  725.           If these notes are desired, it is necessary to use an additional 
  726.           measure, after the countoff, to accommodate them. 
  727.  
  728.           If the metronome is NOT running at the time the Start Record button 
  729.           is pressed, recording begins immediately. 
  730.  
  731. Re-using previous track and option selections 
  732.           Pressing the Re-Take button causes a short-cut to take place and 
  733.           whatever setup you used previously, including the track selection, 
  734.           number of measures to record, and times to repeat will be 
  735.           automatically placed in effect.  This will provide you with a quick 
  736.           restart capability when re-recording a track. 
  737.  
  738. Creating 'shadow notes' 
  739.           The Transposition adjustment, on the main control panel, has a 
  740.           special function when used during recording.  Its use will result in 
  741.           automatically producing a second note for each note that is played. 
  742.           This new note will be displaced from the original by the 
  743.           transposition factor, and the original note will be retained. 
  744.  
  745.           One useful effect of this feature is being able to record octaves 
  746.           while playing only single notes.  In other words, setting the 
  747.           transpose value to +12 will create an extra note one octave higher in 
  748.           addition to the one actually being played.  The velocity value of the 
  749.           shadow note will be the same as the original, including any leveling 
  750.           adjustment.  When the transpose factor is zero, this function is 
  751.           disabled. 
  752.  
  753.           Note:  The track must be enabled by checking the appropriate box on 
  754.           the Main Control Panel. 
  755.  
  756. Input Channel Selection 
  757.           Any or all of the 16 channels may be activated to supply input during 
  758.           recording.  Press the desired checkboxes to select or de-select 
  759.           channels. The ALL button may be used to force all channels on or off. 
  760.  
  761.  
  762. ΓòÉΓòÉΓòÉ 42. Utilities - Send Program Change ΓòÉΓòÉΓòÉ
  763.  
  764. Enter the program or voice number (1 thru 128), select the MIDI channel to 
  765. which it is intended, and then press Send. 
  766.  
  767. Note:  There must be at least one inactive track available in order to perform 
  768. this function. 
  769.  
  770.  
  771. ΓòÉΓòÉΓòÉ 43. Channel Assign ΓòÉΓòÉΓòÉ
  772.  
  773. The MidiLab/2 track to channel assignment facility, invoked by mousing the Ch 
  774. column on the main display, can be applied to a variety of recording 
  775. situations.  When MidiLab/2 is started, all channel assignments are set to 
  776. zero.  This means that no 're-mapping' is done during recording and/or 
  777. playback. 
  778.  
  779. As an example, if track 4 is assigned to channel 12, any information recorded 
  780. on track 4 will be forced (permanently) to channel 12.  During Playback, 
  781. however, regardless on what channel the track was recorded, it can be 
  782. temporarily re-mapped to any other channel you wish, again using the ASSIGN 
  783. control.  Each of the sixteen tracks can be assigned to any of the 16 MIDI 
  784. channels that your equipment can be set up to receive.  Also, more than one 
  785. track can be assigned to the same channel for additional merging capability. 
  786.  
  787. Note:  Meta-event $20 will assign channels automatically if encountered during 
  788. playback. 
  789.  
  790. The assignments are stored in the song profile, and recalled and activated 
  791. whenever a song file is loaded. 
  792.  
  793.  
  794. ΓòÉΓòÉΓòÉ 44. Name Track ΓòÉΓòÉΓòÉ
  795.  
  796. This control, invoked by mousing the track name field on the main display, 
  797. allows you to apply a name of your choice, of up to 16 characters, to each of 
  798. the sixteen tracks.  It performs no internal function, but serves as a helpful 
  799. aid in identifying the track contents as you are composing or recording.  The 
  800. names are saved along with the song and will remain there until the track is 
  801. erased. At this time the name will be set back to "anon."  (anonymous) as it 
  802. was originally. 
  803.  
  804. The track name fields are also set by MIDI Meta-events 3 and 4 if encountered 
  805. during playback. 
  806.  
  807.  
  808. ΓòÉΓòÉΓòÉ 45. Set MPU Trace options ΓòÉΓòÉΓòÉ
  809.  
  810. Data and commands to and from the MPU-401 may be traced during operation. 
  811. Select one or more of the options to provide a trace of the selected activity 
  812. in the Monitor window. Certain lines of the trace are preceded by a special 
  813. symbol to aid in identifying the type of trace. 
  814.  
  815. The options and their symbols, where applicable, are: 
  816.  
  817. Commands () 
  818.           MPU commands issued by MidiLab/2 are displayed as they are executed. 
  819.  
  820. Command ACKs () 
  821.           The acknowledgement of a previously issued command is displayed. 
  822.  
  823. Outgoing data () 
  824.           MIDI data going to the MPU is displayed as a series of MIDI events, 
  825.           consisting of the timing byte and channel information. 
  826.  
  827. Incoming data 
  828.           This checkbox has three states: 
  829.  
  830.     1. Off - No input trace. 
  831.  
  832.     2. Checked () - MIDI data arriving from the MPU is displayed as a series 
  833.        of MIDI events, consisting of the timing byte and channel information. 
  834.  
  835.     3. Filled - The interface to the device driver is monitored. This shows the 
  836.        the number of MIDI bytes delivered, the return code from the DosRead, 
  837.        and the buffer high water mark (HWM) indicating the largest number of 
  838.        data bytes yet delivered per single call. 
  839.  
  840. Command Stacker () 
  841.           If an MPU command cannot be executed immediately because of heavy 
  842.           data traffic, the command is placed on a FIFO stack for sebsequent 
  843.           execution. There is room enough for 30 commands to be stacked. If 
  844.           this is exceeded, an overflow message is issued and MidiLab/2 must be 
  845.           restarted. The high water mark (HWM) of the stack is displayed. 
  846.  
  847. A checkmark appears next to your selection when the selection is active. The 
  848. trace facility may also be invoked when MidiLab/2 is initially started, by 
  849. specifying a command line argument of /T. 
  850.  
  851.  
  852. ΓòÉΓòÉΓòÉ 46. MidiLab/2 Editor ΓòÉΓòÉΓòÉ
  853.  
  854. The MidiLab/2 Track Edit facility is invoked by double-clicking on the Content 
  855. field in the main window. The resultant panel provides all Edit functions for 
  856. the selected track. One or more tracks may be edited simultaneously. 
  857.  
  858. MidiLab/2 provides for extensive manipulation of the recorded track data. These 
  859. facilities can be used for a variety of reasons, including error correction, 
  860. rephrasing song passages, changing notes and/or their duration, looping short 
  861. sequences, and inserting repeat bars. 
  862.  
  863. The MidiLab/2 editor allows you to examine the details of a recorded track of 
  864. MIDI data in real time.  Each event is presented on the screen showing its 
  865. timing data and associated parameters, while, at the same time, it can be heard 
  866. through an audio playback system.  For example, a note-on event shows the 
  867. timing, note, and the velocity with which it was originally played.  Each event 
  868. is presented, step-by-step. 
  869.  
  870. Warning: During edit, it is your responsibility to insure that the MIDI data 
  871. stream remains intact.  It is possible to modify data at any point; however, 
  872. close attention must be paid to event timing bytes to insure against losing any 
  873. quantization, particularly when inserting or appending data.  For this reason, 
  874. it is recommended to use the 'measure-end' events as markers for these 
  875. functions.  Use of the metronome during recording will cause the measure-end 
  876. markers to be inserted into the musical data. 
  877.  
  878. Error conditions 
  879.  
  880. Incorrect editing of the track data may result in an error message during 
  881. Playback or Edit.  When this occurs, information will be presented to you 
  882. indicating the track in error, and the index at which the error was detected. 
  883. If normal Playback was in effect, it will be immediately terminated.  The 
  884. following types of errors are possible: 
  885.  
  886.  1. Event Data Error 
  887.  
  888.     This means an incorrect sequence of MIDI status and/or data has been 
  889.     detected.  MidiLab/2 will attempt to analyze the error and send a correct 
  890.     data byte in place of the faulty one in order to complete the event.  You 
  891.     should save any song data you had been recording, because, in some rare 
  892.     instances, the error may not be recoverable; that is, the MPU-401 may "hang 
  893.     up", necessitating a power off/on at the computer to clear the condition. 
  894.  
  895.  2. Measure Timing Error 
  896.  
  897.     Each beat of a measure contains a number of clock pulses equal to the 
  898.     current MPU-401 timebase.  Therefore, a song with a time signature of 4/4 
  899.     and a timebase of 120, for example, must contain a total of 480 clock 
  900.     pulses for each measure. This total is verified at the end of each measure 
  901.     during playback for all active tracks.  If an error is detected, a message 
  902.     will appear indicating the erroneous timing total. 
  903.  
  904.     This error check may be disabled by a checkbox in the secondary control 
  905.     panel. 
  906.  
  907. For a description of the controls select from the following list: 
  908.  
  909. o Event List 
  910. o Event Spin Buttons 
  911. o Edit Push Buttons 
  912. o Edit Clipboard 
  913. o Play Sequence 
  914.  
  915.  
  916. ΓòÉΓòÉΓòÉ 47. Event List ΓòÉΓòÉΓòÉ
  917.  
  918. The event list box shows each MIDI event in the track, formatted in such a way 
  919. as to represent each component of the event. The index of the event, or its 
  920. displacement into the track, appears as the first column on the left side of 
  921. the event list. The second column (T') represents the delta time associated 
  922. with each event. The remaining information is particular to the type of event. 
  923.  
  924. One or more events can be selected for processing by the Edit controls.  When 
  925. an event is selected, and the Send Event checkbox is checked, the event is 
  926. transmitted, via MIDI, to the channel assigned to the track being edited. Refer 
  927. to Play Sequence for additional information. 
  928.  
  929.  
  930. ΓòÉΓòÉΓòÉ 48. Event Spin Buttons ΓòÉΓòÉΓòÉ
  931.  
  932. The three spin buttons are used to modify specific components of an event. 
  933. Their function takes on different meanings depending on what type of event is 
  934. selected.  Headings appropriate for the selected event appear for each button. 
  935. The values and ranges are set as required. 
  936.  
  937.  
  938. ΓòÉΓòÉΓòÉ 49. Event Push Buttons ΓòÉΓòÉΓòÉ
  939.  
  940. The pushbuttons are used to perform the edit functions. Most of them are 
  941. disabled until one or more events have been selected.  The function of each 
  942. button is described below. 
  943.  
  944. Copy 
  945.           Copys marked item(s) to MidiLab/2 clipboard. 
  946.  
  947. Cut 
  948.           Copys marked item(s) to MidiLab/2 clipboard, and then deletes them 
  949.           from the list. 
  950.  
  951. Delete 
  952.           Deletes all marked items. 
  953.  
  954. Paste 
  955.           Pastes the contents of the clipboard into the track at the point 
  956.           following the current marked item. 
  957.  
  958. Start Block 
  959.           Used to define the start of a block.  After a mark has been selected, 
  960.           the next location marked will define a displacement, either prior to, 
  961.           or after, the original mark.  Useful for marking large sections of 
  962.           track data, when it is too far to drag the mouse. 
  963.  
  964.           Mouse button 2 can also be used for this function. 
  965.  
  966. Mark to End 
  967.           This button provides a fast way to mark a section of track data from 
  968.           the current marked item to the end of the track. 
  969.  
  970. Insert 
  971.           Inserts new track data as selected from the Insert dialog box. See 
  972.           the help information provided there. 
  973.  
  974. Modify 
  975.           Modifies the marked block according to the settings of the transpose, 
  976.           velocity, and quantize adjustments. 
  977.  
  978. Save 
  979.           Saves the current edit data into the track. 
  980.  
  981. Done 
  982.           Exits the editor. 
  983.  
  984. All Notes Off 
  985.           Sends the MIDI message ALL_NOTES_OFF and sends a Release-Sustain to 
  986.           all 16 channels. 
  987.  
  988. Clear Track 
  989.           Clears the entire track to an empty state. 
  990.  
  991.  
  992. ΓòÉΓòÉΓòÉ 50. Edit Clipboard ΓòÉΓòÉΓòÉ
  993.  
  994. The MidiLab/2 clipboard is used to hold selected events for subsequent use in a 
  995. Paste operation. It can be displayed by marking the Show Clipbrd checkbox on 
  996. the Edit panel. Once displayed, it can be removed from view by either selecting 
  997. the Hide Clipboard pushbutton on the clipboard panel itself or by re-marking 
  998. the checkbox on the Edit panel 
  999.  
  1000. The clipboard can be scrolled if the data exceeds the window size. 
  1001.  
  1002.  
  1003. ΓòÉΓòÉΓòÉ 51. Play Sequence ΓòÉΓòÉΓòÉ
  1004.  
  1005. The track being edited can be played by marking a block and then pushing the  
  1006. button.  The block will be played until it ends, or can be stopped by pushing 
  1007. ||. 
  1008.  
  1009. The Move Banner checkbox can be used to display the selection banner as the 
  1010. events in the track progress.  The trade-off is one of performance versus the 
  1011. convenience of being able to locate the events as the track is playing. 
  1012.  
  1013. While the sequence is playing, if the Step-play checkbox is selected, the 
  1014. automatic advance will stop, and you must then press the '+' key to advance to 
  1015. the next event. This facilitates listening closely to the resultant audio, and 
  1016. picking up errors in the recorded MIDI data. 
  1017.  
  1018.  
  1019. ΓòÉΓòÉΓòÉ 52. Edit Insert Functions ΓòÉΓòÉΓòÉ
  1020.  
  1021. This panel provides several means of inserting new data into the track. Data 
  1022. are inserted at the point following the current mark. For a description of the 
  1023. available types select from the following list: 
  1024.  
  1025. o Track Events 
  1026. o Track Orders 
  1027.  
  1028.  
  1029. ΓòÉΓòÉΓòÉ 53. Insert Track Event ΓòÉΓòÉΓòÉ
  1030.  
  1031. Track events are a subset of standard MIDI events which conform to MIDI 
  1032. specifications. 
  1033.  
  1034. Program change 
  1035.           Inserts a MIDI Program Change channel event into the track. 
  1036.  
  1037. Meta Text 
  1038.           Inserts text for a MIDI 1.0 Text or Cue Point meta event. 
  1039.  
  1040. Generic Event 
  1041.           This dialog box may be used to insert any MIDI channel event or MPU 
  1042.           Mark, so long as the basic rules of parameter range are not violated. 
  1043.           It affords the lowest possible level of control; you are responsible 
  1044.           for the exact configuration of each byte in the event. 
  1045.  
  1046. TBA 
  1047.           To Be announced 
  1048.  
  1049.  
  1050. ΓòÉΓòÉΓòÉ 54. Insert Track Order ΓòÉΓòÉΓòÉ
  1051.  
  1052. Track Orders are MidiLab/2 proprietary events which serve to perform special 
  1053. functions in the track. 
  1054.  
  1055. Transfer 
  1056.           Provides a means of looping a section of track data for a desired 
  1057.           number of times. The index of the target event is specified, and must 
  1058.           precede the location of the Transfer. 
  1059.  
  1060. Rest 
  1061.           Inserts a specified number of measures of rest. 
  1062.  
  1063. Initiate 
  1064.           This function allows you to start one or more inactive tracks from a 
  1065.           point in the current track during play. 
  1066.  
  1067. Command 
  1068.           An MPU command, Transpose adjustment, or Velocity adjustment may be 
  1069.           inserted into the track for dynamic control during play. 
  1070.  
  1071.  
  1072. ΓòÉΓòÉΓòÉ 55. Utilities - Remote Control ΓòÉΓòÉΓòÉ
  1073.  
  1074. Selected MidiLab/2 functions can be controlled from a remote MIDI device. The 
  1075. functions of Play, Pause, Re-take, Start-record, and Stop-record can be invoked 
  1076. by any standard MIDI function such as a key, sustain pedal, program-change 
  1077. button, etc. 
  1078.  
  1079. All of the Remote Control functions are located on this panel. Select from the 
  1080. following list for a detailed description of each item: 
  1081.  
  1082. o Functions and Events 
  1083. o Capture 
  1084. o Disable Remote Control 
  1085. o Done/Cancel 
  1086.  
  1087.  
  1088. ΓòÉΓòÉΓòÉ 56. Set Track Size ΓòÉΓòÉΓòÉ
  1089.  
  1090. The track size may be changed to accomodate larger then normal files, or to 
  1091. provide a finer control on storage usage. Enter the number of bytes you want 
  1092. the track to hold.  The range of the number must be from 1000 to 999999. 
  1093.  
  1094. After the change is made, MidiLab/2 must be restarted to allow the new value to 
  1095. be placed in effect. 
  1096.  
  1097.  
  1098. ΓòÉΓòÉΓòÉ 57. Functions and Events ΓòÉΓòÉΓòÉ
  1099.  
  1100. This group of buttons is used to set up a control event for capturing. Select 
  1101. the one you wish to set up and then select Capture. A description of the 
  1102. associated MIDI event is displayed adjacent to the button. 
  1103.  
  1104. Play and Re-take are identical in function to the push buttons in the MidiLab/2 
  1105. main window; however, Pause/Start/Stop serves as a multifunction control. If a 
  1106. song is playing, the normal pause function is invoked. If Record/Overdub 
  1107. standby is in effect, the control will cause the record count-down to begin. 
  1108. Finally, during recording, the control will cancel the record function. 
  1109.  
  1110.  
  1111. ΓòÉΓòÉΓòÉ 58. Capture ΓòÉΓòÉΓòÉ
  1112.  
  1113. To capture an event to be used as a control event, select the radio button 
  1114. corresponding to the desired function and then Press Capture. Then press the 
  1115. key or control button on the MIDI device you wish to use. A description of the 
  1116. captured event will appear adjacent to the selected button. 
  1117.  
  1118. From this point on, whenever the captured MIDI event is received by MidiLab/2, 
  1119. the corresponding MidiLab/2 function will be invoked. (assuming the remote 
  1120. control function is not disabled)  Pressing the button again will cancel the 
  1121. capture operation. 
  1122.  
  1123. Note:  The velocity data byte for a NOTE-ON event is not examined, unless it is 
  1124. a velocity of zero, indicating a note_off. In all other cases, the incoming 
  1125. event must identically match the captured event. 
  1126.  
  1127.  
  1128. ΓòÉΓòÉΓòÉ 59. Disable Remote Control ΓòÉΓòÉΓòÉ
  1129.  
  1130. The Remote Control function is disabled when this box is checked. If MidiLab/2 
  1131. is idle, no incoming data will be accepted. 
  1132.  
  1133.  
  1134. ΓòÉΓòÉΓòÉ 60. Done/Cancel ΓòÉΓòÉΓòÉ
  1135.  
  1136. Select Done/Cancel to exit Remote Control setup. If a capture is pending, it 
  1137. will be cancelled. 
  1138.  
  1139.  
  1140. ΓòÉΓòÉΓòÉ 61. Keys Help ΓòÉΓòÉΓòÉ
  1141.  
  1142. The following keys can be used while the MidiLab/2 main window is in control: 
  1143.  
  1144. o F2 - Toggle MIDI-THRU 
  1145.  
  1146. o F3 - Exit MidiLab/2 
  1147.  
  1148. o F4 - Toggle Monitor window 
  1149.  
  1150. o F5 - Clear and Reset MidiLab/2 
  1151.  
  1152. o F6 - Toggle metronome 
  1153.  
  1154. o F7 - Main Control Panel 
  1155.  
  1156. o F8 - Secondary Control Panel 
  1157.  
  1158. o F9 - File Control Panel 
  1159.  
  1160. o G - Send Program Change 
  1161.  
  1162. o J - Display jumbo measure indicator 
  1163.  
  1164. o O - Overdub 
  1165.  
  1166. o P - Play 
  1167.  
  1168. o B - SysEx bulk data utility 
  1169.  
  1170. o R - Record 
  1171.  
  1172. o S - Save current song 
  1173.  
  1174. o Numeric 1 thru 8 - Invoke Track Edit 
  1175.  
  1176. The following keys can be used while the MidiLab/2 Monitor window is active: 
  1177.  
  1178. o Ctrl C - Clear Monitor window 
  1179.  
  1180. o Ctrl T - Display Trace options 
  1181.  
  1182.  
  1183. ΓòÉΓòÉΓòÉ 62. Disk File Access ΓòÉΓòÉΓòÉ
  1184.  
  1185. MidiLab/2 provides a service to allow access to song files as they are stored 
  1186. on disk.  A scrollable window is presented with a list of all files within a 
  1187. directory which you specify.  A file may be selected for loading, or it may 
  1188. also be erased or renamed.  The window is also called by pressing Function key 
  1189. 9. 
  1190.  
  1191.  
  1192. ΓòÉΓòÉΓòÉ 63. Save new file ΓòÉΓòÉΓòÉ
  1193.  
  1194. This resets the system in preparation for a new song.  All controls and heading 
  1195. are set to their initial state.  It performs the same funtion as the 'Reset' 
  1196. push button on the main window. 
  1197.  
  1198.  
  1199. ΓòÉΓòÉΓòÉ 64. Load or Save song file ΓòÉΓòÉΓòÉ
  1200.  
  1201. Select a file/directory combination first, then double-click on the file you 
  1202. wish to load or save.  Or, type in the file name at the top of the box and 
  1203. select the required button.  Once a file is selected, it may also be saved or 
  1204. erased by selecting the appropriate push buttons. 
  1205.  
  1206.  
  1207. ΓòÉΓòÉΓòÉ 65. Save song on disk ΓòÉΓòÉΓòÉ
  1208.  
  1209. Saves the track data and song profile in a file on disk.  The path preceding 
  1210. the search pattern currently in effect is used to determine where a song file 
  1211. will stored. Any valid file name may be used, up to eight characters.  The 
  1212. extension will be set to ".MID" for standard MIDI files, and ".ML" for native 
  1213. MidiLab/2 format. 
  1214.  
  1215. If a file by the supplied name already exists, you will receive a confirmation 
  1216. prompt.  If you reply affirmative, it is replaced. 
  1217.  
  1218.  
  1219. ΓòÉΓòÉΓòÉ 66. Terminate and Exit ΓòÉΓòÉΓòÉ
  1220.  
  1221. This will exit MidiLab/2, first asking you to confirm the request if there is a 
  1222. possibility of losing any unsaved data. 
  1223.  
  1224.  
  1225. ΓòÉΓòÉΓòÉ 67. Utilities - Monitor Window ΓòÉΓòÉΓòÉ
  1226.  
  1227. The Monitor Window is used to display technical data during program execution. 
  1228. The MPU-401 operations can be traced to aid in problem analysis, and timing of 
  1229. record/playback sequences can be measured. 
  1230.  
  1231.  
  1232. ΓòÉΓòÉΓòÉ 68. Close Monitor Window ΓòÉΓòÉΓòÉ
  1233.  
  1234. The Monitor window is closed. (How about that!) 
  1235.  
  1236.  
  1237. ΓòÉΓòÉΓòÉ 69. MidiLab/2 Controls ΓòÉΓòÉΓòÉ
  1238.  
  1239. These are the control panels for all the switches and MIDI controls. 
  1240.  
  1241.  
  1242. ΓòÉΓòÉΓòÉ 70. Main Controls ΓòÉΓòÉΓòÉ
  1243.  
  1244. All of the main MidiLab/2 control functions are located on this panel. Select 
  1245. the 'Help' button for more information. 
  1246.  
  1247.  
  1248. ΓòÉΓòÉΓòÉ 71. Special control functions ΓòÉΓòÉΓòÉ
  1249.  
  1250. These controls represent specialized functions which are generally used on an 
  1251. exception basis.  Use the HELP pushbutton for detailed information. 
  1252.  
  1253.  
  1254. ΓòÉΓòÉΓòÉ 72. Utilities ΓòÉΓòÉΓòÉ
  1255.  
  1256. This pull-down contains functions which, generally speaking, are not part of 
  1257. the mainstram MIDI processing, but which have utility value in helping you 
  1258. navigate your way thru some of the more basic functions. 
  1259.  
  1260.  
  1261. ΓòÉΓòÉΓòÉ 73. Bulk Dump/Restore ΓòÉΓòÉΓòÉ
  1262.  
  1263. MidiLab System Exclusive data dump and restore functions.  Use the HELP 
  1264. pushbutton for more information. 
  1265.  
  1266.  
  1267. ΓòÉΓòÉΓòÉ 74. Utilities - Toggle Index Display ΓòÉΓòÉΓòÉ
  1268.  
  1269. This switch allows the automatic display of the track indexes during playback 
  1270. operation.  The main reason for having them switchable is because the index 
  1271. display represents a significant processing overhead, and in the case of some 
  1272. note-intensive songs, this could be a detriment to performnce. 
  1273.  
  1274.  
  1275. ΓòÉΓòÉΓòÉ 75. Program Change ΓòÉΓòÉΓòÉ
  1276.  
  1277. Used to send a MIDI program change. Use the dialog HELP pushbutton for more 
  1278. information. 
  1279.  
  1280.  
  1281. ΓòÉΓòÉΓòÉ 76. Remote Control ΓòÉΓòÉΓòÉ
  1282.  
  1283. This function permits MidiLab to be controlled from a remote MIDI device. 
  1284.  
  1285.  
  1286. ΓòÉΓòÉΓòÉ 77. Font selection ΓòÉΓòÉΓòÉ
  1287.  
  1288. Font verbage.... (more to come) 
  1289.  
  1290.  
  1291. ΓòÉΓòÉΓòÉ 78. Utiltities - Jumbo Measures ΓòÉΓòÉΓòÉ
  1292.  
  1293. This switch causes a large measure indicator to be displayed for ease of 
  1294. viewing when working away from the computer. 
  1295.  
  1296.  
  1297. ΓòÉΓòÉΓòÉ 79. Command Line parameters and switches ΓòÉΓòÉΓòÉ
  1298.  
  1299. The following command line parameters can be used when starting MidiLab/2: 
  1300.  
  1301. /M 
  1302.           This switch will cause all files to be saved in MIDI Format 1. 
  1303.  
  1304. /P 
  1305.           A default file directory can be specified with this parameter, in 
  1306.           case the MIDI files are located in a directory other than the default 
  1307.           one. Specify /P=(directory name) 
  1308.  
  1309. /T 
  1310.           This switch will permit the MPU trace to be active at start-up time. 
  1311.  
  1312. /X 
  1313.           This switch will enable the External Control facility at start-up 
  1314.           time. 
  1315.  
  1316. /Z 
  1317.           This switch will force MidiLab/2 to operate in an MPU simulation 
  1318.           mode. 
  1319.  
  1320.  
  1321. ΓòÉΓòÉΓòÉ 80. MIDI Tutorial ΓòÉΓòÉΓòÉ
  1322.  
  1323. This section is provided to give you an understanding of the data stream and 
  1324. MIDI event types you will encounter when working with recorded material.  It is 
  1325. presented in a general fashion without particular reference to MidiLab/2. The 
  1326. term 'command', as used below, can be related to the MidiLab/2 'event'. 
  1327.  
  1328. MIDI (Musical Instrument Digital Interface) data is transmitted by the sending 
  1329. and receiving of eight bits of information.  These eight bits of data are sent 
  1330. together at one time and make up what is called a byte.  Each bit can show one 
  1331. of two possible states, on or off (called 1 or 0).  Eight bits (two raised to 
  1332. the eighth power) yield 256 possible combinations in the same way that normal 
  1333. numerical digits can form 1000 combinations by using the numbers 000 to 999 
  1334. (ten raised to the third power). 
  1335.  
  1336. MIDI commands are usually composed of one, two, or three bytes of data arranged 
  1337. and transmitted one after another.  The first byte sent is called a "status 
  1338. byte" (although the MIDI Spec refers to it as a "status command", in this 
  1339. documentation we'll call it status byte to avoid confusion).  The next one or 
  1340. two bytes, if used, represent the "which" and "how much" parts of the command. 
  1341. A note-on command, for example, is comprised of three bytes, the first of which 
  1342. is the status byte.  This byte tells the synthesizer to play a note and also 
  1343. supplies the channel number.  The second byte in the command tells the receiver 
  1344. which note to play, and the third byte carries the velocity value for the note. 
  1345.  
  1346. Note:  In most cases the MPU-401 prefixes each command with its own timing 
  1347. byte.  This specifies the time quantity associated with the command.  This is 
  1348. not, however, a MIDI specified function. 
  1349.  
  1350. Part of the MIDI structure is a protocol that was put in place to facilitate 
  1351. the writing of software designed to handle MIDI data.  This protocol specifies 
  1352. that the status command byte's "significant" (leftmost) bit is always a 1. In 
  1353. all following data bytes the most significant bit is 0. By following this 
  1354. protocol, the software always knows, if the most significant bit is a 1, that 
  1355. this is a new command for it to begin processing on. Additionally, by decoding 
  1356. the status byte, the software always knows how many data bytes should follow. 
  1357.  
  1358. Being able to discern the difference between status and data bytes makes it 
  1359. possible to utilize a technique called "running status".  Simply stated, once a 
  1360. particular status byte has been received (like "note-on"), the receiving 
  1361. instrument can continue to operate under that command until a different status 
  1362. byte is encountered.  As an example, a burst of notes can be played by sending 
  1363. the first note-on with its status byte, and then followed by pairs of data 
  1364. bytes containing note number and note velocity, without the need to send a new 
  1365. status byte until it's necessary to send a new command, like pitch-bend, etc. 
  1366. When there are many notes being sent, utilizing "running status" can improve 
  1367. the overall speed by about a third of a millisecond per note which makes a 
  1368. significant difference. 
  1369.  
  1370. The note-off command has its own status byte as well.  But needing to send a 
  1371. note-off command while sending many notes would cause running status to be 
  1372. interrupted.  To avoid this, a more efficient way of doing the same thing is to 
  1373. send a special version of the note-off command, a note-on command with a 
  1374. velocity of zero.  This zero-velocity note-on command can be used this way only 
  1375. if the sending synthesizer doesn't also send a release velocity, which uses a 
  1376. separate note-off status byte with its own associated velocity data. Today, 
  1377. however, most synthesizers do not send a release velocity. 
  1378.  
  1379. Using the most significant bit of the MIDI byte as a "status or data" flag, 
  1380. seven bits are left to make up 128 different combinations.  This provides the 
  1381. ability to send note-on commands specifying any of 128 notes with 127 different 
  1382. velocity values (remember, that the value of 0 is used to simulate a note-off.) 
  1383. Having only seven bits remaining to handle pitch-bend (if you were to bend up 
  1384. and down 1 octave, having 128 divisions would allow for 1/5 semitone) would not 
  1385. be sufficient to do a good job.  Thus two data words are used to provide 
  1386. bending control, one for coarse and one for fine control. 
  1387.  
  1388. Just as with data words, each status byte is left with seven "variable" bits, 
  1389. or 128 combinations.  This may seem like more commands than we could ever use, 
  1390. but this isn't really true.  Most MIDI commands belong to a group called 
  1391. channel messages.  These commands are able to direct themselves to any of 16 
  1392. possible device destinations by using four bits to define a channel number. 
  1393. Using four bits to specify the channel and one bit to define the status of a 
  1394. command, we are left with only three bits to spare, or eight combinations. 
  1395.  
  1396. Listed in numerical order, the possible types are:  (1) note-off (128), (2) 
  1397. note-on (144), (3) polyphonic key after-touch (160), (4) controller (176), (5) 
  1398. program change (192), (6) channel after-touch (208), (7) pitch-bend (224), and 
  1399. (8) system. 
  1400.  
  1401. System commands have no channel number attached to them, so there are actually 
  1402. sixteen different non-channel-oriented command combinations to work with.  It 
  1403. is beyond the scope of this tutorial to cover these, but the other seven 
  1404. commands will be covered in some detail. 
  1405.  
  1406. NOTE-OFF COMMAND 
  1407.           The Note-off command is made up of two data bytes.  The first 
  1408.           specifies which MIDI note (numbered from 0 to 127) is to be affected. 
  1409.           Remember that this number is not a frequency, it just refers to a 
  1410.           specific key on the keyboard. For example, the number 60 refers to 
  1411.           Middle C on most five-octave boards.  The second byte is the release 
  1412.           velocity indicating how fast you removed your fingers from the key. 
  1413.           This might be used, for instance, to define the decay rate of each 
  1414.           note played.  Currently, the implementation for this feature is not 
  1415.           common, although it may become less rare in the future. 
  1416.  
  1417. NOTE-ON COMMAND 
  1418.           The note-on command contains one data byte defining the note number. 
  1419.           The second byte, when used, carries the velocity with which each note 
  1420.           is struck. As mentioned before, a note-on command with a velocity 
  1421.           value of 0 is interpreted as a note-off command. 
  1422.  
  1423. POLYPHONIC KEY AFTER-TOUCH 
  1424.           This command is used in keyboards where each key has its own pressure 
  1425.           transducer so that you can hold down a chord and adjust the pressure 
  1426.           applied to each note, which will generate a different response for 
  1427.           each.  Two data bytes are necessary for this command.  The first 
  1428.           defines which key is being pressed.  The second defines the current 
  1429.           pressure value.  In addition to the more sophisticated keyboards 
  1430.           having this feature, some of the new tone-generators also support 
  1431.           polyphonic key after-touch. 
  1432.  
  1433. CONTROLLER 
  1434.           There are two data bytes required for any controller command.  The 
  1435.           first defines which controller is being used, and the second usually 
  1436.           gives a value for the position of that controller.  Sixty-four of the 
  1437.           possible 128 controller numbers handle the standard control devices 
  1438.           like volume pedals, breath controllers, mod wheel, etc.  This 
  1439.           excludes pitch-bend and polyphonic after-touch as they have their own 
  1440.           set of controller codes.  Only 32 different controllers are allowed, 
  1441.           but each can make use of two commands, a "most significant" data byte 
  1442.           (MSB) and a "least significant" data byte (LSB), doubling the 
  1443.           quantity of control numbers allotted for the 32 controllers.  In most 
  1444.           of these commands, the LSB is ignored because the resolution provided 
  1445.           by two bytes isn't necessary.  The common "continuous controllers" 
  1446.           pass their generated value in the MSB. 
  1447.  
  1448.           32 more of the controller numbers are used to indicate on/off 
  1449.           functions, like foot-switches or data entry switches.  A low number 
  1450.           (0) indicates open switch, and a high value (usually 127) shows a 
  1451.           closed switch.  As of this writing, 26 numbers are not defined. 
  1452.  
  1453.           This leaves us with six numbers to send channel mode messages.  These 
  1454.           are used to change the reception mode of the receiving device, for 
  1455.           instance, from mono to omni mode.  The defined controller numbers are 
  1456.           listed below. 
  1457.  
  1458.    o (1)  modulation wheel 
  1459.  
  1460.    o (2)  breath controller 
  1461.  
  1462.    o (4)  foot controller 
  1463.  
  1464.    o (5)  portamento time 
  1465.  
  1466.    o (6)  data entry 
  1467.  
  1468.    o (7)  main volume 
  1469.  
  1470.    o (64)  damper pedal (sustain) 
  1471.  
  1472.    o (65)  portamento on/off 
  1473.  
  1474.    o (66)  sostenuto 
  1475.  
  1476.    o (67)  soft pedal 
  1477.  
  1478.    o (96)  data increment 
  1479.  
  1480.    o (97)  data increment 
  1481.  
  1482. PROGRAM CHANGE 
  1483.           Program Change uses a single data byte to tell the slave device to 
  1484.           which program number to change.  There is some confusion associated 
  1485.           with this command regarding what the numbers really mean.  There are 
  1486.           many MIDI devices that use octal numbers for programming.  (The 
  1487.           digits that are used range from 1 to 8.)  Most of these devices use 
  1488.           program 11 to indicate program change number 1. Octal 11 is commonly 
  1489.           associated at the data byte level with numeric value 0. An octal 88 
  1490.           is shown as program change 64 but the numeric value sent is really 
  1491.           63.  This provides a glimpse into some of the confusions.  With this 
  1492.           exception, the command itself is straightforward. 
  1493.  
  1494.           There is nothing in the specification covering what to do if the 
  1495.           slave device has only 32 patches and receives a program change 50 
  1496.           command. Possibilities include wrapping and starting over, ignoring 
  1497.           the command as invalid, or switching to the external cartridge.  Some 
  1498.           machines use the lower locations for presets and leave the higher 
  1499.           program numbers for the user-programmable areas.  This makes the 
  1500.           user-programmable areas inaccessible to master devices with a limited 
  1501.           range of numbers.  There are, in addition, programmable outboard 
  1502.           signal processing devices with very few MIDI program positions. 
  1503.           Determining an efficient way to coordinate all of these 
  1504.           inconsistencies is the difficulty. 
  1505.  
  1506. CHANNEL AFTER-TOUCH 
  1507.           This is the common type of after-touch command.  Using a single data 
  1508.           byte, this command specifies one overall value that defines the 
  1509.           pressure applied to the keyboard.  It is sent out on the channel to 
  1510.           which the keyboard is currently assigned and is capable of defining 
  1511.           this value at any given time. Precise results to this command are 
  1512.           dependent on the synthesizer receiving the command and its 
  1513.           capabilities, as well as the current patch.  Over-all volume, 
  1514.           brightness, modulation level, LFO speed or other parameters may all 
  1515.           be controlled by channel after-touch. 
  1516.  
  1517. PITCH-BEND 
  1518.           Pitch-bend has its own command because of the frequency with which 
  1519.           its used.  It is distinct from the controller groups.  This command 
  1520.           uses two data byes, the first is the LSB and the second is the MSB. 
  1521.           This provides 14 bits of resolution for pitch changes.  A normal 
  1522.           controller command would require six bytes to handle this level of 
  1523.           resolution (a most significant byte controller command and a least 
  1524.           significant byte controller command, each three bytes long).  Using a 
  1525.           great deal of pitch wheel motion would take up much of the MIDI 
  1526.           cable's transmission ability (the amount of data it is capable of 
  1527.           sending each second).  Most synthesizers do not take advantage of 
  1528.           this level of resolution but instead send the number 0 for the LSB. 
  1529.           This then provides for 128 steps of bend.  Remember that these 
  1530.           increments cover about 1/5 semitone if you bend up or down a full 
  1531.           octave.  This is not acceptable for very slow pitch transitions, but 
  1532.           for most bending is satisfactory.  The increments are much smaller if 
  1533.           the range is up or down a third.  This, however, makes it hard to 
  1534.           hear the discrete steps. 
  1535.