PipeWire 1.6.9 Improves Resampling Quality and JACK Handling

PipeWire 1.6.9 Improves Resampling Quality and JACK Handling

PipeWire 1.6.9 is out with improved JACK object handling, better resampling quality, RAOP fixes, and assorted Bluetooth, PulseAudio, and GStreamer improvements.

Resampling quality

Resampling converts audio between sample rates. Your music is 44.1kHz, your interface is running at 48kHz, and something has to reconcile them.

Done badly it introduces aliasing and distortion. Done well it is inaudible. It is also computationally significant, since it happens continuously for every stream, which is why resamplers trade quality against CPU time.

For most people this is imperceptible. For anyone doing audio work, or anyone with a system mixing several sources at different rates, it is the difference between a clean output and a subtly degraded one.

PipeWire is the layer where this happens now, so improvements here reach everything.

JACK object handling

PipeWire’s ambition was always to replace both PulseAudio and JACK with one thing. Desktop audio and professional audio have genuinely different requirements: consumer audio wants convenience and automatic device handling, while professional audio wants sample-accurate timing, low fixed latency, and arbitrary routing between applications.

The JACK compatibility layer is how professional applications get what they need, and object handling is part of how JACK clients see the graph. Improvements here matter to anyone running Ardour, Carla, or similar on top of PipeWire.

The consolidation has largely succeeded, which is worth saying because it was not obvious it would. Running both PulseAudio and JACK used to require real effort and a tolerance for things breaking.

RAOP

Remote Audio Output Protocol, which is AirPlay audio. Streaming from Linux to AirPlay-capable speakers.

Unglamorous compatibility work with hardware that does not document itself, and the sort of thing that either works or leaves you with a speaker you cannot use.

Bluetooth

Continued improvements. Bluetooth audio on Linux has gone from genuinely bad to largely fine over the past few years, with PipeWire responsible for much of that.

The remaining friction is usually codec negotiation, where the device supports something better than SBC and the two ends fail to agree on it. Our Bluetooth guide covers checking which codec you actually got, which is worth doing if your headphones sound worse on Linux than elsewhere.

pactl list sinks | grep -i codec

Updating

PipeWire is deep infrastructure now, so it arrives with your distribution rather than being installed deliberately.

pipewire --version
systemctl --user restart pipewire pipewire-pulse wireplumber

Restarting the user services is the fix for a surprising range of audio problems and is less disruptive than rebooting.

Background reading

Explainers for the concepts behind this story.