man-pages/man1/amidi.1.html
2021-03-31 01:06:50 +01:00

278 lines
5.7 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML><HEAD><TITLE>Man page of AMIDI</TITLE>
</HEAD><BODY>
<H1>AMIDI</H1>
Section: User Commands (1)<BR>Updated: 30 Aug 2016<BR><A HREF="#index">Index</A>
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
<P>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
amidi - read from and write to ALSA RawMIDI ports
<P>
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>amidi</B> [<I>-p port</I>] [<I>-s file</I> | <I>-S data</I>]
[<I>-r file</I>] [<I>-d</I>] [<I>-t seconds</I>] [<I>-a</I>]
<P>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<B>amidi</B>
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.
<P>
<B>amidi</B>
handles only files containing raw MIDI commands, without timing
information.
<B>amidi</B>
does not support Standard MIDI (.mid) files, but
<B><A HREF="/cgi-bin/man/man2html?1+aplaymidi">aplaymidi</A>(1)</B>
and
<B><A HREF="/cgi-bin/man/man2html?1+arecordmidi">arecordmidi</A>(1)</B>
do.
<P>
<A NAME="lbAE">&nbsp;</A>
<H2>OPTIONS</H2>
<P>
Use the
<I>-h,</I>
<I>-V,</I>
<I>-l,</I>
or
<I>-L</I>
options to display information;
or use at least one of the
<I>-s,</I>
<I>-r,</I>
<I>-S,</I>
or
<I>-d</I>
options to specify what data to send or receive.
<P>
<DL COMPACT>
<DT id="1"><I>-h, --help</I>
<DD>
Help: prints a list of options.
<P>
<DT id="2"><I>-V, --version</I>
<DD>
Prints the current version.
<P>
<DT id="3"><I>-l, --list-devices</I>
<DD>
Prints a list of all hardware MIDI ports.
<P>
<DT id="4"><I>-L, --list-rawmidis</I>
<DD>
Prints all RawMIDI definitions.
(used when debugging configuration files)
<P>
<DT id="5"><I>-p, --port=name</I>
<DD>
Sets the name of the ALSA RawMIDI port to use.
If this is not specified,
<B>amidi</B>
uses the default port defined in the configuration file
(the default for this is port 0 on card 0, which may not exist).
<P>
<DT id="6"><I>-s, --send=filename</I>
<DD>
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><A HREF="/cgi-bin/man/man2html?1+aplaymidi">aplaymidi</A>(1).</B>
<P>
<DT id="7"><I>-r, --receive=filename</I>
<DD>
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><A HREF="/cgi-bin/man/man2html?1+arecordmidi">arecordmidi</A>(1).</B>
<P>
<B>amidi</B>
will filter out any Active Sensing and Clock bytes (FEh, F8h), unless the
<I>-a</I>
or
<I>-c</I>
options have been given.
<P>
<DT id="8"><I>-S, --send-hex=...</I>
<DD>
Sends the bytes specified as hexadecimal numbers to the MIDI port.
<P>
<DT id="9"><I>-d, --dump</I>
<DD>
Prints data received from the MIDI port as hexadecimal bytes.
Active Sensing and Clock bytes (FEh, F8h) will not be shown, unless the
<I>-a</I>
or
<I>-c</I>
options have been given.
<P>
This option is useful for debugging.
<P>
<DT id="10"><I>-t, --timeout=seconds</I>
<DD>
Stops receiving data when no data has been received for the specified
amount of time.
<P>
If this option has not been given, you must press Ctrl+C (or kill
<B>amidi</B>)
to stop receiving data.
<P>
<DT id="11"><I>-a, --active-sensing</I>
<DD>
Does not ignore Active Sensing bytes (FEh) when saving or printing
received MIDI commands.
<P>
<DT id="12"><I>-c, --clock</I>
<DD>
Does not ignore Clock bytes (F8h) when saving or printing received
MIDI commands.
<P>
<DT id="13"><I>-i, --sysex-interval=mseconds</I>
<DD>
Adds a delay in between each SysEx message sent to a device. It is
useful when sending firmware updates via SysEx messages to a remote
device.
<P>
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>EXAMPLES</H2>
<P>
<DL COMPACT>
<DT id="14"><B>amidi -p hw:0 -s my_settings.syx</B>
<DD>
will send the MIDI commands in
<I>my_settings.syx</I>
to port
<I>hw:0.</I>
<P>
<DT id="15"><B>amidi -p hw:1,0,0 -s firmware.syx -i 100</B>
<DD>
will send the MIDI commands in
<I>firmware.syx</I>
to port
<I>hw:1,0,0</I>
with 100 milliseconds delay in between each SysEx message.
<P>
<DT id="16"><B>amidi -S 'F0 43 10 4C 00 00 7E 00 F7'</B>
<DD>
sends an XG Reset to the default port.
<P>
<DT id="17"><B>amidi -p hw:1,2 -S F0411042110C000000000074F7 -r dump.syx -t 1</B>
<DD>
sends a "Parameter Dump Request" to a GS device, saves the received
parameter data to the file
<I>dump.syx,</I>
and stops after the device has finished sending data
(when no data has been received for one second).
<P>
<DT id="18"><B>amidi -p virtual -d</B>
<DD>
creates a virtual RawMIDI port and prints all data sent to this port.
<P>
</DL>
<A NAME="lbAG">&nbsp;</A>
<H2>FILES</H2>
<I>/usr/share/alsa/alsa.conf</I>
default rawmidi definitions
<BR>
<I>/etc/asound.conf</I>
system-wide rawmidi definitions
<BR>
<I>~/.asoundrc</I>
user specific rawmidi definitions
<P>
<A NAME="lbAH">&nbsp;</A>
<H2>SEE ALSO</H2>
<A HREF="/cgi-bin/man/man2html?1+aplaymidi">aplaymidi</A>(1)
<BR>
<A HREF="/cgi-bin/man/man2html?1+arecordmidi">arecordmidi</A>(1)
<P>
<A NAME="lbAI">&nbsp;</A>
<H2>AUTHOR</H2>
Clemens Ladisch &lt;<A HREF="mailto:clemens@ladisch.de">clemens@ladisch.de</A>&gt;
<P>
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT id="19"><A HREF="#lbAB">NAME</A><DD>
<DT id="20"><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT id="21"><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT id="22"><A HREF="#lbAE">OPTIONS</A><DD>
<DT id="23"><A HREF="#lbAF">EXAMPLES</A><DD>
<DT id="24"><A HREF="#lbAG">FILES</A><DD>
<DT id="25"><A HREF="#lbAH">SEE ALSO</A><DD>
<DT id="26"><A HREF="#lbAI">AUTHOR</A><DD>
</DL>
<HR>
This document was created by
<A HREF="/cgi-bin/man/man2html">man2html</A>,
using the manual pages.<BR>
Time: 00:05:06 GMT, March 31, 2021
</BODY>
</HTML>