mirror of
https://gitlab.freedesktop.org/pipewire/pipewire
synced 2024-09-16 06:29:56 +00:00
8efc221fa8
These tools don't render MIDI or DSD, you need separate tools or hardware for that.
175 lines
5.3 KiB
ReStructuredText
175 lines
5.3 KiB
ReStructuredText
pw-cat
|
|
######
|
|
|
|
-----------------------------------
|
|
Play and record media with PipeWire
|
|
-----------------------------------
|
|
|
|
:Manual section: 1
|
|
:Manual group: General Commands Manual
|
|
|
|
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.
|
|
|
|
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 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 seperator. Check with **locale** command.
|
|
|
|
AUTHORS
|
|
=======
|
|
|
|
The PipeWire Developers <@PACKAGE_BUGREPORT@>; PipeWire is available from @PACKAGE_URL@
|
|
|
|
SEE ALSO
|
|
========
|
|
|
|
``PipeWire(1)``,
|
|
``pw-mon(1)``,
|