AMIDI(1) General Commands Manual AMIDI(1)

# [NAME](#NAME)

amidi - read from and write to ALSA RawMIDI ports

# [SYNOPSIS](#SYNOPSIS)

**amidi** \[*-p port*] \[*-s file* | *-S data*] \[*-r file*] \[*-d*] \[*-t seconds*] \[*-a*]

# [DESCRIPTION](#DESCRIPTION)

**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.

**amidi** handles only files containing raw MIDI commands, without timing information. **amidi** does not support Standard MIDI (.mid) files, but [**aplaymidi(1)**](/man/enterprise-packages/alsa-utils/aplaymidi.1) and [**arecordmidi(1)**](/man/enterprise-packages/alsa-utils/arecordmidi.1) do.

# [OPTIONS](#OPTIONS)

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

[*-h, --help*](#h,)

Help: prints a list of options.

[*-V, --version*](#V,)

Prints the current version.

[*-l, --list-devices*](#l,)

Prints a list of all hardware MIDI ports.

[*-x, --list-inactive*](#x,)

Use together with *-l* option. Print all MIDI ports including inactive ports.

[*-L, --list-rawmidis*](#L,)

Prints all RawMIDI definitions. (used when debugging configuration files)

[*-p, --port=name*](#p,)

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

[*-s, --send=filename*](#s,)

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 **[aplaymidi(1)](/man/enterprise-packages/alsa-utils/aplaymidi.1).**

[*-r, --receive=filename*](#r,)

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 **[arecordmidi(1)](/man/enterprise-packages/alsa-utils/arecordmidi.1).**

**amidi** will filter out any Active Sensing and Clock bytes (FEh, F8h), unless the *-a* or *-c* options have been given.

[*-S, --send-hex="..."*](#S,)

Sends the bytes specified as hexadecimal numbers to the MIDI port.

[*-d, --dump*](#d,)

Prints data received from the MIDI port as hexadecimal bytes. Active Sensing and Clock bytes (FEh, F8h) will not be shown, unless the *-a* or *-c* options have been given.

This option is useful for debugging.

[*-t, --timeout=seconds*](#t,)

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 **amidi)** to stop receiving data.

[*-a, --active-sensing*](#a,)

Does not ignore Active Sensing bytes (FEh) when saving or printing received MIDI commands.

[*-c, --clock*](#c,)

Does not ignore Clock bytes (F8h) when saving or printing received MIDI commands.

[*-i, --sysex-interval=mseconds*](#i,)

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.

# [EXAMPLES](#EXAMPLES)

[**amidi -p hw:0 -s my\_settings.syx**](#amidi)

will send the MIDI commands in *my\_settings.syx* to port *hw:0.*

[**amidi -p hw:1,0,0 -s firmware.syx -i 100**](#amidi~2)

will send the MIDI commands in *firmware.syx* to port *hw:1,0,0* with 100 milliseconds delay in between each SysEx message.

[**amidi -S 'F0 43 10 4C 00 00 7E 00 F7'**](#amidi~3)

sends an XG Reset to the default port.

[**amidi -p hw:1,2 -S F0411042110C000000000074F7 -r dump.syx -t 1**](#amidi~4)

sends a “Parameter Dump Request” to a GS device, saves the received parameter data to the file *dump.syx,* and stops after the device has finished sending data (when no data has been received for one second).

[**amidi -p virtual -d**](#amidi~5)

creates a virtual RawMIDI port and prints all data sent to this port.

# [FILES](#FILES)

*/usr/share/alsa/alsa.conf* default rawmidi definitions  
*/etc/asound.conf* system-wide rawmidi definitions  
*~/.asoundrc* user specific rawmidi definitions

# [SEE ALSO](#SEE_ALSO)

[aplaymidi(1)](/man/enterprise-packages/alsa-utils/aplaymidi.1)  
[arecordmidi(1)](/man/enterprise-packages/alsa-utils/arecordmidi.1)

# [AUTHOR](#AUTHOR)

Clemens Ladisch &lt;clemens@ladisch.de&gt;

30 Aug 2016

---

Document: amidi(1) from alsa-utils 1.2.16-r2 (Chainguard OS)
Source: https://github.com/alsa-project/alsa-utils
