Представлен релиз звукового сервера PulseAudio 17.0, который выступает в роли посредника между приложениями и различными низкоуровневыми звуковыми подсистемами, абстрагируя работу с оборудованием. PulseAudio позволяет управлять громкостью и смешиванием звука на уровне отдельных приложений, организовывать поступление, смешивание и вывод звука при наличии нескольких входных и выходных каналов или звуковых карт, позволяет на лету менять формат звукового потока и использовать плагины, дает возможность прозрачно перенаправлять звуковой поток на другую машину. Код PulseAudio распространяется под лицензией LGPL 2.1+. Поддерживается работа в Linux, Solaris, FreeBSD, OpenBSD, DragonFlyBSD, NetBSD, macOS и Windows.
Отмечается, что улучшений в новой ветке PulseAudio 17.0 относительно немного и разработка проекта последнее время замедлилась, так как основное внимание сообщества теперь сосредоточено на разработке мультимедийного сервера Pipewire, менеджера звуковых сеансов WirePlumber и связанных с ними проектах.
Ключевые улучшения PulseAudio 17.0:
- Изменён метод отражения настроек маршрутизации звука ALSA UCM (Use Case Manager) в профили PulseAudio. Вместо генерации комбинированных портов для всех не конфликтующих между собой устройств (т.е. устройств не помеченных как конфликтующие и не использующих одним и те же PlaybackPCM и CapturePCM) теперь создаётся один профиль PulseAudio. Кроме того, разные входы и выходы теперь выставляются как отдельные источники и приёмники, а не как разные порты в одном источнике и приёмнике.
- Улучшена индикация заряда аккумулятора Bluetooth-устройств. Хостовые устройства на базе PulseAudio теперь также могут передавать сведения о заряде внешним Bluetooth-устройствам, например, при подключения устройства на базе PulseAudio к автомобильной информационной системе, данная система покажет уровень заряда подключённого устройства.
- Добавлена поддержка Bluetooth-кодека FastStream, позволяющего добиться более высокого качества двунаправленного звука.
- Библиотека webrtc-audio-processing обновлена до версии 1.3, в которой улучшено подавление эха и повышена устойчивость к дрейфу частоты дискретизации.
- В модуле module-role-cork реализована возможность использования групп ролей в качестве триггера приглушения и возвращения звука.
- При загрузке профилей ALSA теперь используются файловые пути, соответствующие спецификации XDG (вначале $XDG_DATA_HOME, затем $XDG_DATA_DIRS, а уже потом старый путь).
- Максимально поддерживаемая частота дискретизации (PA_RATE_MAX) увеличена до 768kHz.