LinuxCommandLibrary
GitHubF-DroidGoogle Play Store

pw-midi2play

Play MIDI 2 (UMP) files through PipeWire

TLDR

Play a MIDI 2 (UMP) file
$ pw-midi2play [path/to/file.midi2]
copy
Play to a specific PipeWire target node
$ pw-midi2play --target [node_id] [path/to/file.midi2]
copy
Force the legacy MIDI 1 byte-stream format instead of UMP
$ pw-midi2play --force-midi midi [path/to/file.midi2]
copy
Play with verbose output
$ pw-midi2play -v [path/to/file.midi2]
copy
Read MIDI 2 data from stdin
$ cat [file.midi2] | pw-midi2play -
copy

SYNOPSIS

pw-midi2play [options] [FILE | -]

DESCRIPTION

pw-midi2play sends MIDI 2 events into the PipeWire graph for playback. It is an alias of pw-cat(1) invoked with the TYPE_MIDI2 data type, which expects Universal MIDI Packet (UMP) containers as defined by the MIDI 2.0 specification.UMP packets carry both legacy MIDI 1 messages and MIDI 2 features such as 32-bit-per-channel resolution, per-note controllers, and 16 groups of 16 channels. The tool itself does not synthesise audio: events are routed through the PipeWire graph to a MIDI 2 capable synthesiser or hardware device that renders sound.When - is given as the file argument, MIDI data is read from standard input.

PARAMETERS

-h, --help

Show help and exit.
--version
Show version information.
-v, --verbose
Enable verbose output.
-R, --remote NAME
Connect to the named PipeWire daemon.
--target VALUE
Target node serial or name. 0 disables linking.
--latency VALUE
Set node latency, e.g. 100ms, 2048 samples.
-P, --properties JSON
Extra stream properties as a JSON object.
-M, --force-midi FORMAT
Force MIDI format, midi (legacy bytes) or ump (Universal MIDI Packets, default).

INSTALL

sudo apk add pipewire-tools
copy
sudo zypper install pipewire-tools
copy

CAVEATS

Requires the destination synthesiser, plugin, or hardware to understand MIDI 2 / UMP. Without a downstream renderer the playback is silent. Standard .mid (SMF) files use MIDI 1 byte streams and are typically played with pw-midiplay(1) instead, or with --force-midi midi.

HISTORY

MIDI 2 support arrived in PipeWire alongside the broader pw-cat MIDI 2 (UMP) work, complementing the older pw-midiplay/pw-midirecord pair. PipeWire was created by Wim Taymans at Red Hat and first released in 2017 and is now the default audio server in major Linux distributions. The MIDI 2.0 specification was ratified by the MMA in 2020.

SEE ALSO

Braincup
Open source brain training for math, memory and focus
Braincup mini-games
41 mini-games · Apache-2.0
No ads · No tracking
Play in browser
Download Braincup on the App StoreGet Braincup on Google PlayGet Braincup on F-Droid
276 stars
From the maker of Linux Command Library
Copied to clipboard
Braincup
Open source brain training for math, memory and focus. 41 mini-games, from mental arithmetic to Sudoku, N-Back and Solo Chess.
Apache-2.0 licensed · No ads · No tracking · No account
From the maker of Linux Command Library
Download Braincup on the App StoreGet Braincup on Google PlayGet Braincup on F-Droid