APLAYMIDI2(1)

✨ APLAYMIDI2(1) β€” General Commands Manual ✨

Okay bestie, this is the manual page for aplaymidi2 πŸŽ€ and honestly it's giving main character energy πŸ’…

✨ NAME ✨

aplaymidi2 is a command-line utility that plays MIDI Clip Files 🎢 Literally that's the whole job, no cap πŸ¦‹

✨ SYNOPSIS ✨

aplaymidi2 -p client:port[,...] midi2file ...

✨ DESCRIPTION ✨

So aplaymidi2 is the CLI tool you reach for when you want to play the MIDI Clip file(s) you've got out to one or more ALSA sequencer ports πŸ”₯ It's iconic, ngl 🌸

✨ OPTIONS ✨

  • -h, --help β€” Prints a list of options πŸ’–
  • -V, --version β€” Prints the current version ✨
  • -p, --port=client:port,... β€” This is the big one πŸ‘‘ It sets the sequencer port(s) that the events in your MIDI Clip file(s) get sent to πŸ¦‹

A client can be given by its number, its name, or just a prefix of its name πŸ’… A port is given by its number, and for port 0 of a client you can skip the :0 part, because it's lowkey redundant πŸ™ˆ

You can list multiple ports so you can play MIDI Clip file(s) that have events for multiple devices (ports) matching up with multiple UMP Groups 🌈

For compatibility with pmidi(1), if you don't put a port on the command line, the port spec gets pulled from the ALSA_OUTPUT_PORTS environment variable 🧚

Real talk: aplaymidi2 only supports basic UMP events πŸ’€ Besides the standard MIDI1 and MIDI2 CVMs and 7bit SysEx, the only ones it handles are DCTPQ, DC, Set Tempo, Start Clip, and End Clip 🫢 Lyrics and other meta data in Flex Data get printed too, unless you use the -s option 😭

Multiple output ports are useful when your MIDI Clip file has UMP packets for multiple Groups πŸ¦‹ If the destination is a UMP MIDI 2.0 port, one connection should be enough, since a MIDI 2.0 port can handle inputs for multiple Groups all by itself πŸ’œ For other stuff, like connecting to a legacy MIDI port, you'd need to specify the destination port per Group πŸ“ If it's undefined, it gets sent to the first destination port by default ✨

  • -d, --delay=seconds β€” Tells it how long to wait after the end of each MIDI Clip file, so the last notes have time to die away πŸŒ™ The default is 2 seconds ⭐
  • -s, --silent β€” Don't show message texts 🀫
  • -a, --passall β€” Passes all UMP packets as is 🌸

By default, aplaymidi2 only passes MIDI1 and MIDI2 channel voice messages and handles other UMP packets internally 🧚 With this option, it passes all UMP packets to the target instead πŸ”₯

✨ SEE ALSO ✨

✨ AUTHOR ✨

Takashi Iwai <tiwai@suse.de> 🫢


Bestie, that's the whole page πŸ’– Written by Takashi Iwai, dated 4 July 2024, from APLAYMIDI2(1) 🌈✨