The release of the PulseAudio 16.0 sound server is presented, which acts as an intermediary between applications and various low-level sound subsystems, abstracting work with the hardware. PulseAudio allows you to control the volume and mixing of sound at the level of individual applications, organize the input, mixing and output of sound in the presence of several input and output channels or sound cards, allows you to change the format of the audio stream on the fly and use plug-ins, makes it possible to transparently redirect the audio stream to another machine . The PulseAudio code is distributed under the LGPL 2.1+ license. Supports Linux, Solaris, FreeBSD, OpenBSD, DragonFlyBSD, NetBSD, macOS and Windows.
Key improvements in PulseAudio 16.0:
- Added the ability to use the Opus audio codec to compress audio sent using the module-rtp-send module (previously only PCM was supported). To enable Opus, you need to build PulseAudio with GStreamer support and set the “enable_opus=true” setting in the module-rtp-send module.
- The modules for transmitting/receiving sound through tunnels (tunnel-sink and tunnel-source) now have the ability to adjust the delay using the latency_msec parameter (previously, a delay of 250 microseconds was set hard).
- The modules for transmitting/receiving audio through tunnels provide support for automatic reconnection to the server in the event of a connection failure. To enable reconnect, set the reconnect_interval_ms setting.
- Added support for providing applications with information about the battery level of Bluetooth sound devices. The charge level is also displayed among the device properties shown in the “pactl list” output (bluetooth.battery property).
- The ability to output information in JSON format has been added to the pactl utility. The format is selected using the ‘–format’ option, which can take the values text or json.
- Added support for stereo output when using EPOS/Sennheiser GSP 670 and SteelSeries GameDAC headsets, which use separate ALSA devices for stereo and mono (previously only a mono device was supported).
- Problems with sound reception from sound cards based on the Texas Instruments PCM2902 chip have been solved.
- Added support for Native Instruments Komplete Audio 6 MK2 6-channel external sound card.
- Problems with synchronization and delay detection accuracy have been solved when transmitting sound through tunnels and the combine-sink module.
- The adjust_threshold_usec parameter has been added to the module-loopback module to fine-tune the delay management algorithm (the default delay is 250 microseconds). The default value of the adjust_time parameter has been reduced from 10 to 1 second, the ability to set values less than a second (for example, 0.5) has been added. Logging playback speed adjustments is disabled by default and is now controlled by a separate log_interval option.
- Added the sink_enabled and source_enabled parameters to the module-jackdbus-detect module used to enable audio transmission/reception via JACK to selectively enable only audio transmission or reception via JACK. Module reloading is also allowed to use different JACK configurations at the same time.
- The remix parameter has been added to the module-combine-sink module to disable channel remixing, which may be required, for example, when using several sound cards to form a single surround sound.
Pipewire is about to become the default on many Operating Systems. Maybe that is encouraging Pulse to do better.