PipeWire CLI tools
This test case tests that PipeWire can be controlled using CLI commands.
Setup
- This test case should be performed on bare-metal machines. To be able to test with virtual machines, consider a USB device pass-through. Leave a note in the comments if you have performed this test using the VM with the USB Passthrough strategy.
- The computer must be equipped with a sound device and a microphone (or another input source of audio).
- Install a desktop version of Fedora 35 (or later).
- Check that the
pipewire-utils
andwireplumber
packages are installed. If not, report it and install them. - Connect your speakers (headphones) to the default sound device.
- Have an audio file in the wav format at your disposal. If you do not have one, you can download a suitable audio file. Some default files can also be found in the
/usr/share/sounds/
directory. - Perform the following test case as a regular user.
How to test
List all available devices (targets) and check that all your output sound devices are listed.
$ wpctl status
Note that each target has an identification number assigned. The default target is marked with an asterisk (
*
). Check that it matches your default audio device.Play a wav sound file over the default target and check that it is correctly played over the default sound device.
$ pw-cat -p <audiofile.wav>
Play a wav sound file while setting the volume to a low level. Check that the playback is quieter when compared to the previous step.
$ pw-cat -p --volume=0.1 <audiofile.wav>
List all available devices (targets) and check that all your input sound devices are listed.
$ wpctl status
Connect your microphone (or another input source of audio) to the default input sound device.
Record a sample recording using your default sound device. Check that it has been correctly recorded. Use the playback command used in Step 2.
$ pw-cat -r audiotest.wav
Record a sample recording using a different volume level. Check that it has been correctly recorded. Compare the volume level with the first recordings and make sure this one is much quieter.
$ pw-cat -r --volume=0.1 quiet.wav
Record a sample recording using a different rate. Check that it has been correctly recorded. Compare the quality with the first recording and check that this recording sounds less clean and has an overall "lower" quality.
$ pw-cat -r --rate=6000 lowrate.wav
If you have more than one audio devices, you can repeat the previous steps with another device using the
--target
option, such as$ pw-cat -p --target=XX <audiofile>
or$ pw-cat -r --target=XX <audiofile>
where
XX
stands for the device number obtained by the--list-targets
option.Alternatively, you can use dedicated commands to play and record audio, i.e.
pw-play
andpw-record
.
Expected results
- Playback targets are listed and they correspond to your audio devices.
- Audio files can be played and recorded using the
pw-cat
command or its dedicated variants. - Connected output and input sound devices work.