![]() |
VOOZH | about |
amidi command in Linux is used to receive and send SysEx i.e. System Exclusive data from or to external MIDI devices. Other MIDI commands can also be sent using this amidi command. One important thing to note about this amidi command is that it only handles files containing raw MIDI commands without timing information. One more thing about this command is that it doesn't support standard MIDI(.mid) files, but aplaymidi(1) and arecordmidi(1) do support it.
amidi -[option]... [action] Enter the following command to print the list of options.
amidi --helpThe command will display the help section of the command which will list all the options of the command.
๐ Print a list of optionsamidi --versionThe command will return the version number of the amidi command.
amidi --list-devicesThe above command will display all the ports or devices connected to the MIDI and its related ports.
๐ To print all the hardware MIDI portsamidi --list-rawmidisThis command will print the definition of the RawMIDI which would be having the list of card and its properties in Structural form.
You can use the following to set a timeout for receiving data.
timeout 5 ping google.comThis will result into a timeout of session after 5 seconds of inactivity.
--active-sensing , -a This command will stop the FEh Active Sensing Bytes every time user saves or prints the received MIDI command.
amidi -p hw:0 -s my_settings.syxThe above command will send the content of specified file to the MIDI port and also that file must contain raw MIDI commands and for the standard MIDI files use aplaymidi.
amidi -S 'F0 43 10 4C 00 00 7E 00 F7'The above command will send the bytes specified as hexadecimal number to the MIDI port. And will send an XG Reset to the default port.
amidi -p hw:0 -s my_settings.syxThe above command will set the name of the ALSA RawMIDI port to use. If not specified, amidi used default port defines in the config file(default for this port 0 on card 0) and will send the MIDI commands in my_settings.syx to port hw:0.
amidi -p virtual -dThe above command will print the data received from the MIDI port as hexadecimal bytes. This option is very useful when it comes to debugging. This command will create a virtual RawMIDI port and will print all data sent to this port.
--receive=filename , -r
Example : 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 hw:1,2 -S F0411042110C000000000074F7 -r dump.syx -t 1The above command will send a "Parameter Dump Requestโ to a GS device, and will save the received parameter data to the file dump.syx and will also stopp after the device has finished sending data(in case no data has been received for one second).
The amidi command in Linux is a robust utility for managing SysEx and other raw MIDI data. Whether youโre sending device-specific commands, debugging MIDI streams, or dumping settings from a device, amidi provides the essential tools for working with MIDI on a low level. For working with standard MIDI files, remember to use aplaymidi and arecordmidi, but for direct communication with MIDI hardware, amidi is indispensable.