PulseAudio

 

PulseAudio, ранее известный как Polypaudio, — звуковой сервер для систем POSIX и WIN32. Это замена звуковому серверу ESD с намного меньшим временем задержки, лучшим качеством микширования и дискретизации и лучшей общей архитектурой.

Вот некоторые возможности PulseAudio:

  • Высококачественное программное микширование нескольких аудиопотоков с
    • поддержкой более одного входа и выхода. Может использоваться для объединения нескольких звуковых карт в одну (с изменением частоты дискретизации).
  • Множество поддерживаемых клиентских библиотек. Приложения, использующие
    • ESD, ALSA, oss, libao и GStreamer, поддерживаются без необходимости внесения каких-либо изменений в них. Модули для работы

      PulseAudio доступны для xmms и mplayer.

  • Внесение достаточно малых временных задержек и очень точное измерение
    • времени задержки для воспроизведения и записи. Возможность полной синхронизации нескольких потоков воспроизведения.
  • Сетевая прозрачность: приложения могут воспроизводить
    • или записывать звук на компьютере, отличном от того, на котором они выполняются.
  • Расширяемая архитектура с модулями для jackd, multicast-rtp,
    • lirc и avahi, в числе прочих.

Установка PulseAudio

Установить звуковой сервер можно командой

  # aptitude install pulseaudio

Настройка для приложений, использующих ALSA

Для того, чтобы приложения зависимые от ALSA могли использовать PulseAudio необходимо создать конфигурационный файл /etc/asound.conf (общесистемный) (рекомендуется) или ~/.asoundrc (для каждого пользователя).

  • Это позволит в настройках програм указывать устройство pulse для вывода звука.
 pcm.pulse {
     type pulse
 }
 
 ctl.pulse {
     type pulse
 }

Если вы хотите, чтобы PulseAudio стал устройством по умолчанию для ALSA-приложений используйте эти настройки:

 pcm.!default {
    type pulse
 }
 
 ctl.!default {
     type pulse
 }

Если вы пропустите последние 2 группы, Pulseaudio не будет использоваться по умолчанию. Для корректной работы нужно изменить «alsa device» на «pulse» в каждой используемой программе.

Альтернативные конфигурации

Системы объемного звука

Многие люди имеют многоканальные звуковые карты, но используют акустические системы для двух каналов. PulseAudio не имеет настроек по умолчанию для поддержки объемного звука. Для включения поддержки все каналов отредактируйте файл /etc/pulse/daemon.conf: раскомментируйте строку default-sample-channels (т.е. удалите точку с запятой в начале строки) и установите значение в 6 если у Вас система 5.1, или в 8, если у Вас система 7.1.

# По умолчанию
default-sample-channels=2
# Для 5.1
default-sample-channels=6
# Для 7.1
default-sample-channels=8

После внесения изменений необходимо перезапустить Pulseaudio.

Решение проблем

Отсутствие устройств воспроизведения или захвата звука

Если после обновления или спустя некоторое время Pulseaudio перестал правильно определять входные/выходные устройства и источники, попробуйте очистить конфигурационные файлы pulseaudio. Для этого удалите папки: ~/.pulse, ~/.pulse-cookie и /tmp/.esd-* . Принудительно завершите процесс pulseaudio командой:

# killall -9 pulseaudio

Затем запустите:

$ pulseaudio --start

Если это не поможет также удалите и /etc/pulse и переустановите PulseAudio.

Хрипы и прерывания звука

Если на маломощной машине возникают хрипы, то в /etc/pulse/daemon.conf пропишите следующее:

high-priority = no
nice-level = -1
realtime-scheduling = yes
realtime-priority = 5
flat-volumes = no
resample-method = speex-float-1
default-sample-rate = 48000

Прерывание воспроизведения в Amarok при запущенном Skype

Закомментируйте или удалите строчку в /etc/pulse/default.pa

load-module module-cork-music-on-phone

Непомерное использование ресурсов процессора и искажения

Добавьте строчку в /etc/pulse/default.pa

load-module module-udev-detect tsched=0

Низкий уровень звука или тихий звук

Добавьте строчку в /etc/pulse/daemon.conf :

flat-volumes = no

Различные проблемы со Skype и Wine

Добавьте или раскомментируйте строчки в /etc/pulse/daemon.conf

default-fragments = 10
default-fragment-size-msec = 5

Ссылки

Posted in *nix, Admin, linux