.TH AMIDI 1 "26 Jun 2006"

.SH NAME
amidi \- read from and write to ALSA RawMIDI ports

.SH SYNOPSIS
\fBamidi\fP [\fI\-p port\fP] [\fI\-s file\fP | \fI\-S data\fP]
[\fI\-r file\fP] [\fI\-d\fP] [\fI\-t seconds\fP] [\fI\-a\fP]

.SH DESCRIPTION
.B amidi
is a command-line utility which allows one to receive and send
SysEx (system exclusive) data from/to external MIDI devices.
It can also send any other MIDI commands.

.B amidi
handles only files containing raw MIDI commands, without timing
information.
.B amidi
does not support Standard MIDI (.mid) files, but
.B aplaymidi(1)
and
.B arecordmidi(1)
do.

.SH OPTIONS

Use the
.I \-h,
.I \-V,
.I \-l,
or
.I \-L
options to display information;
or use at least one of the
.I \-s,
.I \-r,
.I \-S,
or
.I \-d
options to specify what data to send or receive.

.TP
.I \-h, \-\-help
Help: prints a list of options.

.TP
.I \-V, \-\-version
Prints the current version.

.TP
.I \-l, \-\-list\-devices
Prints a list of all hardware MIDI ports.

.TP
.I \-L, \-\-list\-rawmidis
Prints all RawMIDI definitions.
(used when debugging configuration files)

.TP
.I \-p, \-\-port=name
Sets the name of the ALSA RawMIDI port to use.
If this is not specified,
.B amidi
uses the default port defined in the configuration file
(the default for this is port 0 on card 0, which may not exist).

.TP
.I \-s, \-\-send=filename
Sends the contents of the specified file to the MIDI port.
The file must contain raw MIDI commands (e.g. a .syx file);
for Standard MIDI (.mid) files, use
.B aplaymidi(1).

.TP
.I \-r, \-\-receive=filename
Writes data received from the MIDI port into the specified file.
The file will contain raw MIDI commands (such as in a .syx file);
to record a Standard MIDI (.mid) file, use
.B arecordmidi(1).

.B amidi
will filter out any Active Sensing bytes (FEh), unless the
.I \-a
option has been given.

.TP
.I \-S, \-\-send\-hex="..."
Sends the bytes specified as hexadecimal numbers to the MIDI port.

.TP
.I \-d, \-\-dump
Prints data received from the MIDI port as hexadecimal bytes.
Active Sensing bytes (FEh) will not be shown, unless the
.I \-a
option has been given.

This option is useful for debugging.

.TP
.I \-t, \-\-timeout=seconds
Stops receiving data when no data has been received for the specified
amount of time.

If this option has not been given, you must press Ctrl+C (or kill
.B amidi\fR)
to stop receiving data.

.TP
.I \-a, \-\-active\-sensing
Does not ignore Active Sensing bytes (FEh) when saving or printing
received MIDI commands.

.SH EXAMPLES

.TP
.B amidi \-p hw:0 \-s my_settings.syx
will send the MIDI commands in
.I my_settings.syx
to port
.I hw:0.

.TP
.B amidi \-S 'F0 43 10 4C 00 00 7E 00 F7'
sends an XG Reset to the default port.

.TP
.B amidi \-p hw:1,2 \-S F0411042110C000000000074F7 \-r dump.syx \-t 1
sends a \(lqParameter Dump Request\(rq to a GS device, saves the received
parameter data to the file
.I dump.syx,
and stops after the device has finished sending data
(when no data has been received for one second).

.TP
.B amidi \-p virtual \-d
creates a virtual RawMIDI port and prints all data sent to this port.

.SH FILES
.I /usr/share/alsa/alsa.conf
default rawmidi definitions
.br
.I /etc/asound.conf
system\-wide rawmidi definitions
.br
.I ~/.asoundrc
user specific rawmidi definitions

.SH SEE ALSO
aplaymidi(1)
.br
arecordmidi(1)

.SH AUTHOR
Clemens Ladisch <clemens@ladisch.de>
