Выпуск звукового сервера PulseAudio 9.0
22 июня 2016 года
Представлен релиз звукового сервера PulseAudio 9.0, который выступает в роли посредника между приложениями и различными низкоуровневыми звуковыми подсистемами, абстрагируя работу с оборудованием. PulseAudio позволяет управлять громкостью и смешиванием звука на уровне отдельных приложений, организовывать поступление, смешивание и вывод звука при наличии нескольких входных и выходных каналов или звуковых карт, позволяет на лету менять формат звукового потока и использовать плагины, дает возможность прозрачно перенаправлять звуковой поток на другую машину. Код PulseAudio распространяется в рамках лицензии LGPL 2.1+. Поддерживается работа в Linux, Solaris, FreeBSD, OpenBSD, DragonFlyBSD, NetBSD, macOS и Windows.
Ключевые улучшения PulseAudio 9.0:
- Улучшение автоматической маршрутизации звука. В новой версии устранены побочные эффекты, всплывшие после включения в PulseAudio 8 новой системы автоматического переключения на другой профиль при отключении звукового устройства. Например, при отключении наушников PulseAudio может переключиться на S/PDIF и не вернуть звук обратно на наушники после их повторного подключения. Ещё одной проблемой является временное отключения HDMI при переходе монитора в спящий режим - в ответ на такое отключение PulseAudio может переключить вывод звука на другой порт HDMI и не вернуть его обратно после возобновления активности первого монитора. Подобные проблемы теперь устранены;
- Серия изменений в системе подавления эха WebRTC:
- Добавлен новый фильтр "beamforming", учитывающий пространственное размещение микрофонов. Фильтр активируется через задание параметра "beamforming=true" при загрузке компонента module-echo-cancel и требует задания данных о геометрии микрофонов и направлении источника звука, которые передаются через параметры "mic_geometry" и "target_direction".
- Реализован режим расширенного фильтра ("extended filter"), при котором система подавления эха менее чувствительна к поступающим от оборудования некорректным данным о задержках. По умолчанию режим отключен и включается после передачи опции "extended_filter=true".
- Обеспечена возможность отключения механизма определения голосовой активности (параметр "voice_detection=false");
- Добавлена возможность настройки начальной громкости при использовании AGC (automatic gain control) через указание опции "agc_start_volume=[0-255]".
- Серия улучшения в работе модулей module-role-cork и module-role-ducking: добавлена поддержка потоков с установленным свойством "media.role", добавлена специальная роль "any_role" (позволяет выбрать все потоки, за исключением текущего), обеспечена возможность выбора разных уровней приглушения громкости для разных потоков;
- Отключён по умолчанию активированный в PulseAudio 7 новый метод синтеза LFE-канала (низкочастотные эффекты для сабвуфера) из обычного звукового контента, не имеющего отдельного LFE-канала. В PulseAudio 7.x и 8.x LFE-канал формировался на основе фильтрации низкочастотных гармоник в оригинальном контенте. В PulseAudio 9 возвращен старый метод усреднения имеющихся каналов c приглушением LFE, так как новый метод пока не работает корректно и LFE получался слишком тихим;
- Представлена начальная реализация нового транспорта memfd-backed, использующего разделяемую память для эффективной передачи данных между сервером и клиентом без промежуточной буферизации. Бэкенд базируется на использовании механизма Memfd (позволяет выделить память как через malloc, но обращаться к ней как с файлом, по файловому дескриптору), предложенного разработчиками systemd/kdbus и включённого в состав ядра Linux 3.17;
- Допустимая частота дискретизации повышена с 192 kHz до 384 kHz;
- Система сборки переведена с использования по умолчанию стандарта C99 на C11. При сборке компилятор теперь вызывается с флагом "-std=gnu11", что позволяет использовать в коде новые возможности стандарата C11.
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.