EXGet and EXPut are used to store and recall
programs for synthesizers. These are generally voice patches, but in
general they can be any sequence of MIDI system exclusive messages.
EXGet has several options that may be specified on the command line:
This program will let you save MIDI system exclusive
messages to a file. When you get the prompt:
"Ready for your data...", send one or more sysex
messages from your synthesizer. See the CMU Midi
Toolkit Manual or your synthesizer operator's manual
for instructions on this.
Use the exput program to send sysex messages recorded by
exget.
Next, you are prompted as follows:
After one or more messages have been sent, type the space bar and the
messages will be saved in the file you specified. The file format is
simply bytes in hexadecimal separated by spaces.
As the data is output, EXGet will check to make sure the data has
not been garbled. A warning will be printed if any errors are detected.
EXGet will also try to print a description of the exclusive messages
it received. You can send the data
back to your synthesizer using the EXPut program described below.
NOTE: If you find that you are sending two messages instead of one
when you use EXGet, here is what is probably happening (we will use the
DX7 as an example, but this may apply to others as well): When you push
the ``yes'' button to send data, the DX7 sends a MIDI message that means
``push the `yes' button'', analogous to sending a MIDI note-on message
whey you press a key. Next, the DX7 sends voice data as requested.
Meanwhile, the first MIDI message has gone into the computer's MIDI IN
port and has been forwarded to the MIDI OUT port. If the MIDI
OUT is connected to the DX7 MIDI IN, then the DX7 gets a second request
(via MIDI) to send data! You can avoid this by disconnecting the DX7
MIDI IN cable or by using the ``-block'' switch when you run EXGet.
At present, only the Amiga version of CMT implements MIDI THRU whereby MIDI IN can be forwarded to MIDI OUT, but this is likely to change in future releases.
EXPut has several options that may be specified on the command line:
After starting, EXPut
will ask:
EXPut can read binary or default ASCII files. The files are distinguished
automatically by looking at the first byte (if the file is binary, the
first byte will have its high order bit set). Assuming the file you
specified contains valid data, you will next see the prompt:
After the data in the file is sent, you are prompted by:
EXGet
The EXGet program is used to record MIDI system exclusive messages and
store them in files. To run EXGet, type
exget filename
where filename is the name of a file you want to create. If you
leave off the extension, EXGet will use the extension .syx
(for System Exclusive). If you
do not specify a file, you will be prompted for one.
After EXGet starts, you will get the following prompt:
?
: this switch prints out a list of command line options.
-block
: normally, MIDI thru will be enabled. The -block
switch turns it off.
-miditrace
: turn on MIDI byte trace. Use the -trace
switch
instead if you prefer the trace in a more human-readable form.
-noalloff
: Normally, an all-notes-off command is sent on each channel when
you exit. This switch prevents this action.
-trace
: turn on trace of MIDI output commands (printed in text form).
-tune
filename: load the indicated tuning file (irrelevant for EXGet).
-inport
hexstring: listen to the ports named in hexstring, where
hexstring is a string of hexadecimal digits indicating the input ports.
For example, the string ``169ac'' says to listen to ports 1, 6, 9, 10, and 12.
(Currently only valid for Amiga version.)
-outport
N send to output port N, where N is a decimal or
hexadecimal number (this is not ambiguous because the largest port number
is 15 decimal). Note that only one port number is allowed.
(Currently only valid for Amiga version.)
-help
: print the instructions.
-binary
: save data in binary rather than hexadecimal format. This results
in a factor of three compression, but don't try to read the output as text! Note: in implementations (including CMT for DOS) that do not support MIDI Thru (-block
), you can use -b
as a shorthand for -binary
.
-size
number: allocate at least number bytes
for the system exclusive message(s).
The actual space allocated will be a power of 2. If number bytes
cannot be allocated, the program prints an error message and exits.
Do you want instructions? [y]
to which you can respond with y
, n
, or just RETURN to indicate
yes. If your response is yes, the following instructions are printed:
Ready for your data. Type space when you are done...
and you should cause your synthesizer to send whatever system
exclusive messages you want to save. One or more messages can be
saved. Notice that EXGet will not request information automatically.
This would require EXGet to know about types of synthesizers. To be
more general, EXGet is very simple. Consequently, you must manually
cause your synthesizer to send the desired information to EXGet.
EXPut
The EXPut program takes files created by EXGet and sends them as MIDI
output. To run EXPut, type
exput filename
where filename is the file created by EXGet. A default extension
of .syx
is assumed if you do not specify one.
?
: this switch prints out a list of command line options.
-block
: normally, MIDI thru will be enabled. The block
switch turns it off.
-miditrace
: turn on MIDI byte trace. Use the trace
switch
instead if you prefer the trace in a more human-readable form.
-noalloff
: Normally, an all-notes-off command is sent on each channel when
you exit. This switch prevents this action.
-trace
: turn on trace of MIDI output commands (printed in text form).
-tune
filename: load the indicated tuning file (irrelevant for EXPut).
-inport
hexstring: listen to the ports named in hexstring, where
hexstring is a string of hexadecimal digits indicating the input ports.
For example, the string ``169ac'' says to listen to ports 1, 6, 9, 10, and 12.
(Currently only valid for Amiga version.)
-outport
N send to output port N, where N is a decimal or
hexadecimal number (this is not ambiguous because the largest port number
is 15 decimal). Note that only one port number is allowed.
(Currently only valid for Amiga version.)
-help
: print the instructions.
-size
number: allocate at least number bytes
for the system exclusive message(s).
The actual space allocated will be a power of 2. If number bytes
cannot be allocated, the program prints an error message and exits.
Do you want instructions? [y]
The instructions are as follows:
This program sends system exclusive messages previously
saved by the exget program. You must set up your
synthesizer to receive the system exclusive messages.
See the CMU Midi Toolkit Manual for more details.
Ready with your data. Type space when you are ready...
Type space to send the data. If a message is one which EXPut knows
will cause a major change, you will be asked for confirmation before
the data is sent. At present EXPut only asks you to confirm
Yamaha 32 voice and 64 performance data messages.
Type Q to quit, RETURN to send another file:
As the computer says, you can quit or continue to send more data. Typing
a file name gets you back to the prompt: ``Do you want instructions? [y]'',
which even if you asked for them earlier have
by now have scrolled off the screen.
Previous Section | Next Section | Table of Contents | Index | Title Page