Представлен релиз звукового сервера PulseAudio 16.0, который выступает в роли посредника между приложениями и различными низкоуровневыми звуковыми подсистемами, абстрагируя работу с оборудованием. PulseAudio позволяет управлять громкостью и смешиванием звука на уровне отдельных приложений, организовывать поступление, смешивание и вывод звука при наличии нескольких входных и выходных каналов или звуковых карт, позволяет на лету менять формат звукового потока и использовать плагины, дает возможность прозрачно перенаправлять звуковой поток на другую машину. Код PulseAudio распространяется в рамках лицензии LGPL 2.1+. Поддерживается работа в Linux, Solaris, FreeBSD, OpenBSD, DragonFlyBSD, NetBSD, macOS и Windows.
Ключевые улучшения PulseAudio 16.0:
- Добавлена возможность использования аудиокодека Opus для сжатия звука, отправляемого при помощи модуля module-rtp-send (ранее поддерживался только PCM). Для включения Opus необходимо собрать PulseAudio с поддержкой GStreamer и выставить в модуле module-rtp-send настройку “enable_opus=true”.
- В модули для передачи/приёма звука через туннели (tunnel-sink и tunnel-source) добавлена возможность настройки задержки при помощи параметра latency_msec (ранее жёстко выставлялась задержка в 250 микросекунд).
- В модулях для передачи/приёма звука через туннели обеспечена поддержка автоматического повторного соединения с сервером в случае обрыва связи. Для включения пересоединения следует выставить настройку reconnect_interval_ms.
- Добавлена поддержка предоставления приложениям информации об уровне заряда аккумулятора звуковых устройств с интерфейсом Bluetooth. Уровень заряда также отображается среди свойств устройства, показываемых в выводе “pactl list” (свойство bluetooth.battery).
- В утилиту pactl добавлена возможность вывода информации в формате JSON. Выбор формата осуществляется при помощи опции ‘–format’, которая может принимать значения text или json.
- Добавлена поддержка стереовывода при использовании гарнитур EPOS/Sennheiser GSP 670 и SteelSeries GameDAC, для которых применяются отдельные ALSA-устройства для стерео и моно (раньше поддерживалось только устройство для моно).
- Решены проблемы с приёмом звука со звуковых карт на базе чипа Texas Instruments PCM2902.
- Добавлена поддержка 6-канальной внешней звуковой карты Native Instruments Komplete Audio 6 MK2.
- Решены проблемы с синхронизацией и точностью определения задержек
при передаче звука через туннели и модуль combine-sink. - В модуль module-loopback добавлен параметр adjust_threshold_usec для тонкой настройки алгоритма управления задержками (по умолчанию используется задержка в 250 микросекунд). Значение по умолчанию параметра adjust_time, уменьшено с 10 до 1 секунды, добавлена возможность установки значений меньше секунды (например, 0.5). Ведение лога корректировки скорости воспроизведения по умолчанию отключено и теперь регулируется отдельной опцией log_interval.
- В модуль module-jackdbus-detect, применяемый для активации передачи/приёма звука через JACK, добавлены параметры sink_enabled и source_enabled для выборочного включения только передачи или приёма звука через JACK. Также разрешена повторная загрузка модуля для одновременного использования разных конфигураций JACK.
- В модуль module-combine-sink добавлен параметр remix для отключения ремикширования каналов, что может потребоваться, например, при использовании нескольких звуковых карт для формирования единого объёмного звука.