PulseAudio
PulseAudio (ранее PolypAudio) — кроссплатформенный звуковой сервер, созданный в качестве улучшенной замены таких серверов, как ESD, ARts.
PulseAudio | |
---|---|
![]() | |
Тип | Звуковой сервер, библиотека функций и демон |
Разработчик | Леннарт Пёттеринг |
Написана на | Си[1] |
Операционная система | FreeBSD[2], Linux[2], Solaris[2], Microsoft Windows[2] и macOS[2] |
Последняя версия | |
Лицензия | GNU LGPL[1] |
Сайт | freedesktop.org/w… (англ.) |
![]() |
Работает на платформах POSIX, таких как Linux, Solaris и FreeBSD, а также на платформе Microsoft Windows. PulseAudio является свободным программным обеспечением: сервер распространяется под лицензией GNU GPL, а библиотеки — под GNU LGPL. Основной разработчик — Леннарт Пёттеринг.

PulseAudio принимает звук от одного или нескольких источников (процессов или устройств) и направляет одному или нескольким приёмникам (звуковым платам, серверам PulseAudio или процессам). Одной из основных целей проекта является предоставление возможности перенаправления любых звуковых потоков, включая и потоки от процессов, требующих прямого доступа к аудиоустройствам (например, старая OSS). Это достигается с помощью специальных псевдоустройств, работающих непосредственно с другими звуковыми системами, такими как aRts или ESD.
В Linux пользователь может настроить систему ALSA так, чтобы она использовала виртуальное устройство, созданное сервером PulseAudio. Тогда программы, работающие со звуком через драйвер ALSA, будут на самом деле иметь дело с PulseAudio, который взаимодействует с помощью ALSA уже с реальным устройством.
Также PulseAudio предоставляет собственный интерфейс для приложений, аналогичный интерфейсу ESD, через который они могут работать напрямую с сервером, что делает его полноценной заменой ESD. Для приложений OSS PulseAudio предоставляет утилиту padsp
, создающую файлы типа /dev/dsp
, через которые программа работает со звуковым сервером.
Основные возможности:
- раздельная установка уровней громкости для разных программ[4];
- смешивание потоков от разных звуковых плат;
- расширяемая модульная система с поддержкой динамически загружаемых библиотек;
- совместимость со многими популярными аудиоприложениями;
- работа с несколькими источниками и приёмниками звука;
- приемлемая для повседневного непрофессионального использования задержка и возможность ею управлять[5];
- использование технологии zero-copy, сберегающей машинное время;
- интерфейс командной строки с возможностью использования сценариев;
- демон, перенастраиваемый с помощью командной строки;
- встроенное преобразование аудиоформатов;
- синхронизация потоков воспроизведения;
- смешиваемые потоки могут иметь разные частотные характеристики;
- эффективный микшер, даже для звуковых плат без микшера, предотвращающий «монополизацию» звукового устройства отдельной программой.
Примечания
- http://www.freedesktop.org/wiki/Software/PulseAudio/About/
- https://www.freedesktop.org/wiki/Software/PulseAudio/About/
- [ANNOUNCE PulseAudio 15.0] — 2021.
- Interviews/LennartPoettering — FedoraProject (англ.)
- Lennart Pottering. PulseAudio and Jack (англ.).