LinuxCommandLibrary

pw-mididump

Monitor PipeWire MIDI messages

TLDR

Listen for and dump all incoming MIDI events

$ pw-mididump
copy

Dump MIDI events from a specific file
$ pw-mididump [path/to/file.mid]
copy

Connect to a specific remote PipeWire instance
$ pw-mididump [[-r|--remote]] [remote_instance_name]
copy

Display help
$ pw-mididump [[-h|--help]]
copy

SYNOPSIS

pw-mididump [OPTIONS]

PARAMETERS

-h, --help
    Show help options and exit.

--version
    Show version information and exit.

-p ID, --port=ID
    The ID of the PipeWire MIDI input port to connect to. If not specified, it attempts to connect to the first available MIDI input port.

-P NAME, --port-name=NAME
    The name of the PipeWire MIDI input port to connect to. This provides an alternative way to specify the target port instead of using its numerical ID.

-v, --verbose
    Enable verbose output, providing more detailed information about the received MIDI events. This can include timestamps or additional context.

-r, --raw
    Dump raw MIDI data in hexadecimal format. This can be useful for low-level debugging or when the standard parsed output is insufficient.

-N, --no-colors
    Disable colored output. By default, pw-mididump might use colors to differentiate between various types of MIDI messages for better readability. This option turns off that formatting.

DESCRIPTION

pw-mididump is a powerful utility designed to observe and display MIDI events flowing through PipeWire audio/video server ports. It allows users to select a specific PipeWire MIDI input port, or automatically connect to the first available, and then prints all MIDI messages received on that port to standard output in a human-readable format. This tool is invaluable for debugging MIDI-related issues, monitoring MIDI input from hardware devices or software applications, or understanding how MIDI data is processed within a PipeWire-based system. It can show various types of MIDI messages, including note on/off events, control changes, program changes, and system exclusive messages, making it a critical diagnostic aid for developers, musicians, and users dealing with MIDI instruments and applications in a PipeWire environment. Its output can be used to verify MIDI signal integrity and troubleshoot connectivity problems.

CAVEATS

pw-mididump requires a running PipeWire instance to function. It only displays MIDI input from a single specified port and does not provide functionality to send MIDI messages or route them. The output can be very verbose, especially with active MIDI streams, potentially flooding the terminal. Users should ensure their MIDI devices are properly connected and recognized by PipeWire before using this command.

HISTORY

pw-mididump emerged as part of the PipeWire project, a relatively modern multimedia server designed to unify audio, video, and MIDI processing on Linux. Its development is intertwined with PipeWire's growing MIDI capabilities, which aim to provide a robust and flexible framework for handling musical instrument digital interface data. As PipeWire evolved to offer a comprehensive replacement for older sound servers like PulseAudio and JACK, tools like pw-mididump became essential for diagnostics and debugging, reinforcing PipeWire's commitment to supporting professional audio and music production workflows.

SEE ALSO

Copied to clipboard