home *** CD-ROM | disk | FTP | other *** search
/ World of OS/2 / W_OS_2.BIN / MLABPM.HLP (.txt) < prev    next >
OS/2 Help File  |  1993-04-16  |  55KB  |  1,414 lines

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