dwww Home | Manual pages | Find package

pw-cat(1)                   General Commands Manual                   pw-cat(1)

NAME
       pw-cat - Play and record media with PipeWire

SYNOPSIS
       pw-cat [options] [FILE | -]

       pw-play [options] [FILE | -]

       pw-record [options] [FILE | -]

       pw-midiplay [options] [FILE | -]

       pw-midirecord [options] [FILE | -]

       pw-dsdplay [options] [FILE | -]

DESCRIPTION
       pw-cat is a simple tool for playing back or capturing raw or encoded
       media files on a PipeWire server. It understands all audio file formats
       supported by libsndfile for PCM capture and playback. When capturing
       PCM, the filename extension is used to guess the file format with the
       WAV file format as the default.

       It understands standard MIDI files for playback and recording. This tool
       will not render MIDI files, it will simply make the MIDI events
       available to the graph. You need a MIDI renderer such as qsynth,
       timidity or a hardware MIDI rendered to hear the MIDI.

       DSD playback is supported with the DSF file format. This tool will only
       work with native DSD capable hardware and will produce an error when no
       such hardware was found.

       When the FILE is - input and output will be raw data from STDIN and
       STDOUT respectively.

OPTIONS
       -h | --help
           Show help.

       --version
           Show version information.

       -v | --verbose
           Verbose operation.

       -R | --remote=NAME
           The name the remote instance to connect to. If left unspecified, a
           connection is made to the default PipeWire instance.

       -p | --playback
           Playback mode. Read data from the specified file, and play it back.
           If the tool is called under the name pw-play or pw-midiplay this is
           the default.

       -r | --record
           Recording mode. Capture data and write it to the specified file. If
           the tool is called under the name pw-record or pw-midirecord this is
           the default.

       -m | --midi
           MIDI mode. FILE is a MIDI file. If the tool is called under the name
           pw-midiplay or pw-midirecord this is the default. Note that this
           program will not render the MIDI events into audible samples, it
           will simply provide the MIDI events in the graph. You need a
           separate MIDI renderer such as qsynth, timidity or a hardware
           renderer to hear the MIDI.

       -d | --dsd
           DSD mode. FILE is a DSF file. If the tool is called under the name
           pw-dsdplay this is the default. Note that this program will not
           render the DSD audio. You need a DSD capable device to play DSD
           content or this program will exit with an error.

       --media-type=VALUE
           Set the media type property (default Audio/Midi depending on mode).
           The media type is used by the session manager to select a suitable
           target to link to.

       --media-category=VALUE
           Set the media category property (default Playback/Capture depending
           on mode). The media type is used by the session manager to select a
           suitable target to link to.

       --media-role=VALUE
           Set the media role property (default Music). The media type is used
           by the session manager to select a suitable target to link to.

       --target=VALUE
           Set a node target (default auto). The value can be:

           • auto: Automatically select (Default)

           • 0: Don't try to link this node

           • <id>: The object.serial or the node.name of a target node

       --latency=VALUE[units]
           Set the node latency (default 100ms)

           The  latency  determines  the  minimum amount of time it takes for a
           sample to travel from application  to  device  (playback)  and  from
           device to application (capture).

           The  latency determines the size of the buffers that the application
           will be able to fill. Lower latency means smaller buffers but higher
           overhead. Higher latency means larger buffers and lower overhead.

           Units  can  be  s  for  seconds,  ms  for   milliseconds,   us   for
           microseconds, ns for nanoseconds. If no units are given, the latency
           value is samples with the samplerate of the file.

       -P | --properties=VALUE
           Set extra stream properties as a JSON object.

       -q | --quality=VALUE
           Resampler  quality. When the samplerate of the source or destination
           file does not match the samplerate of the server, the data  will  be
           resampled. Higher quality uses more CPU. Values between 0 and 15 are
           allowed, the default quality is 4.

       --rate=VALUE
           The sample rate, default 48000.

       --channels=VALUE
           The number of channels, default 2.

       --channel-map=VALUE
           The  channelmap. Possible values include: mono, stereo, surround-21,
           quad,   surround-22,    surround-40,    surround-31,    surround-41,
           surround-50,  surround-51, surround-51r, surround-70, surround-71 or
           a comma separated list of channel names: FL, FR, FC,  LFE,  SL,  SR,
           FLC,  FRC,  RC,  RL, RR, TC, TFL, TFC, TFR, TRL, TRC, TRR, RLC, RRC,
           FLW, FRW, LFE2, FLH, FCH, FRH, TFLC, TFRC, TSL, TSR, LLFR, RLFE, BC,
           BLC, BRC

       --format=VALUE
           The sample format to use. One of: u8, s8, s16 (default),  s24,  s32,
           f32, f64.

       --volume=VALUE
           The  stream  volume, default 1.000. Depending on the locale you have
           configured, ',' or '.' may be used as  a  decimal  separator.  Check
           with locale command.

AUTHORS
       The                          PipeWire                         Developers
       <https://gitlab.freedesktop.org/pipewire/pipewire/issues>;  PipeWire  is
       available from <https://pipewire.org>

SEE ALSO
       pipewire(1), pw-mon(1),

PipeWire                             1.4.2                            pw-cat(1)

Generated by dwww version 1.16 on Sat Oct 3 06:02:19 CEST 2026.