LinuxCommandLibrary
GitHubF-DroidGoogle Play Store

pw-midirecord

Record MIDI events through PipeWire

TLDR

Record MIDI input to a file
$ pw-midirecord [path/to/output.mid]
copy
Record with verbose output
$ pw-midirecord -v [path/to/output.mid]
copy
Record from a specific source node
$ pw-midirecord --target [node_id] [path/to/output.mid]
copy
Record with custom latency
$ pw-midirecord --latency [50ms] [path/to/output.mid]
copy

SYNOPSIS

pw-midirecord [options] [FILE | -]

DESCRIPTION

pw-midirecord captures MIDI events from the PipeWire graph and writes them to a file. It is a convenience wrapper for pw-cat --record --midi, recording MIDI data from connected MIDI controllers, software instruments, or other MIDI sources available through PipeWire.The tool records raw MIDI events only. It does not capture rendered audio from MIDI synthesizers. To record the audio output of MIDI playback, use pw-record instead.When - is given as the file, data is written to stdout.

PARAMETERS

--volume level

Stream volume (default 1.0).
--rate hz
Sample rate in Hz (default 48000).
--channels num
Number of audio channels (default 2).
--channel-map map
Channel layout (e.g. stereo, surround-51, or custom FL,FR mapping).
--format fmt
Sample format: u8, s8, s16, s24, s32, f32, f64 (default s16).
--target value
Source node: auto, 0, or a specific node ID.
--latency value
Node latency (default 100ms).
-q, --quality level
Resampler quality (0-15, default 4).
-R, --remote name
Connect to a specific PipeWire instance.
-P, --properties json
Extra stream properties as a JSON object.
-v, --verbose
Enable verbose output.
-h, --help
Display help information.
--version
Show version details.

CAVEATS

Records MIDI events only, not audio. A MIDI source must be connected in the PipeWire graph for data to be captured. Requires appropriate device permissions for hardware MIDI controllers.

HISTORY

Part of PipeWire, the modern multimedia framework for Linux created by Wim Taymans at Red Hat. PipeWire was first released in 2017 and has become the default audio and video server in major Linux distributions, replacing both PulseAudio and JACK. The pw-cat family of tools provides simple command-line media playback and capture.

SEE ALSO

Copied to clipboard
Kai