AMIDI(1)
β¨ AMIDI(1) β General Commands Manual π
Okay bestie, this is the manual page for amidi, the command-line tool that lets you read from and write to ALSA RawMIDI ports π It's literally the ultimate tool for SysEx stuff π¦
πΈ NAME
amidi β read from and write to ALSA RawMIDI ports β¨
π SYNOPSIS
amidi [-p port] [-s file | -S data] [-r file] [-d] [-t seconds] [-a]
π DESCRIPTION
So amidi is a command-line utility that lets you receive and send SysEx (system exclusive) data to and from external MIDI devices π₯ It can also send any other MIDI commands, periodt π
Heads up though, amidi only handles files containing raw MIDI commands, with no timing information π«Ά It does not support Standard MIDI (.mid) files, but aplaymidi(1) and arecordmidi(1) do π
π¦ OPTIONS
Use the -h, -V, -l, or -L options to display info β¨ Or use at least one of the -s, -r, -S, or -d options to decide what data to send or receive π
-h,--helpβ Help! It prints a list of options π-V,--versionβ Shows you the current version π§-l,--list-devicesβ Prints a list of all hardware MIDI ports π-x,--list-inactiveβ Use this together with the-loption π It prints all MIDI ports, including inactive ones πΈ-L,--list-rawmidisβ Prints all RawMIDI definitions π₯ (super handy when you're debugging configuration files)-p,--port=nameβ Sets the name of the ALSA RawMIDI port you want to use π If you don't specify one,amidiuses the default port from the configuration file (which is port 0 on card 0, but that one may not even exist π)-s,--send=filenameβ Sends the contents of the file you specify to the MIDI port π The file has to contain raw MIDI commands (like a.syxfile) π¦ For Standard MIDI (.mid) files, useaplaymidi(1)instead β¨-r,--receive=filenameβ Writes data received from the MIDI port into the file you specify π The file will contain raw MIDI commands (like in a.syxfile) π«Ά To record a Standard MIDI (.mid) file, usearecordmidi(1)π
amidi will filter out any Active Sensing and Clock bytes (FEh, F8h) unless you've given the -a or -c options π
-S,--send-hex="..."β Sends the bytes you list as hexadecimal numbers to the MIDI port π§-d,--dumpβ Prints data received from the MIDI port as hexadecimal bytes π Active Sensing and Clock bytes (FEh,F8h) won't be shown, unless you've given the-aor-coptions π
This option is super useful for debugging π₯
-t,--timeout=secondsβ Stops receiving data once no data has come in for the amount of time you specify πΈ
If you don't give this option, you have to press Ctrl+C (or kill amidi) to stop receiving data π
-a,--active-sensingβ Doesn't ignore Active Sensing bytes (FEh) when saving or printing received MIDI commands β¨-c,--clockβ Doesn't ignore Clock bytes (F8h) when saving or printing received MIDI commands π¦-i,--sysex-interval=msecondsβ Adds a delay between each SysEx message sent to a device π This is really useful when you're sending firmware updates via SysEx messages to a remote device π«Ά
π§ EXAMPLES
Okay, here are some examples that are giving everything π
amidi -p hw:0 -s my_settings.syx
This will send the MIDI commands in my_settings.syx to port hw:0 π
amidi -p hw:1,0,0 -s firmware.syx -i 100
This will send the MIDI commands in firmware.syx to port hw:1,0,0, with a 100 millisecond delay between each SysEx message β¨
amidi -S 'F0 43 10 4C 00 00 7E 00 F7'
This sends an XG Reset to the default port π₯
amidi -p hw:1,2 -S F0411042110C000000000074F7 -r dump.syx -t 1
This 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
This creates a virtual RawMIDI port and prints all data sent to this port π
π FILES
/usr/share/alsa/alsa.confβ default rawmidi definitions π/etc/asound.confβ system-wide rawmidi definitions πΈ~/.asoundrcβ user specific rawmidi definitions π
π¦ SEE ALSO
aplaymidi(1)πarecordmidi(1)π«Ά
π AUTHOR
Clemens Ladisch <clemens@ladisch.de> π§
Okay bestie, that's the whole tea on AMIDI(1)! 30 Aug 2016 π β¨ Source: AMIDI(1) manual page, the general commands manual πΈ You're literally the best for reading this far ππ«Ά
π¦ where this page comes from
- alpine 3.24: alsa-utils-doc 1.2.15.2-r1 Β· GPL-2.0-or-later
- arch rolling: alsa-utils 1.2.16-1 Β· GPL-2.0-or-later
- centos-stream 10: alsa-utils 1.2.16-1.el10 Β· GPL-2.0-or-later
- centos-stream 9: alsa-utils 1.2.16-1.el9 Β· GPLv2+
- fedora 43: alsa-utils 1.2.16-1.fc43 Β· GPL-2.0-or-later
- fedora 44: alsa-utils 1.2.15.2-3.fc44 Β· GPL-2.0-or-later
- fedora 44: alsa-utils 1.2.16-1.fc44 Β· GPL-2.0-or-later
- nixpkgs unstable: alsa-utils 1.2.16
- ubuntu resolute: alsa-utils 1.2.15.2-1ubuntu1 Β· GPL-2.0-only
- ubuntu stonking: alsa-utils 1.2.15.2-1ubuntu2 Β· GPL-2.0-only
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms