mirror of
https://gitee.com/openharmony/third_party_alsa-utils
synced 2024-11-27 00:51:49 +00:00
b59745978f
This patch adds a new option to amidi tool: sysex-interval. It adds a delay (in milliseconds) in between each SysEx message - it searches for a 0xF7 byte. This is very useful when sending firmware updates to a remote device via SysEx or any other use that requires this delay in between SysEx messages. `amidi' manual was updated with an example usage as well. Signed-off-by: Felipe F. Tonello <eu@felipetonello.com> Acked-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
179 lines
3.8 KiB
Groff
179 lines
3.8 KiB
Groff
.TH AMIDI 1 "30 Aug 2016"
|
|
|
|
.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 and Clock bytes (FEh, F8h), unless the
|
|
.I \-a
|
|
or
|
|
.I \-c
|
|
options have 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 and Clock bytes (FEh, F8h) will not be shown, unless the
|
|
.I \-a
|
|
or
|
|
.I \-c
|
|
options have 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.
|
|
|
|
.TP
|
|
.I \-c, \-\-clock
|
|
Does not ignore Clock bytes (F8h) when saving or printing received
|
|
MIDI commands.
|
|
|
|
.TP
|
|
.I \-i, \-\-sysex-interval=mseconds
|
|
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.
|
|
|
|
.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 \-p hw:1,0,0 -s firmware.syx \-i 100
|
|
will send the MIDI commands in
|
|
.I firmware.syx
|
|
to port
|
|
.I hw:1,0,0
|
|
with 100 milliseconds delay in between each SysEx message.
|
|
|
|
.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>
|