Июн 22, 2016 - 0 Comments - Интересно -

Выпуск звукового сервера PulseAudio 9.0

22.06.2016 23:23 Выпуск звукового сервера PulseAudio 9.0

Представлен релиз звукового сервера 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.
  1. Главная ссылка к новости (https://lists.freedesktop.org/…)
  2. OpenNews: Выпуск звукового сервера PulseAudio 8.0
  3. OpenNews: Выпуск звукового сервера PulseAudio 7.0
  4. OpenNews: Разработчики Fedora представили Pinos, аналог PulseAudio для видео
  5. OpenNews: apulse — эмулятор API звукового сервера PulseAudio через ALSA
  6. OpenNews: Интервью с автором systemd и PulseAudio
Тип: Программы
Ключевые слова: pulseaudio
При перепечатке указание ссылки на opennet.ru обязательно
 
 
 
+/
Когда год назад на кедах пробовал, до того, как появился apulse, она ещё пукала при изменении глобальной громкости, это же, блин, так круто, наверно, пукать при изменении громкости!
А с mpd, при условии запуска сервера от mpd, а не от текущего пользователя, так и не хотела дружить.
Да и при запуске от пользователя тоже не сильно спасало.
 
 
 
+/
> А в линуксе ничего нормально не работает.

Не путайте линукс с виндовсом.
У людей с прямыми руками и с правильной софтной базой многое что работает, а если что-то не получается, то это решаемо и есть минимум 2 способа сделать это по-другому.

 
 
+/
>Не путайте линукс с виндовсом.
>У людей с прямыми руками и с правильной софтной базой многое что работает, а если что-то не получается, то это решаемо и есть минимум 2 способа сделать это по-другому.

И кстати, если руки прямые, то не только всё работает на Линукс, но и многое (не всё) начинает работать на Виндовс.

 
+1 +/
IMHO, больше всего по репутации PulseAudio бъёт кривоватый плагин для ALSA, которым все ALSA-приложения заворачиваются в PulseAudio. У него какая-то странная буферизация, которой у простой ALSA не наблюдается.
 
 
 
+/
При настройках по умолчению демон PulseAudio открывает hw устройство (например, hw:0,0) После этого действительно другое приложение открыть его не сможет, ни напрямую, ни через автоматически вставленную цепочку с dmix/plug плагинами. Но обычно вместе с PulseAudio по зависимостям тянутся плагины к ALSA и конфиг, который заворачивает default устройство в плагин pulse.

В результате, если приложение просто открывает ALSA устройство по умолчанию, без явного запроса hw:0,0, его данные отсылаются в сервер PulseAudio, который микширует потоки и через ту же libasound2 уже шлёт данные в hw устройство. Для приложения всё прозрачно.

Вот этот вот pulse плагин — кривоват. В одной программе я выводил звук через ALSA. У многих нормально работало с PulseAudio, но у некоторых глючило. Какие-то правки помогли в одних случаях, но никак не сработали в других. Решилось только отдельным кодом для вывода напрямую в PulseAudio.

 

 Добавить комментарий

Навигация

Let’s block ads! (Why?)


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Человек ? *