home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: Multimed
/
Multimed.zip
/
mlabv303.zip
/
mlabpm.HLP
(
.txt
)
< prev
next >
Wrap
OS/2 Help File
|
1995-11-21
|
58KB
|
1,513 lines
ΓòÉΓòÉΓòÉ 1. MidiLab/2 ΓòÉΓòÉΓòÉ
MidiLab/2 is a sixteen-track MIDI data manager with built-in edit and file
management capabilities for use in recording, editing, and playing a musical
performance with MIDI compatible equipment.
MidiLab/2 features four primary functions: Record, Overdub, Playback, and Track
Edit. These, and the other supporting functions, are selected from the main
window controls.
MidiLab/2 supports the basic functions of the MIDI 1.0 File Specification, with
a few exceptions noted in the MIDI File Format section. There are no special
hardware nor software requirements other than a Roland MPU-401/IMC/IPF MIDI
Processing Unit (or compatible equivalent), and the appropriate MIDI sound
equipment. MidiLab/2 runs under OS/2 Version 2.0 or later.
While a musician unfamiliar with computers should be able to quite easily use
MidiLab/2 as a multi-track recorder, its full capability cannot be realized
without a reasonable knowledge of MIDI concepts and terminology, as well as a
basic knowledge of general computer operation. The reader is assumed to have
some familiarity with MIDI-compatible equipment, and to have made at least a
perfunctory scan of the MPU-401 reference information to be aware of its role
in a MidiLab/2-based music system.
For details of the MidiLab/2 main window, select from the list below:
Track List
Play
FastFwd
Pause
Record
Overdub
Re-Take
Notes-Off
Sys Reset
Beat, Tempo, and Measure windows
Track Editor
For basic MIDI concepts select:
- MIDI Tutorial
ΓòÉΓòÉΓòÉ 2. Track List ΓòÉΓòÉΓòÉ
This main part of the display shows information related to the status of the
sixteen tracks. The data represents track size, current content, channel
assignment, index value, and name. The File Name is presented in the window
title. The file name will remain anonymous (untitled) until you assign one
during a Save operation.
Size
This column shows the size (capacity) of each track. This size is
stored in MLABPM.INI and can be changed by double-clicking on the
size field you wish to modify. Note that once it is modified,
MidiLab/2 must be restarted in order for the change to take effect.
Content
This column shows the current contents of each track, in bytes. At
a minimum, each track will contain the MPU end-of-track mark (252)
preceded by a timing byte, so its content will always be at least 2.
Double-clicking this field will invoke the Track Edit facility.
Ch (Track-to-Channel Assignment)
The MIDI channel to which each track is assigned, is displayed in
this column. At start-up time, each track is assigned a default
channel number of '0'.
Double-clicking this field will provide the means to assign a
channel.
Index
This column displays the sixteen track index counters. These
counters are used internally to control the positioning within each
track, and externally to provide you a real-time view of track
activity, to monitor the playback and record activity. This can be
especially useful in determining how much track space remains during
recording, or, while play is in progress, to assist in locating an
area of a track for editing. Keep in mind that this column
represents the value of the index counters, and not the contents of
the tracks.
Double-clicking this field will allow you to completely erase the
track.
Name
This column is provides space for assigning your own titles or names
to each track. You may enter up to 16 characters per each name.
These fields are also set by MIDI Meta-events 3 and 4 if they are
encountered during playback or file load.
Double-clicking a field will provide the means to name a track.
ΓòÉΓòÉΓòÉ 3. Beat, Tempo, and Measure windows ΓòÉΓòÉΓòÉ
During record and play, the beat count is displayed, with the first beat of a
measure highlighted. Additionally, a visual metronome is displayed to help you
keep track of the tempo.
The measure counter tells you which measure you are in as you record or
playback.
ΓòÉΓòÉΓòÉ 4. Play Pushbutton ΓòÉΓòÉΓòÉ
Normal playback is initiated by pressing the Play pushbutton. Any combination
of the sixteen tracks can be played, whether or not they contain any data.
Playback completes normally when all selected tracks reach their end-of-track
marker.
When MidiLab is first started, all sixteen tracks are automatically selected
for playback. All or any combination of the sixteen tracks may be subsequently
selected from the main control panel. Your selection will be remembered and
indicated, by highlighting, on the main display until you change it again.
The tempo is initially set according to the song profile when a song is loaded
from disk, and can be subsequently changed during playback from the main
control panel. The transposition and velocity adjustments may also be set or
reset in the same way.
Interrupting and resuming playback
Whenever the || Pause pushbutton (or right mouse button) is pressed
during playback, a pause function takes place and playback is
suspended. If Pause is pressed again, playback will resume from the
point of interruption.
The duration of playback, in minutes and seconds, including any time
spent in 'pause', may be displayed at normal completion in the
Monitor window.
Starting playback at a selected point in the song
You may choose to start the playback process at some point other
than the beginning of the song. This is done by specifying the
number of the measure at which you wish to begin. The tracks are
then positioned to this measure and playback proceeds normally.
Specify this number on the main control panel.
Note: The Play and Pause buttons are duplicated on the MidiLab/2 main control
panel.
ΓòÉΓòÉΓòÉ 5. FastFwd Push Button ΓòÉΓòÉΓòÉ
This button is used to rapidly advance through the song file, measure by
measure, as long as the button is held down. When the button is released,
playback will start (or resume) at the currently positioned measure.
The measure indicator is updated as fast-forwarding is in progress.
ΓòÉΓòÉΓòÉ 6. Pause Pushbutton ΓòÉΓòÉΓòÉ
Used to interrupt playback. If pressed again, playback will resume at the point
of interruption.
Note: This button function is duplicated on the MidiLab/2 main control panel.
ΓòÉΓòÉΓòÉ 7. Re-Take Pushbutton ΓòÉΓòÉΓòÉ
This button facilitates previous track and option selections. When it is
pushed, a short-cut takes place and whatever Record/Overdub setup you used
previously, including the track selection, number of measures to record, and
times to repeat will be automatically placed in effect. This will provide you
with a quick restart capability when re-recording a track.
Note: This button function is duplicated on the MidiLab/2 main control panel.
ΓòÉΓòÉΓòÉ 8. Notes-Off Pushbutton ΓòÉΓòÉΓòÉ
This button is available if one or more notes or other MIDI events become
"stuck" during play or edit operation. The most common example of this is when
a Note-On event is issued without a corresponding Note-Off. In addition to
issuing the MIDI "ALL NOTES OFF" command, it also issues a sustain-release to
all channels in case a sustain-down is inadvertently left active.
Note: This button function is duplicated on the MidiLab/2 main control panel.
ΓòÉΓòÉΓòÉ 9. Sys Reset Pushbutton ΓòÉΓòÉΓòÉ
This button will cause a general reset to the entire MidiLab/2 system, and
return it to the same state as when it was initially loaded. The only settings
that are unaffected are the MIDI Format, MIDI-Thru, External Control, and
8th-Note Click.
Note: This button function is duplicated on the MidiLab/2 main control panel.
ΓòÉΓòÉΓòÉ 10. Product Information ΓòÉΓòÉΓòÉ
This panel shows general information about MidiLab/2.
ΓòÉΓòÉΓòÉ 11. File Manager ΓòÉΓòÉΓòÉ
All song files are loaded and saved using the controls on this panel. Select a
directory and then a file from within that directory. All files in the
selected directory will be displayed, whether or not they contain MIDI data.
Double-click on the file to load it. For a detailed description of each
control, select from the following list:
Load
Save
Delete
MIDI File Format
Track Text Display
ΓòÉΓòÉΓòÉ 12. Load song file ΓòÉΓòÉΓòÉ
Load a file by first selecting one and then pushing this button, or
double-click on a file in the file window.
ΓòÉΓòÉΓòÉ 13. Save song file ΓòÉΓòÉΓòÉ
Select a file in the file window, then press this button to save it. If the
file exists, you will be prompted to overlay it or abandon the task.
ΓòÉΓòÉΓòÉ 14. Delete song file ΓòÉΓòÉΓòÉ
Select a file in the file window, then press this button to delete it. You will
be prompted to confirm the delete or to abandon the task.
ΓòÉΓòÉΓòÉ 15. Save as MIDI format 1 ΓòÉΓòÉΓòÉ
By default, files will be saved in the MidiLab/2 native file format. However,
they can also be saved in standard MIDI format by checking this box.
MidiLab/2 conforms to the Standard MIDI Files 1.0 Format 1 specification dated
July 1988. It will read 1.0 files produced on different systems, but may not
necessarily support all defined features which may be present.
A file can be loaded from either format, and stored in the opposite format
without any loss of function (see File Compatibility below). The native format
is more efficient and should be used during development of a song, prior to
exporting it as a standard file.
The following features of the 1.0 Specification are supported and will be
handled as described.
Track format 1
Format 1 supports a maximum of sixteen tracks, plus one containing tempo
and time signature data. Additional ones are ignored.
Supported Meta-events
- X'01' - General text
- X'03' - Sequence/Track name
- X'04' - Instrument name
- X'05' - Lyric text
- X'06' - Marker text
- X'07' - Cue Point
- X'20' - MIDI Channel prefix
- X'2F' - End-of-Track
This event only exists on disk files. It is stripped off when the
file is loaded and replaced with the MPU-401 End-of-Track message
($FC); it is added to the end of each of the sixteen tracks when the
file is saved.
- X'51' - Set Tempo
- X'58' - Time Signature (only the numerator portion)
- X'7F' - MidiLab/2-Specific
The MidiLab/2 track orders are implemented as sequencer-specific
meta-events.
The first 16 characters of Sequence/Track name and Instrument name
will be placed in the associated MidiLab/2 track name window. When
a file is loaded, track 1 is pre-scanned for any meta events so as
to set tempos, etc. on initial load. Meta-events occurring in
other tracks are processed as they are played.
MidiLab/2 uses two types of file extensions to indicate how the the file was
stored:
filename.ML - Native MidiLab/2 format
filename.MID - MIDI 1.0 format
ΓòÉΓòÉΓòÉ 16. Display track text during Load ΓòÉΓòÉΓòÉ
When a song file is loaded, and this box is checked, any text meta-events
embedded in the tracks will be displayed as they are encountered, as an aid to
understanding the nature of the file.
These include such defined Meta-Events as Cue points, Markers, Lryics, etc.
These are normally ignored to speed up the loading and playing process.
ΓòÉΓòÉΓòÉ 17. Main Control Panel ΓòÉΓòÉΓòÉ
All of the main MidiLab/2 control functions are located on this panel. Select
from the following list for a detailed description of each control:
External Control
Velocity Leveling
Metronome
Eighth-note click
Time Base
Quantize
Meter
Velocity Adjustment
Transpose
Tempo
Sync Source
Filter
Play Tracks
Starting Measure
Measures to play
Loop Sequence
Auxiliary Control Buttons
ΓòÉΓòÉΓòÉ 18. Velocity Leveling ΓòÉΓòÉΓòÉ
This command toggles the Velocity Leveling function. Velocity leveling is the
"smoothing out" of the note-on velocity in a musical sequence.
During recording:
If Velocity Leveling is active, the velocity value for all notes is
forced, or leveled, to a uniform value. This leveled value is equal to
64 plus or minus the velocity adjustment setting. For example, if the
velocity adjustment is set to -1, the resultant velocity for every note
will be 63.
During playback:
Velocity Leveling can be used to force a uniform velocity even though the
track was recorded with varying velocity. As in recording operations,
the velocity adjustment facility can be used to add or subtract from the
base value of 64. The original track data is unchanged. If a permanent
change is required, the EDIT 'Modify' command can be used. Note that only
those tracks that are ENABLED are affected.
ΓòÉΓòÉΓòÉ 19. External Control ΓòÉΓòÉΓòÉ
MidiLab/2 can control, or be controlled by, external devices (such as drum
machines) which transmit and/or receive the MIDI real-time messages START,
STOP, and CONTINUE. The chart below shows the real-time messages generated by
the applicable MidiLab/2 functions, while the next chart describes the actions
taken by MidiLab/2 in response to receiving them.
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé ΓöéStart ΓöéStop ΓöéContinue Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéStart ΓöéX Γöé Γöé Γöé
ΓöéRcrd/Ovdb Γöé Γöé Γöé Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéStop Γöé ΓöéX Γöé Γöé
ΓöéRcrd/Ovdb Γöé Γöé Γöé Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéStart Play ΓöéX Γöé Γöé Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéPause Play Γöé ΓöéX Γöé Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéResume Play Γöé Γöé ΓöéX Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéPlay Done Γöé ΓöéX Γöé Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé ΓöéStart ΓöéStop ΓöéContinue Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéStandby ΓöéStart Rcrd/OdubΓöé ΓöéStart Rcrd/OvdbΓöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéRolling Γöé ΓöéStop Rcrd/Ovdb ΓöéStop Rcrd/Ovdb Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéIdle ΓöéStart Play Γöé Γöé Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéPlaying Γöé ΓöéStop Play Γöé Γöé
Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
ΓöéPause ΓöéStart Play Γöé ΓöéContinue Play Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
The real-time facility is switched on and off by the External Control checkbox.
This is a three-stage control; when MidiLab/2 is first started, it is normally
in stage one, meaning no external control is active. Checking the control
advances it to stage two. This second stage permits external devices to be
started and stopped according to the above tables. (an argument (/X) can be
passed to MidiLab/2 at start-up time to force stage two to become active.) The
setting of the external control (on/off) is stored in the song profile.
MidiLab/2 also provides capability to synchronize itself with an external
clock. The third stage of the checkbox control is used for this option. The
MIDI Song Position Pointer message is sent when playback is started at a point
beyond the beginning of a song, to allow other devices to set themselves to the
corresponding point. MidiLab/2 also responds to incoming Song Position
Pointers from other sources.
ΓòÉΓòÉΓòÉ 20. Metronome ΓòÉΓòÉΓòÉ
The MPU audible metronome is turned on or off by this control.
ΓòÉΓòÉΓòÉ 21. Eighth-note click ΓòÉΓòÉΓòÉ
The metronome is toggled between sounding quarter or eighth notes. Internal
timing values, including the track data timing bytes, are not affected.
ΓòÉΓòÉΓòÉ 22. Time Base ΓòÉΓòÉΓòÉ
The MPU time base is set by this function. The number represents PPQ's (pulses
per quarter note), and as such determines the resolution of the musical notes
and other events. If a song is loaded from another source, which has a time
base other than that supported by the MPU-IMC, MidiLab/2 will attempt to
approximate it as best it can.
ΓòÉΓòÉΓòÉ 23. Quantize ΓòÉΓòÉΓòÉ
The MidiLab/2 quantization function corrects imprecise note timings you may
play while recording a track. In other words, if you play a quarter note a
small amount ahead of or behind the exact beat, the timing can be adjusted to
force the note to fall exactly on the beat. Quantization takes place after a
track is recorded. It can be employed during playback; in this case the notes
are quantized "on the fly", and the original track data remains unchanged. The
Edit 'MODIFY' command provides a means of permanently altering the quantization
of a track.
You may select several quantize values, each of which represents the fastest
note you will be playing. For instance, if quantization is set to 1/8, you can
play any notes up to and including eighth notes. If you try to play sixteenth
notes, they will not be recorded properly. The available values are 1/4, 1/6,
1/8, 1/12, 1/16, 1/24, and 1/32, with the one selected shown highlighted in the
list.
Use the metronome and play as accurately as possible. Gross errors in timing
can not be corrected, and will produce an error message. Quantization should
be used with discretion; certain patterns of music tend to sound "mechanical"
if everything is perfectly timed.
ΓòÉΓòÉΓòÉ 24. Meter ΓòÉΓòÉΓòÉ
This control sets the time signature as number of beats per quarter note.
ΓòÉΓòÉΓòÉ 25. Velocity Adjustment ΓòÉΓòÉΓòÉ
This adjustment provides for varying the velocity factor associated with all
notes in a song. During playback, it effectively increases or decreases the
force with which a key was originally struck. During recording, if velocity
leveling is active, it is used to add or subtract from the base value of 64 to
force a uniform velocity for all notes.
ΓòÉΓòÉΓòÉ 26. Transpose ΓòÉΓòÉΓòÉ
This is a numeric value which in effect transposes the key of the song during
playback. As an example, if a song were in the key of C, a transposition value
of -2 would take it down two half-steps to the key of B-flat. See the section
on recording operations for special use of this facility.
ΓòÉΓòÉΓòÉ 27. Tempo ΓòÉΓòÉΓòÉ
The tempo can be changed during playback or recording and will be set according
to the song profile if a song is loaded from disk. The transposition and
velocity adjustments may also be set or reset in the same way.
ΓòÉΓòÉΓòÉ 28. Sync Source ΓòÉΓòÉΓòÉ
These radio buttons are used to select the synchronization source. When
MidiLab/2 is first started, the Internal sync mode is in effect. This means
the computer is the master controller for the system.
When the Tape button is selected, FSK (Frequency Shifted Key) sync mode is
entered, meaning the system will be sync'ed from an external tape machine.
Selecting MIDI allows an external MIDI device, such as a drum machine, to
provide the sync. (Insure that this device is connected to your MIDI-IN port)
Note: The MidiLab/2 metronome adjustment is disabled when an external sync
mode is in effect, since the metronome is under control of an external device.
ΓòÉΓòÉΓòÉ 29. Filter ΓòÉΓòÉΓòÉ
Permits selective filtering of MIDI control information. There are three
settings: the first two (ALL and NONE) apply to continuous controls during
recording operations, and the last (PGM) applies to program/voice changes
during playback. "Continuous" controls are those MIDI messages such as
Pitch-bend, Modulation, and Channel after-touch.
When MidiLab/2 is first started, all continuous controls are filtered, or
disabled (ALL). Program changes are not filtered in this state. NONE means
that nothing is filtered (NONE). PGM will filter program/voice changes, as well
as all continuous controls. ALL will return things to their initial state,
i.e., everything is filtered except for program changes.
Note: ALL and NONE apply only to the track being recorded, while PGM applies
to all tracks being played.
ΓòÉΓòÉΓòÉ 30. Play Tracks ΓòÉΓòÉΓòÉ
These controls permit switching of the following functions on individual
tracks:
Solo
Allows one or more tracks to be solo'ed during playback. A Mute can be
achieved by checking all solo boxes with the ALL button, then un-checking
the individual track or tracks you wish to mute.
Activate Track(s)
Allows which tracks are selected for Playback.
Enabled Tracks
The tracks affected by the Transposition, Velocity, and Quantization
adjustments during playback are controlled by the Enable/Disable
function. You may allow (Enable) any combination of tracks to be
affected by these adjustments, and the combination will be saved in the
Song Profile.
The ALL buttons for each of the above are used to save time by quickly setting
all tracks on or off.
ΓòÉΓòÉΓòÉ 31. Starting Measure ΓòÉΓòÉΓòÉ
You may choose to start the playback process at some point other than the
beginning of the song. This is done by specifying the number of the measure at
which you wish to begin. The tracks are then positioned to this measure and
playback proceeds normally.
ΓòÉΓòÉΓòÉ 32. Measures to play ΓòÉΓòÉΓòÉ
You may choose the number of measures to play. This number is offset from the
Starting Measure value. Playback will be paused when the specified number of
measures has been played.
The default value is 9999, the highest possible option.
ΓòÉΓòÉΓòÉ 33. Loop Sequence ΓòÉΓòÉΓòÉ
The sequence defined by Starting measure and Measures to play will be repeated
indefinitely if this box is checked.
Note: If an extremely short sequence is looped, it may be necessary to
un-check the Loop Sequence control as the only means of stopping Play.
The setting of this option is saved in the initialization file.
ΓòÉΓòÉΓòÉ 34. Auxiliary Control Buttons ΓòÉΓòÉΓòÉ
These four buttons, along with Sys Reset, are duplicates of the corresponding
buttons on the MidiLab main window, and are placed here for convenience.
ΓòÉΓòÉΓòÉ 35. Utilities - Bulk Dump/Restore ΓòÉΓòÉΓòÉ
MidiLab/2 provides for saving and restoring system exclusive data from attached
MIDI devices. This information is saved as track data; i.e., up to sixteen
tracks worth of SysEx information can be named, saved, and restored much the
same as normal song data.
Note: An individual track must contain either SysEx data or MIDI music data;
however, SysEx tracks can co-exist with music tracks in the same file.
Normally, if data is to be transmitted from the MIDI device to MidiLab/2, a
manual operation must be initiated. Usually this takes the form of a button,
on the control panel of the device, which causes a SysEx transmission to take
place. In other words, MidiLab/2 does not automatically solicit SysEx
information; it simply is placed in 'listening' mode, and waits for data to
arrive.
However, it's possible to solicit SysEx data if the device matches one of those
in the Dump Request window. When Receive is pressed, a pre-defined request is
sent to the MIDI device causing a dump to be automatically sent to MidiLab/2.
The Dump Request window should be set to None if no matches exist for your
personal equipment.
A Send, or Restore, function causes the contents of a selected track to be
transmitted to MIDI OUT, and will be received by the device from which it was
originally sent. It cannot be re-channeled to a different destination.
The MidiLab/2 SysEx support is intended to provide a convenient means of
'backing up' the information stored in your keyboards, drum machines, etc., and
as such no editing facilities are provided.
ΓòÉΓòÉΓòÉ 36. User Preferences ΓòÉΓòÉΓòÉ
This window contains user preference settings. For details of each control,
select from the list below:
Fonts
Colors
MIDI-Thru
Disable Measure Timing
Lead-in Measures
Metronome Click settings
ΓòÉΓòÉΓòÉ 37. MIDI-THRU ΓòÉΓòÉΓòÉ
The MIDI-THRU function is enabled, and the MIDI message 'OMNI MODE ON' is sent
to all channels. MIDI-THRU allows any data appearing at the system's MIDI-IN
port to be passed directly to its MIDI-OUT port.
OMNI mode may be useful in allowing you to play several MIDI devices with the
same track information without having to re-assign channels.
Note: Not all devices respond to OMNI mode messages. Check the owner's manual
for your specific equipment.
ΓòÉΓòÉΓòÉ 38. Lead-in Measures ΓòÉΓòÉΓòÉ
Type in the number of 'lead-in' or 'countoff' measures you wish before
recording commences. It can be any number from 0 to 8.
ΓòÉΓòÉΓòÉ 39. Disable Measure Timing Check ΓòÉΓòÉΓòÉ
Each beat of a measure contains a number of clock pulses equal to the current
timebase. Therefore, a song with a time signature of 4/4 and a timebase of
120, for example, must contain a total of 480 clock pulses for each measure.
This total is verified at the end of each measure during playback for each
active track. If an error is detected, a message will appear indicating the
erroneous timing total.
This check may be disabled by checking this box.
ΓòÉΓòÉΓòÉ 40. Colors ΓòÉΓòÉΓòÉ
Color verbage.... (more to come)
ΓòÉΓòÉΓòÉ 41. Fonts ΓòÉΓòÉΓòÉ
Font verbage.... (more to come)
ΓòÉΓòÉΓòÉ 42. Metronome Click Settings ΓòÉΓòÉΓòÉ
The audible metronome clicks can be selected to come from the Internal speaker,
or be directed to a MIDI device such as a drum machine. The Duration of the
click in milliseconds (1-250) can be selected.
Selecting MIDI will enable you to further select a specific MIDI note and its
associated channel.
ΓòÉΓòÉΓòÉ 43. Set up Record/Overdub ΓòÉΓòÉΓòÉ
Recording consists of selecting the Record or Overdub buttons (or by pressing
the 'R' or 'O' keys, respectively) and selecting one of the 16 tracks. The
functions are similar except that during Overdub, all other active tracks will
play during recording.
Enter the number of measures you want to record, which can be any number from 1
to 9999.
The tempo window is updated at each measure to provide a dynamic display of
tempo variations, if any.
Enter the number of times you want the recorded passage to be repeated. Any
number from 0 to 254 may be used as a repeat count, and a MidiLab/2
track-transfer order will be automatically appended to the recorded material.
After the track has been selected, a "standby" will be presented to give you
time to make final preparations for your take. When ready, select Start
Recording to begin recording.
During recording, Measure-End marks are inserted into the track along with the
other musical information, so that subsequent editing can take place on a
measure-by-measure basis. The metronome makes a different sound while
recording is in progress, as compared with the sound it makes at all other
times. The accent pattern of the beats is varied to allow for easier tempo
correlation by the performer.
Recording will continue until either the Stop Recording function is invoked or
the pre-requested number of measures has been recorded. The recording will
end, and, if the Monitor is active, the duration in minutes and seconds will be
noted. If the metronome was running, recording will stop at the end of the
current measure, and the metronome will be silenced.
Lead-in/Countoff
If the metronome is running at the time recording starts, a countoff
takes place before recording actually begins. The number of lead-in
measures can be adjusted from 0 to 8, from the secondary control
panel. It is set at 1 normally. The metronome will begin a
different pattern of accented sounds, to help "feel" the lead-in.
Recording begins exactly on the downbeat of the bar following the
lead-in.
"Pick-up" notes played during the countoff are not recorded. This
includes any anticipatory notes which may tie into the first
measure. If these notes are desired, it is necessary to use an
additional measure, after the countoff, to accommodate them.
If the metronome is NOT running at the time the Start Record button
is pressed, recording begins immediately.
Re-using previous track and option selections
Pressing the Re-Take button causes a short-cut to take place and
whatever setup you used previously, including the track selection,
number of measures to record, and times to repeat will be
automatically placed in effect. This will provide you with a quick
restart capability when re-recording a track.
Creating 'shadow notes'
The Transposition adjustment, on the main control panel, has a
special function when used during recording. Its use will result in
automatically producing a second note for each note that is played.
This new note will be displaced from the original by the
transposition factor, and the original note will be retained.
One useful effect of this feature is being able to record octaves
while playing only single notes. In other words, setting the
transpose value to +12 will create an extra note one octave higher
in addition to the one actually being played. The velocity value of
the shadow note will be the same as the original, including any
leveling adjustment. When the transpose factor is zero, this
function is disabled.
Note: The track must be enabled by checking the appropriate box on
the Main Control Panel.
Input Channel Selection
Any or all of the 16 channels may be activated to supply input
during recording. Press the desired checkboxes to select or
de-select channels. The ALL button may be used to force all channels
on or off.
ΓòÉΓòÉΓòÉ 44. Utilities - Send Program Change ΓòÉΓòÉΓòÉ
Enter the program or voice number (1 thru 128), select the MIDI channel to
which it is intended, and then press Send.
ΓòÉΓòÉΓòÉ 45. Channel Assign ΓòÉΓòÉΓòÉ
The MidiLab/2 track to channel assignment facility, invoked by mousing the Ch
column on the main display, can be applied to a variety of recording
situations. When MidiLab/2 is started, all channel assignments are set to
zero. This means that no 're-mapping' is done during recording and/or
playback.
As an example, if track 4 is assigned to channel 12, any information recorded
on track 4 will be forced (permanently) to channel 12. During Playback,
however, regardless on what channel the track was recorded, it can be
temporarily re-mapped to any other channel you wish, again using the ASSIGN
control. Each of the sixteen tracks can be assigned to any of the 16 MIDI
channels that your equipment can be set up to receive. Also, more than one
track can be assigned to the same channel for additional merging capability.
Note: Meta-event $20 will assign channels automatically if encountered during
playback.
The assignments are stored in the song profile, and recalled and activated
whenever a song file is loaded.
ΓòÉΓòÉΓòÉ 46. Name Track ΓòÉΓòÉΓòÉ
This control, invoked by mousing the track name field on the main display,
allows you to apply a name of your choice, of up to 16 characters, to each of
the sixteen tracks. It performs no internal function, but serves as a helpful
aid in identifying the track contents as you are composing or recording. The
names are saved along with the song and will remain there until the track is
erased.
The track name fields are also set by MIDI Meta-events 3 and 4 if encountered
during playback.
ΓòÉΓòÉΓòÉ 47. Set MPU Trace options ΓòÉΓòÉΓòÉ
Data and commands to and from the MIDI interface may be traced during
operation. Select one or more of the options to provide a trace of the
selected activity. Certain lines of the trace are preceded by a special symbol
to aid in identifying the type of trace.
The options and their symbols, where applicable, are:
Commands ()
MPU commands issued by MidiLab/2 are displayed as they are executed.
Command ACKs and Delta Time ()
The acknowledgement of a previously issued command is displayed.
Outgoing data ()
MIDI data going to the MPU is displayed as a series of MIDI events,
consisting of the timing byte and channel information.
Incoming data
This checkbox has three states:
1. Off - No input trace.
2. Checked () - MIDI data arriving from the MPU is displayed as a
series of MIDI events, consisting of the timing byte and
channel information.
3. Filled - The interface to the device driver is monitored. This
shows the the number of MIDI bytes delivered, the return code
from the DosRead, and the buffer high water mark (HWM)
indicating the largest number of data bytes yet delivered per
single call.
Clock pulses ()
The timing clock pulses used to synchrnize Play/Record functions are
displayed during operation. This trace is used primarily for test
and debug functions.
A checkmark appears next to your selection when the selection is active.
ΓòÉΓòÉΓòÉ 48. MidiLab/2 Editor ΓòÉΓòÉΓòÉ
The MidiLab/2 Track Edit facility is invoked by double-clicking on the Content
field in the main window. The resultant panel provides all Edit functions for
the selected track. One or more tracks may be edited simultaneously.
MidiLab/2 provides for extensive manipulation of the recorded track data. These
facilities can be used for a variety of reasons, including error correction,
rephrasing song passages, changing notes and/or their duration, looping short
sequences, and inserting repeat bars.
The MidiLab/2 editor allows you to examine the details of a recorded track of
MIDI data in real time. Each event is presented on the screen showing its
timing data and associated parameters, while, at the same time, it can be heard
through an audio playback system. For example, a note-on event shows the
timing, note, and the velocity with which it was originally played. Each event
is presented, step-by-step.
Warning: During edit, it is your responsibility to insure that the MIDI data
stream remains intact. It is possible to modify data at any point; however,
close attention must be paid to event timing bytes to insure against losing any
quantization, particularly when inserting or appending data. For this reason,
it is recommended to use the 'measure-end' events as markers for these
functions.
Error conditions
Incorrect editing of the track data may result in an error message during
Playback or Edit. When this occurs, information will be presented to you
indicating the track in error, and the index at which the error was detected.
If normal Playback was in effect, it will be immediately terminated. The
following types of errors are possible:
1. Event Data Error
This means an incorrect sequence of MIDI status and/or data has been
detected. MidiLab/2 will attempt to analyze the error and send a correct
data byte in place of the faulty one in order to complete the event. You
should save any song data you had been recording, because, in some rare
instances, the error may not be recoverable; that is, the MPU-401 may
"hang up", necessitating a power off/on at the computer to clear the
condition.
2. Measure Timing Error
Each beat of a measure contains a number of clock pulses equal to the
current MPU-401 timebase. Therefore, a song with a time signature of 4/4
and a timebase of 120, for example, must contain a total of 480 clock
pulses for each measure. This total is verified at the end of each
measure during playback for all active tracks. If an error is detected,
a message will appear indicating the erroneous timing total.
This error check may be disabled by a checkbox in the Preferences dialog
box.
For a description of the controls select from the following list:
Event List
Event Spin Buttons
Edit Push Buttons
Edit Clipboard
Play Sequence
ΓòÉΓòÉΓòÉ 49. Event List ΓòÉΓòÉΓòÉ
The event list box shows each MIDI event in the track, formatted in such a way
as to represent each component of the event. The index of the event, or its
displacement into the track, appears as the first column on the left side of
the event list. The second column (T') represents the delta time associated
with each event. The remaining information is particular to the type of event.
One or more events can be selected for processing by the Edit controls. When
an event is selected, and the Send Event checkbox is checked, the event is
transmitted, via MIDI, to the channel assigned to the track being edited. Refer
to Play Sequence for additional information.
ΓòÉΓòÉΓòÉ 50. Event Spin Buttons ΓòÉΓòÉΓòÉ
The three spin buttons are used to modify specific components of an event.
Their function takes on different meanings depending on what type of event is
selected. Headings appropriate for the selected event appear for each button.
The values and ranges are set as required.
ΓòÉΓòÉΓòÉ 51. Event Push Buttons ΓòÉΓòÉΓòÉ
The pushbuttons are used to perform the edit functions. Most of them are
disabled until one or more events have been selected. The function of each
button is described below.
Copy
Copys marked item(s) to MidiLab/2 clipboard.
Cut
Copys marked item(s) to MidiLab/2 clipboard, and then deletes them
from the list.
Delete
Deletes all marked items.
Paste
Pastes the contents of the clipboard into the track at the point
following the current marked item.
Start Block
Used to define the start of a block. After a mark has been
selected, the next location marked will define a displacement,
either prior to, or after, the original mark. Useful for marking
large sections of track data, when it is too far to drag the mouse.
Mouse button 2 can also be used for this function.
Mark to End
This button provides a fast way to mark a section of track data from
the current marked item to the end of the track.
Insert
Inserts new track data as selected from the Insert dialog box. See
the help information provided there.
Modify
Modifies the marked block according to the settings of the
transpose, velocity, and quantize adjustments.
Save
Saves the current edit data into the track.
Done
Exits the editor.
All Notes Off
Sends the MIDI message ALL_NOTES_OFF and sends a Release-Sustain to
all 16 channels.
Clear Track
Clears the entire track to an empty state.
ΓòÉΓòÉΓòÉ 52. Edit Clipboard ΓòÉΓòÉΓòÉ
The MidiLab/2 clipboard is used to hold selected events for subsequent use in a
Paste operation. It can be displayed by marking the Show Clipbrd checkbox on
the Edit panel. Once displayed, it can be removed from view by either selecting
the Hide Clipboard pushbutton on the clipboard panel itself or by re-marking
the checkbox on the Edit panel
The clipboard can be scrolled if the data exceeds the window size.
ΓòÉΓòÉΓòÉ 53. Play Sequence ΓòÉΓòÉΓòÉ
The track being edited can be played by marking a block and then pushing the
button. The block will be played until it ends, or can be stopped by pushing
||.
The Move Banner checkbox can be used to display the selection banner as the
events in the track progress. The trade-off is one of performance versus the
convenience of being able to locate the events as the track is playing.
While the sequence is playing, if the Step-play checkbox is selected, the
automatic advance will stop, and you must then press the '+' key to advance to
the next event. This facilitates listening closely to the resultant audio, and
picking up errors in the recorded MIDI data.
ΓòÉΓòÉΓòÉ 54. Edit Insert Functions ΓòÉΓòÉΓòÉ
This panel provides several means of inserting new data into the track. Data
are inserted at the point following the current mark. For a description of the
available types select from the following list:
Track Events
Track Orders
ΓòÉΓòÉΓòÉ 55. Insert Track Event ΓòÉΓòÉΓòÉ
Track events are a subset of standard MIDI events which conform to MIDI
specifications.
Program change
Inserts a MIDI Program Change channel event into the track.
Meta Text
Inserts text for a MIDI 1.0 Text or Cue Point meta event.
Generic Event
This dialog box may be used to insert any MIDI channel event or MPU
Mark, so long as the basic rules of parameter range are not
violated. It affords the lowest possible level of control; you are
responsible for the exact configuration of each byte in the event.
TBA
To Be announced
ΓòÉΓòÉΓòÉ 56. Insert Track Order ΓòÉΓòÉΓòÉ
Track Orders are MidiLab/2 proprietary events which serve to perform special
functions in the track.
Transfer
Provides a means of looping a section of track data for a desired
number of times. The index of the target event is specified, and
must precede the location of the Transfer.
Rest
Inserts a specified number of measures of rest.
Initiate
This function allows you to start one or more inactive tracks from a
point in the current track during play.
Command
An MPU command, Transpose adjustment, or Velocity adjustment may be
inserted into the track for dynamic control during play.
ΓòÉΓòÉΓòÉ 57. Utilities - Remote Control ΓòÉΓòÉΓòÉ
Selected MidiLab/2 functions can be controlled from a remote MIDI device. The
functions of Play, Pause, Re-take, Start-record, and Stop-record can be invoked
by any standard MIDI function such as a key, sustain pedal, program-change
button, etc.
All of the Remote Control functions are located on this panel. Select from the
following list for a detailed description of each item:
Functions and Events
Capture
Disable Remote Control
Done/Cancel
ΓòÉΓòÉΓòÉ 58. Set Track Size ΓòÉΓòÉΓòÉ
The track size may be changed to accomodate larger then normal files, or to
provide a finer control on storage usage. Enter the number of bytes you want
the track to hold. The range of the number must be from 1000 to 999999.
After the change is made, MidiLab/2 must be restarted to allow the new value to
be placed in effect.
ΓòÉΓòÉΓòÉ 59. Functions and Events ΓòÉΓòÉΓòÉ
This group of buttons is used to set up a control event for capturing. Select
the one you wish to set up and then select Capture. A description of the
associated MIDI event is displayed adjacent to the button.
Play and Re-take are identical in function to the push buttons in the MidiLab/2
main window; however, Pause/Start/Stop serves as a multifunction control. If a
song is playing, the normal pause function is invoked. If Record/Overdub
standby is in effect, the control will cause the record count-down to begin.
Finally, during recording, the control will cancel the record function.
ΓòÉΓòÉΓòÉ 60. Capture ΓòÉΓòÉΓòÉ
To capture an event to be used as a control event, select the radio button
corresponding to the desired function and then Press Capture. Then press the
key or control button on the MIDI device you wish to use. A description of the
captured event will appear adjacent to the selected button.
From this point on, whenever the captured MIDI event is received by MidiLab/2,
the corresponding MidiLab/2 function will be invoked. (assuming the remote
control function is not disabled) Pressing the button again will cancel the
capture operation.
Note: The velocity data byte for a NOTE-ON event is not examined, unless it is
a velocity of zero, indicating a note_off. In all other cases, the incoming
event must identically match the captured event.
ΓòÉΓòÉΓòÉ 61. Disable Remote Control ΓòÉΓòÉΓòÉ
The Remote Control function is disabled when this box is checked. If MidiLab/2
is idle, no incoming data will be accepted.
ΓòÉΓòÉΓòÉ 62. Done/Cancel ΓòÉΓòÉΓòÉ
Select Done/Cancel to exit Remote Control setup. If a capture is pending, it
will be cancelled.
ΓòÉΓòÉΓòÉ 63. Keys Help ΓòÉΓòÉΓòÉ
The following keys can be used while the MidiLab/2 main window has the focus:
F2 - Toggle MIDI-THRU
F3 - Exit MidiLab/2
F4 - Invoke Song Editor
F5 - Clear and Reset MidiLab/2
F6 - Toggle metronome
F7 - Main Control Panel
F8 - User Preference settings
F9 - File Control Panel
G - Send Program Change
J - Display jumbo measure indicator
O - Overdub
P - Play
B - SysEx bulk data utility
R - Record
S - Save current song
Numeric 1 thru 8 - Invoke Track Edit (trks 1-8 only)
ΓòÉΓòÉΓòÉ 64. Disk File Access ΓòÉΓòÉΓòÉ
MidiLab/2 provides a service to allow access to song files as they are stored
on disk. A scrollable window is presented with a list of all files within a
directory which you specify. A file may be selected for loading, or it may
also be erased or renamed. The window is also called by pressing Function key
9.
ΓòÉΓòÉΓòÉ 65. Save new file ΓòÉΓòÉΓòÉ
This resets the system in preparation for a new song. All controls and heading
are set to their initial state. It performs the same funtion as the 'Reset'
push button on the main window.
ΓòÉΓòÉΓòÉ 66. Load or Save song file ΓòÉΓòÉΓòÉ
Select a file/directory combination first, then double-click on the file you
wish to load or save. Or, type in the file name at the top of the box and
select the required button. Once a file is selected, it may also be saved or
erased by selecting the appropriate push buttons.
ΓòÉΓòÉΓòÉ 67. Save song on disk ΓòÉΓòÉΓòÉ
Saves the track data and song profile in a file on disk. The path preceding
the search pattern currently in effect is used to determine where a song file
will stored. Any valid file name may be used, up to eight characters. The
extension will be set to ".MID" for standard MIDI files, and ".ML" for native
MidiLab/2 format.
If a file by the supplied name already exists, you will receive a confirmation
prompt. If you reply affirmative, it is replaced.
ΓòÉΓòÉΓòÉ 68. Terminate and Exit ΓòÉΓòÉΓòÉ
This will exit MidiLab/2, first asking you to confirm the request if there is a
possibility of losing any unsaved data.
ΓòÉΓòÉΓòÉ 69. Song Edit Window ΓòÉΓòÉΓòÉ
The Song Editor window is used to display the tracks and measures associated
with the current. Individual measures can be selected for detailed editing of
track data.
ΓòÉΓòÉΓòÉ 70. MidiLab/2 Control Panel ΓòÉΓòÉΓòÉ
This is the control panel for all general switches and MIDI controls.
ΓòÉΓòÉΓòÉ 71. Main Controls ΓòÉΓòÉΓòÉ
All of the main MidiLab/2 control functions are located on this panel. Select
the 'Help' button for more information.
ΓòÉΓòÉΓòÉ 72. Utilities ΓòÉΓòÉΓòÉ
This pull-down contains functions which, generally speaking, are not part of
the mainstram MIDI processing, but which have utility value in helping you
navigate your way thru some of the more basic functions.
ΓòÉΓòÉΓòÉ 73. Bulk Dump/Restore ΓòÉΓòÉΓòÉ
MidiLab System Exclusive data dump and restore functions. Use the HELP
pushbutton for more information.
ΓòÉΓòÉΓòÉ 74. Utilities - Toggle Index Display ΓòÉΓòÉΓòÉ
This switch allows the automatic display of the track indexes during playback
operation. The main reason for having them switchable is because the index
display represents a significant processing overhead, and in the case of some
note-intensive songs, this could be a detriment to performance.
ΓòÉΓòÉΓòÉ 75. Program Change ΓòÉΓòÉΓòÉ
Used to send a MIDI program change. Use the dialog HELP pushbutton for more
information.
ΓòÉΓòÉΓòÉ 76. Remote Control ΓòÉΓòÉΓòÉ
This function permits MidiLab to be controlled from a remote MIDI device.
ΓòÉΓòÉΓòÉ 77. Utilities - Jumbo Measures ΓòÉΓòÉΓòÉ
This switch causes a large measure indicator to be displayed for ease of
viewing when working away from the computer. The current measure being played
is shown, along with the total number of measures in the file.
Note: The total number of measures is derived from the longest of all tracks.
ΓòÉΓòÉΓòÉ 78. Utilities - Trace ΓòÉΓòÉΓòÉ
Allow tracing MIDI data entering or leaving the system.
ΓòÉΓòÉΓòÉ 79. Utilities - User preference settings ΓòÉΓòÉΓòÉ
Allow user to set personal options
ΓòÉΓòÉΓòÉ 80. Command Line parameters and switches ΓòÉΓòÉΓòÉ
The following command line parameters can be used when starting MidiLab/2:
/M
This switch will cause all files to be saved in MIDI Format 1.
/P
A default file directory can be specified with this parameter, in
case the MIDI files are located in a directory other than the
default one. Specify /P=(directory name)
/X
This switch will enable the External Control facility at start-up
time.
/Z
This switch will force MidiLab/2 to operate in an MPU simulation
mode.
ΓòÉΓòÉΓòÉ 81. MIDI Tutorial ΓòÉΓòÉΓòÉ
This section is provided to give you an understanding of the data stream and
MIDI event types you will encounter when working with recorded material. It is
presented in a general fashion without particular reference to MidiLab/2. The
term 'command', as used below, can be related to the MidiLab/2 'event'.
MIDI (Musical Instrument Digital Interface) data is transmitted by the sending
and receiving of eight bits of information. These eight bits of data are sent
together at one time and make up what is called a byte. Each bit can show one
of two possible states, on or off (called 1 or 0). Eight bits (two raised to
the eighth power) yield 256 possible combinations in the same way that normal
numerical digits can form 1000 combinations by using the numbers 000 to 999
(ten raised to the third power).
MIDI commands are usually composed of one, two, or three bytes of data arranged
and transmitted one after another. The first byte sent is called a "status
byte" (although the MIDI Spec refers to it as a "status command", in this
documentation we'll call it status byte to avoid confusion). The next one or
two bytes, if used, represent the "which" and "how much" parts of the command.
A note-on command, for example, is comprised of three bytes, the first of which
is the status byte. This byte tells the synthesizer to play a note and also
supplies the channel number. The second byte in the command tells the receiver
which note to play, and the third byte carries the velocity value for the note.
Note: In most cases the MPU-401 prefixes each command with its own timing
byte. This specifies the time quantity associated with the command. This is
not, however, a MIDI specified function.
Part of the MIDI structure is a protocol that was put in place to facilitate
the writing of software designed to handle MIDI data. This protocol specifies
that the status command byte's "significant" (leftmost) bit is always a 1. In
all following data bytes the most significant bit is 0. By following this
protocol, the software always knows, if the most significant bit is a 1, that
this is a new command for it to begin processing on. Additionally, by decoding
the status byte, the software always knows how many data bytes should follow.
Being able to discern the difference between status and data bytes makes it
possible to utilize a technique called "running status". Simply stated, once a
particular status byte has been received (like "note-on"), the receiving
instrument can continue to operate under that command until a different status
byte is encountered. As an example, a burst of notes can be played by sending
the first note-on with its status byte, and then followed by pairs of data
bytes containing note number and note velocity, without the need to send a new
status byte until it's necessary to send a new command, like pitch-bend, etc.
When there are many notes being sent, utilizing "running status" can improve
the overall speed by about a third of a millisecond per note which makes a
significant difference.
The note-off command has its own status byte as well. But needing to send a
note-off command while sending many notes would cause running status to be
interrupted. To avoid this, a more efficient way of doing the same thing is to
send a special version of the note-off command, a note-on command with a
velocity of zero. This zero-velocity note-on command can be used this way only
if the sending synthesizer doesn't also send a release velocity, which uses a
separate note-off status byte with its own associated velocity data. Today,
however, most synthesizers do not send a release velocity.
Using the most significant bit of the MIDI byte as a "status or data" flag,
seven bits are left to make up 128 different combinations. This provides the
ability to send note-on commands specifying any of 128 notes with 127 different
velocity values (remember, that the value of 0 is used to simulate a note-off.)
Having only seven bits remaining to handle pitch-bend (if you were to bend up
and down 1 octave, having 128 divisions would allow for 1/5 semitone) would not
be sufficient to do a good job. Thus two data words are used to provide
bending control, one for coarse and one for fine control.
Just as with data words, each status byte is left with seven "variable" bits,
or 128 combinations. This may seem like more commands than we could ever use,
but this isn't really true. Most MIDI commands belong to a group called
channel messages. These commands are able to direct themselves to any of 16
possible device destinations by using four bits to define a channel number.
Using four bits to specify the channel and one bit to define the status of a
command, we are left with only three bits to spare, or eight combinations.
Listed in numerical order, the possible types are: (1) note-off (128), (2)
note-on (144), (3) polyphonic key after-touch (160), (4) controller (176), (5)
program change (192), (6) channel after-touch (208), (7) pitch-bend (224), and
(8) system.
System commands have no channel number attached to them, so there are actually
sixteen different non-channel-oriented command combinations to work with. It
is beyond the scope of this tutorial to cover these, but the other seven
commands will be covered in some detail.
NOTE-OFF COMMAND
The Note-off command is made up of two data bytes. The first
specifies which MIDI note (numbered from 0 to 127) is to be
affected. Remember that this number is not a frequency, it just
refers to a specific key on the keyboard. For example, the number 60
refers to Middle C on most five-octave boards. The second byte is
the release velocity indicating how fast you removed your fingers
from the key. This might be used, for instance, to define the decay
rate of each note played. Currently, the implementation for this
feature is not common, although it may become less rare in the
future.
NOTE-ON COMMAND
The note-on command contains one data byte defining the note number.
The second byte, when used, carries the velocity with which each
note is struck. As mentioned before, a note-on command with a
velocity value of 0 is interpreted as a note-off command.
POLYPHONIC KEY AFTER-TOUCH
This command is used in keyboards where each key has its own
pressure transducer so that you can hold down a chord and adjust the
pressure applied to each note, which will generate a different
response for each. Two data bytes are necessary for this command.
The first defines which key is being pressed. The second defines
the current pressure value. In addition to the more sophisticated
keyboards having this feature, some of the new tone-generators also
support polyphonic key after-touch.
CONTROLLER
There are two data bytes required for any controller command. The
first defines which controller is being used, and the second usually
gives a value for the position of that controller. Sixty-four of
the possible 128 controller numbers handle the standard control
devices like volume pedals, breath controllers, mod wheel, etc.
This excludes pitch-bend and polyphonic after-touch as they have
their own set of controller codes. Only 32 different controllers
are allowed, but each can make use of two commands, a "most
significant" data byte (MSB) and a "least significant" data byte
(LSB), doubling the quantity of control numbers allotted for the 32
controllers. In most of these commands, the LSB is ignored because
the resolution provided by two bytes isn't necessary. The common
"continuous controllers" pass their generated value in the MSB.
32 more of the controller numbers are used to indicate on/off
functions, like foot-switches or data entry switches. A low number
(0) indicates open switch, and a high value (usually 127) shows a
closed switch. As of this writing, 26 numbers are not defined.
This leaves us with six numbers to send channel mode messages.
These are used to change the reception mode of the receiving device,
for instance, from mono to omni mode. The defined controller
numbers are listed below.
(1) modulation wheel
(2) breath controller
(4) foot controller
(5) portamento time
(6) data entry
(7) main volume
(64) damper pedal (sustain)
(65) portamento on/off
(66) sostenuto
(67) soft pedal
(96) data increment
(97) data increment
PROGRAM CHANGE
Program Change uses a single data byte to tell the slave device to
which program number to change. There is some confusion associated
with this command regarding what the numbers really mean. There are
many MIDI devices that use octal numbers for programming. (The
digits that are used range from 1 to 8.) Most of these devices use
program 11 to indicate program change number 1. Octal 11 is commonly
associated at the data byte level with numeric value 0. An octal 88
is shown as program change 64 but the numeric value sent is really
63. This provides a glimpse into some of the confusions. With this
exception, the command itself is straightforward.
There is nothing in the specification covering what to do if the
slave device has only 32 patches and receives a program change 50
command. Possibilities include wrapping and starting over, ignoring
the command as invalid, or switching to the external cartridge.
Some machines use the lower locations for presets and leave the
higher program numbers for the user-programmable areas. This makes
the user-programmable areas inaccessible to master devices with a
limited range of numbers. There are, in addition, programmable
outboard signal processing devices with very few MIDI program
positions. Determining an efficient way to coordinate all of these
inconsistencies is the difficulty.
CHANNEL AFTER-TOUCH
This is the common type of after-touch command. Using a single data
byte, this command specifies one overall value that defines the
pressure applied to the keyboard. It is sent out on the channel to
which the keyboard is currently assigned and is capable of defining
this value at any given time. Precise results to this command are
dependent on the synthesizer receiving the command and its
capabilities, as well as the current patch. Over-all volume,
brightness, modulation level, LFO speed or other parameters may all
be controlled by channel after-touch.
PITCH-BEND
Pitch-bend has its own command because of the frequency with which
its used. It is distinct from the controller groups. This command
uses two data byes, the first is the LSB and the second is the MSB.
This provides 14 bits of resolution for pitch changes. A normal
controller command would require six bytes to handle this level of
resolution (a most significant byte controller command and a least
significant byte controller command, each three bytes long). Using
a great deal of pitch wheel motion would take up much of the MIDI
cable's transmission ability (the amount of data it is capable of
sending each second). Most synthesizers do not take advantage of
this level of resolution but instead send the number 0 for the LSB.
This then provides for 128 steps of bend. Remember that these
increments cover about 1/5 semitone if you bend up or down a full
octave. This is not acceptable for very slow pitch transitions, but
for most bending is satisfactory. The increments are much smaller
if the range is up or down a third. This, however, makes it hard to
hear the discrete steps.