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