Пульс аудио для линукс

Содержание
  1. Как установить pulseaudio в Ubuntu / Debian
  2. Установка:
  3. Подробная информация о пакете:
  4. Зависимости:
  5. PulseAudio (Русский)
  6. Contents
  7. Установка
  8. Интерфейсы
  9. Настройка
  10. Файлы настроек
  11. daemon.conf
  12. default.pa
  13. client.conf
  14. Команда настроек
  15. Выполнение
  16. Настройка бакэндов
  17. Раскрытие источников, устройств вывода и микшеров PulseAudio для ALSA
  18. ALSA/dmix без захвата аппаратного устройства
  19. Оболочка padsp
  20. GStreamer
  21. OpenAL
  22. libao
  23. Эквалайзер
  24. Загрузка устройства вывода эквалайзера и модуля dbus-protocol
  25. Графический интерфейс
  26. Загрузка эквалайзера и модуля DBus при каждой загрузке системы
  27. Альтернативные эквалайзеры
  28. Приложения
  29. AlsaMixer.app
  30. XMMS2
  31. Рабочая область KDE Plasma и Qt4
  32. Audacious
  33. Music Player Daemon (MPD)
  34. MPlayer
  35. guvcview
  36. Сетевой звук
  37. Базовая настройка с прямым подключением
  38. На сервере
  39. На клиентской машине
  40. Советы и хитрости
  41. Регулировка звука клавиатурой
  42. Проигрывание звука через неинтерактивную оболочку (служба systemd, cron)
  43. Сигналы событий X11
  44. Переключение при подключении
  45. Скрипт для переключения аналоговых выходов

Как установить pulseaudio в Ubuntu / Debian

Установка:

Для установки pulseaudio в Ubuntu / Linux Mint / Debian, введите в Терминал :

Подробная информация о пакете:

Звуковой сервер PulseAudio

Зависимости:

Добавлять и удалять пользователей и группы

Changehat Библиотека AppArmor

Общая библиотека для приложений ALSA

Дополнительные модули библиотеки ALSA

Библиотека GNU C: общие библиотеки

Возможности POSIX 1003.1e (библиотека)

Простая межпроцессная система обмена сообщениями (библиотека)

Библиотека поддержки GCC

Библиотека межконтентной библиотеки X11

Независимая от системы dlopen-обертка для GNU libtool

Библиотека оптимизированных внутренних циклов Компилятор времени выполнения

Клиентские библиотеки PulseAudio

Библиотека управления сеансом X11

Библиотека для чтения / записи аудиофайлов

Расширенная библиотека времени исполнения Speex

Стандартная библиотека GNU GNU v3

Системная библиотека systemd

Тривиальная база данных — общая библиотека

Модуль AudioProcessing из проекта WebRTC.

X11 клиентская библиотека

Библиотека интерфейса Xlib/XCB

X11 Testing — библиотека расширений записи

Функциональность базового сценария Linux Standard Base

Средства командной строки для звукового сервера PulseAudio

Источник

PulseAudio (Русский)

PulseAudio — это многофункциональный звуковой сервер, предназначенный для работы в качестве прослойки между вашими приложениями и аппаратными устройствами, либо ALSA или OSS. Он также с легкостью может передавать аудио по сети между локальными устройствами используя Avahi, если тот доступен. Несмотря на то, что основная цель заключена в простоте настройки звука, его модульная архитектура позволяет более опытным пользователям конфигурировать демон в соответствии со своими нуждами.

Contents

Установка

Некоторые модули PulseAudio были отделены от основного пакета и должны быть установлены самостоятельно, если требуются:

  • pulseaudio-alsa для работы PulseAudio с ALSA, см. #ALSA
  • pulseaudio-bluetooth : поддержка Bluetooth (Bluez)
  • pulseaudio-equalizer : эквалайзер устройств вывода (qpaeq)
  • pulseaudio-jack : определение устройств вывода, источников JACK и jackdbus
  • pulseaudio-lirc : инфракрасный контроль громкости (LIRC)
  • pulseaudio-zeroconf : поддержка Zeroconf (Avahi/DNS-SD)

Интерфейсы

Существует множество интерфейсов для управления демоном PulseAudio:

  • Настройка/управление громкостью (графический): pavucontrol
  • Базовая настройка демона (графический): paprefs
  • Управление громкостью через установленные сочетания клавиш клавиатуры: pulseaudio-ctlAUR , pavolume-gitAUR
  • Консольные (CLI) микшеры: ponymixAUR и pamixer
  • Консольные (curses) микшеры: pulsemixer
  • Контроль громкости по сети: PaWebControl
  • Иконки панели задач: pasystray , pasystray-gitAUR и pasystray-gtk2-standaloneAUR .
  • Plasma-апплет KF5: kmix и plasma-pa
  • Плагин Xfce4: xfce4-pulseaudio-plugin , pa-applet-gitAUR

Настройка

Файлы настроек

По умолчанию PulseAudio настроен на управление и автоматическое обнаружение всех звуковых карт. Он берёт под свой контроль все обнаруженные устройства ALSA, и перенаправляет все аудиопотоки на себя, делая демон PulseAudio центральной точкой настроек. Демон, в основном, должен работать «из коробки», требуя только нескольких незначительных изменений настроек.

PulseAudio будет сначала смотреть файлы настроек в домашнем каталоге

/.config/pulse , а затем в общесистемном /etc/pulse .

PulseAudio работает как демон сервера, который может работать или общесистемно или для каждого пользователя, с помощью архитектуры клиент/сервер. Без своих модулей демон сам по себе ничего не делает, кроме обеспечения API и размещения динамически загружаемых модулей. Вся маршрутизация аудио и обработка задач обрабатывается различными модулями. Вы можете найти подробный список всех доступных модулей в Загружаемые Модули Pulseaudio (Англ.). Чтобы включить их, Вы можете добавить строку load-module в

/.config/pulse , затем скопируйте ( cp /etc/pulse/

/.config/pulse ) файлы настроек системы в него, и редактируйте согласно Вашим требованиям.

  • Убедитесь, что Вы держите пользовательские настройки в синхронизации с изменениями в пакетных файлах /etc/pulse/ . Иначе, PulseAudio может отказаться запускаться из-за ошибки в настройках.
  • Нет необходимости добавлять Вашего пользователя к группе audio, поскольку он использует udev и logind для динамичного предоставления доступа к «в настоящее время активному» пользователю. Исключение составляют клиентские (headless) машины, в которых нет понятия текущий «активный» пользователь.
  • daemon.conf

    Определяет основные настройки, такие как: частоты дискретизации по умолчанию, используемые модулями, методы повторной выборки, планирование в реальном времени, и другие различные настройки, связанные с серверным процессом. Они не могут быть изменены во время выполнения, без перезапуска демона PulseAudio. Значения по умолчанию подходят для большинства пользователей.

    ) в описании путей в этом файле. Используйте абсолютные пути для любых файлов.

    Читайте также:  Microsoft lifecam studio не работает windows 10
    Известные параметры настроек
    Опция Описание
    system-instance (системный экземпляр) Запустит демон как общесистемный экземпляр. Крайне нежелательно, поскольку это может привести к проблемам безопасности. Полезно в системах с несколькими пользователями и (headless) системах, не имеющих никаких настоящих локальных пользователей. Значение по умолчанию no .
    avoid-resampling (избегать методы дискретизации) Со значением avoid-resampling = yes , PulseAudio автоматически настроит частоту дискретизации аппаратного обеспечения в соответствии с той, которую использует приложение, при условии, что аппаратное обеспечение ее поддерживает (необходим PA 11 или новее)
    resample-method (метод частоты дискретизации) Какой метод частоты дискретизации (resampler) использовать, когда звук с несовместимыми частотами дискретизации должен быть передан между модулями (например, воспроизведение звука на 96 кГц на аппаратном обеспечении, поддерживающим только 48 кГц). Доступные resampler’ы могут быть перечислены с помощью $ pulseaudio —dump-resample-methods . Выберите и используйте лучший компромисс между загрузкой процессора и качеством звука.
    flat-volumes flat-volumes масштабирует громкость устройства с громкостью «самого громкого» приложения. Например, повышение громкости вызова VoIP повысит аппаратную громкость и скорректирует звук аудиоплеера, таким образом, что понижать громкость аудиоплеера вручную нет необходимости. Значение по умолчанию yes , но в сборке для Arch — no . default-fragments (фрагменты по умолчанию) Аудиосэмплы разделяются на многократные фрагменты default-fragment-size-msec . Чем больше буфер, тем менее вероятен пропуск звука, когда система будет перегружена. С другой стороны это увеличит общую величину задержки. Увеличьте это значение, если у Вас есть проблемы.

    default.pa

    Этот файл является сценарием запуска и используется для настройки модулей. Он анализируется и читается после завершения инициализации демона. Дополнительные команды могут быть отправлены во время выполнения с помощью $ pactl или $ pacmd . Сценарий запуска также может быть указан в командной строке, путем запуска PulseAudio в терминале, с помощью $ pulseaudio -nC . Это заставит демона загрузить модуль CLI и принимать настройки непосредственно из командной строки, выдавать получающуюся информацию или сообщения об ошибках на том же терминале. Это может быть полезно при отладке демона или тестирования различных модулей, перед постоянной установкой их на диск. Обратитесь к странице руководства pulse-cli-syntax(5) , для пояснений элементов синтаксиса

    /.config/pulse/default.pa может начинаться со строки .include /etc/pulse/default.pa и далее блок с переназначением параметров по умолчанию.

  • Для перечисления доступных устройств вывода, выполните $ pacmd list-sinks|egrep -i ‘index:|name:’ . Задействованное в настоящее время устройство вывода по умолчанию, отмечено звёздочкой (*).
  • Редактируйте

    /.config/pulse/default.pa для вставки/изменения команды установленного_по_умолчанию_устройства_вывода, использующей имя устройства вывода, поскольку повторная нумерация не может быть гарантирована.

    client.conf

    Это файл настроек, читающийся каждым клиентским приложением PulseAudio. Он используется для настройки опций во время выполнения для отдельных клиентов. Может использоваться чтобы устанавливать и настраивать устройство вывода по умолчанию и для статического запуска, а также позволять (или запрещать) клиентам автоматический запуск сервера, если он в настоящее время не работает.

    Команда настроек

    Основная команда для настройки сервера во время выполнения является $ pacmd . Для списка опций выполните $ pacmd —help , или для входа в интерактивный режим оболочки выполните $ pacmd и Ctrl+d для выхода. Все модификации будут сразу применены.

    После того, как новые настройки были проверены и удовлетворили Ваши потребности, соответственно отредактируйте default.pa , чтобы изменения стали постоянными. Для некоторых основных настроек, смотрите PulseAudio/Examples (Русский).

    Важно понять, что «sources» (источники) (процессы, устройства захвата) и доступные «sinks» (устройства вывода/приемники) (звуковые карты, серверы, другие процессы) можно выбрать через PulseAudio, это зависит от текущих аппаратных средств выбранного «Profile» (профиля). Эти «Профили» являются теми ALSA «pcms» перечисленные командой aplay -L , и более конкретно командой pacmd list-cards , которая будет включать строку «index:» (индекс), список начинающийся с «profiles:» (профилей) и строку «active profile: » (активный профиль) на выводе, среди других вещей.

    «active profile» (Активный профиль) может быть установлен командой pacmd set-card-profile INDEX PROFILE без запятой ( , ) разделяющей INDEX и PROFILE, где INDEX является просто числом на строке «index:» и имя PROFILE является всем показанным с начала любой строки под «профилем»: до двоеточия и первого пробела, как показано командой pacmd list-cards . Например, pacmd set-card-profile 0 output:analog-stereo+input:analog-stereo .

    «Профиль» проще выбрать с графическим инструментом, таким как pavucontrol , под вкладкой «Configuration» (Настройка) или Параметрами настройки системы KDE, «Мультимедийные/Аудио и Параметры видео», под вкладкой «Audio Hardware Setup». Каждая аудио «Карта», которая является устройством, перечисленным командой aplay -l , или командой pacmd list-cards , будет иметь свой собственный выбор «Профиля». Когда «Профиль» был выбран, то доступные «источники» и «приемники» можно увидеть при помощи команд pacmd list-sources и pacmd list-sinks . Обратите внимание на то, что «индекс» доступных источников и приемников изменятся каждый раз, когда изменяется профиль карты.

    Выбранный «Профиль» может вызывать проблемы у некоторых приложений, особенно Adobe Flash Player, обычно /usr/lib/mozilla/plugins/libflashplayer.so и /usr/lib/PepperFlash/libpepflashplayer.so . Часто, эти флэш-плееры будут работать только тогда, когда выбран один из профилей Стерео, иначе видео будет проигрываться без звука или просто «откажется» воспроизводиться. Когда все остальное перестало работать, Вы можете попробовать выбрать другой профиль.

    Читайте также:  Какие задачи windows movie maker позволяет выполнить выберите ответ

    Конечно, при настройке некоторых вариаций Surround Sound (Объёмного Звука) в PulseAudio, должен быть выбран соответствующий профиль Surround. Прежде чем объёмный звук будет работать, сделайте такие вещи, как переназначение каналов динамиков (speaker channels).

    Выполнение

    PulseAudio на Arch имеет pulseaudio.socket , который включен по умолчанию для экземпляра systemd/Пользователь. Это значит, что по необходимости PulseAudio запустится автоматически.

    Для получения дополнительной информации посмотрите PulseAudio: Выполнение.

    Настройка бакэндов

    Если у вас есть приложения, которые совсем не поддерживают PulseAudio, но используют ALSA, они будут пытаться получить доступ напрямую к звуковой карте через ALSA, минуя PulseAudio. Таким образом, звуковая карта перестанет быть доступной для PulseAudio. Вследствие чего, все приложения, использующие PulseAudio, перестанут работать, как описано здесь. Чтобы этого избежать, вам необходимо установить пакет pulseaudio-alsa . Он содержит файл /etc/asound.conf необходимый для настройки возможности ALSA использовать PulseAudio. Также убедитесь, что файл

    /.asoundrc отсутствует, так как при его наличии, он будет переопределять настройки из файла /etc/asound.conf .

    Пожалуйста, также установите lib32-libpulse и lib32-alsa-plugins , если вы используете систему x86_64 и хотите, чтобы в 32-битных multilib программах, например Wine и Steam, был звук.

    Чтобы запретить приложениям ALSA использовать эмуляцию OSS в обход PulseAudio (тем самым не давая другим приложениям воспроизводить звук), убедитесь, что модуль snd_pcm_oss не загружается при загрузке системы. Если он в настоящее время загружен ( lsmod | grep oss ), отключите его, выполнив:

    Раскрытие источников, устройств вывода и микшеров PulseAudio для ALSA

    pulseaudio-alsa также содержит необходимые конфигурационные файлы для разрешения приложениям ALSA использовать устройство PulseAudio по умолчанию. Плагин ALSA pulse более гибкий чем этот:

    Для знакомства со всеми доступными настройками доступен исходный код.

    ALSA/dmix без захвата аппаратного устройства

    Вы, возможно, захотите использовать ALSA непосредственно в большинстве Ваших приложений, при этом, если есть необходимость, иметь возможность использовать приложения требующие PulseAudio. Следующие шаги позволяют Вам заставлять PulseAudio использовать dmix вместо того, чтобы «захватывать» устройство ALSA.

    • Удалите пакет pulseaudio-alsa , обеспечивающий уровень совместимости между приложениями ALSA и PulseAudio. После этого Ваши приложения ALSA будут использовать ALSA напрямую, без «зацепки» Pulse.
    • Отредактируйте /etc/pulse/default.pa .

    Найдите и расскоментируйте строки, загружающие драйверы бэкэнда. Добавьте параметры device (устройства) следующим образом. Затем найдите и закомментируйте строки, загружающие модули автоматического обнаружения.

    • Дополнительно: если Вы используете kmix , Вы можете управлять громкостью ALSA, вместо громкости PulseAudio:
    • Теперь, перезагрузите свой компьютер и попытайтесь запустить одновременно приложения ALSA и PulseAudio. Они оба должны воспроизводить звук одновременно.

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

    Есть несколько способов заставить работать OSS-программы через PulseAudio:

    Установите пакет ossp и запустите службу osspd.service .

    Оболочка padsp

    Программы использующие OSS могут работать с PulseAudio путем его загрузки с padsp (включенный с PulseAudio):

    Вы можете также добавить пользовательский сценарий оболочки:

    Убедитесь, что /usr/local/bin , идёт до /usr/bin в Вашем PATH.

    GStreamer

    Установите gst-plugins-good , или gstreamer0.10-good-plugins AUR , если Ваша программа имеет наследие реализации GStreamer.

    OpenAL

    Приложение OpenAL должно использовать PulseAudio по умолчанию, но может быть настроено так, чтобы использовать именно его:

    libao

    Отредактируйте файл настроек libao:

    Обязательно удалите опцию alsa драйвера dev=default или настройте его для определения конкретного имени устройства вывода Pulse (sink) или его числа.

    Эквалайзер

    PulseAudio имеет интегрированную систему эквалайзера с 10 полосами. Для использования эквалайзера, сделайте следующее:

    Загрузка устройства вывода эквалайзера и модуля dbus-protocol

    Графический интерфейс

    Загрузка эквалайзера и модуля DBus при каждой загрузке системы

    Отредактируйте файл /etc/pulse/default.pa или

    /.config/pulse/default.pa вашим редактором, и добавьте следующие строки:

    Альтернативные эквалайзеры

    pulseeffects AUR [ссылка недействительна: replaced by easyeffects ] применяет ограничение пиковой громкости, компрессию, реверберацию, авто уровень гроскости и 15-полосный эквалайзер к выводу приложений Pulseaudio.

    Приложения

    Обратитесь к QEMU (Русский)#Host для детального описания настройки pulseaudio в QEMU (Русский).

    AlsaMixer.app

    Сделайте alsamixer.app AUR dockapp для использования pulseaudio windowmaker AUR , например:

    Вот два примера, где первый — для ALSA, и другой — для pulseaudio. Вы можете запустить несколько его экземпляров. Используйте опцию выбора -w , кнопок управления для привязки к колесику мышки.

    XMMS2

    Сделайте переключение на вывод pulseaudio

    Для того, чтобы xmms2 использовал другое устройство вывода, например:

    Смотрите также официальное руководство [1].

    Рабочая область KDE Plasma и Qt4

    PulseAudio будет автоматически использоваться приложениями KDE/Qt4. Это поддерживается по умолчанию в микшере звука KDE. Для получения дополнительной информации посмотрите страницу KDE, в wiki PulseAudio.

    Один полезный совет с этой страницы заключён в том, что следует загружать load-module module-device-manager . Обычно это происходит автоматически при входе в систему с помощью скрипта /usr/bin/start-pulseaudio-x11 , но если этого не произошло, вы можете добавить его вручную в файл /etc/pulse/default.pa . О возможных конфликтах с module-switch-on-connect смотрите #Переключение при подключении.

    Читайте также:  Fruity loop mac os

    Если бэкэнд phonon-gstreamer используется для Phonon, GStreamer должен также быть настроен, как описано в #GStreamer.

    Audacious

    Audacious изначально поддерживает PulseAudio. Для его использования установите Audacious Настройки -> Audio -> Current output plugin как ‘PulseAudio Output Plugin’.

    Music Player Daemon (MPD)

    MPlayer

    MPlayer изначально поддерживает вывод PulseAudio с опцией -ao pulse . Он также может быть настроен для использования вывода PulseAudio по умолчанию, в

    /.mplayer/config для конкретного пользователя, или для всей системы /etc/mplayer/mplayer.conf :

    guvcview

    guvcview при использовании входа PulseAudio от Веб-камеры, может перевести аудиовход в «приостановленный» режим, в результате чего звук не будет записываться. Вы можете проверить это путем выполнения:

    Если источник аудиосигналов «suspended» (приостановлен), измените следующую строку в /etc/pulse/default.pa , изменение:

    И затем перезапустите PulseAudio или Ваш компьютер только займет аудиовход вместо того, чтобы находиться в «приостановленном» режиме. Теперь guvcview будет писать звук правильно.

    Сетевой звук

    Проигрывание звука через аудиовыходы других компьютеров сети

    Базовая настройка с прямым подключением

    На сервере

    /.config/pulse/default.pa или /etc/pulse/default.pa (или /etc/pulse/system.pa , если PulseAudio запускается в системном режиме) и добавьте следующую строку:

    Теперь только клиент с конкретным IP или диапазоном IP, определённым здесь, может получать звук.

    Для разрешения общего доступа:

    /.pulse-cookie , который должен быть одинаковым и на клиенте и на сервере.

    По умолчанию для входящих соединений PulseAudio слушает порт tcp/4713 , поэтому вам может потребоваться открыть этот порт в брандмауэре.

    На клиентской машине

    /.config/pulse/client.conf или /etc/pulse/client.conf для установки этих настроек для одного пользователя или для всех и добавьте:

    server-address может быть простым именем домена или IPv4, больше информации можно найти в документации

    Также можно установить адрес сервера в переменной окружения $PULSE_SERVER .

    Советы и хитрости

    Регулировка звука клавиатурой

    Привяжите следующие команды к своим кнопках регулировки громкости: XF86AudioRaiseVolume , XF86AudioLowerVolume , XF86AudioMute . Подробнее это рассмотрено здесь Extra keyboard keys in Xorg (Русский).

    Во-первых, найдите устройство вывода, которое является источником звука, которым вы хотите управлять. Для отображения списка доступных источников вывода используйте команду:

    Предположим, что используется источник 0, тогда для увеличения громкости:

    Для понижения громкости:

    Проигрывание звука через неинтерактивную оболочку (служба systemd, cron)

    Установите XDG_RUNTIME_DIR перед командой (замените user_id на ID пользователя, запускающего PulseAudio):

    Или используйте machinectl :

    Сигналы событий X11

    Для передачи pulseaudio управления сигналами событий X11, выполните следующие команды после запуска сеанса X11:

    Для настройки уровня громкости сигналов X11, запустите команду:

    100 — это уровень в процентах. Для корректной работы потребуется пакет xorg-xset . Чтобы узнать как запускать данные команды автоматически при загрузке сессии X11, ознакомьтесь с разделом Autostarting (Русский).

    Переключение при подключении

    Это модуль, используемый для переключения выходного звукового сигнала на вновь подключенное устройство. Например, если вы подключите USB гарнитуру, то звук будет переведён на неё. Если вы её отключите, то звук вернётся на последнее используемое устройство. Данная функция могла казаться немного неотлаженной, но ей уделили много внимания в PulseAudio 8.0 и на текущий момент она должна работать стабильно.

    Если вы хотите только протестировать работу модуля, то вы можете загрузить его во время выполнения, вызвав:

    Если вы хотите сохранить данные настройки, то вам нужно добавить их в ваши локальные настройки pulseaudio или в файл /etc/pulse/default.pa (изменения будут применены во всей системе). В обоих случаях добавьте строку:

    В KDE/Plasma5, кроме того, вам следует отключить module-device-manager. Как только запускается Plasma5, она загружает (через start-pulseaudio-x11) модуль module-device-manager для pulseaudio для управления устройствами. Но этот модуль, очевидно, конфликтует с module-switch-on-connect. Таким образом, вам следует отключить этот модуль, отредактировав файл /bin/start-pulseaudio-x11 и закомментировав строки, относящиеся к KDE. Затем выполните выход и вход в систему для перезапуска сессии pulseaudio. Теперь переключение по подключению должно работать.

    Скрипт для переключения аналоговых выходов

    Некоторые звуковые карты обладают несколькими аналоговыми выходами, которые можно переключать через профили Pulseaudio. Но переключение вручную может быть неудобным, и вы можете использовать для этого следующую команду:

    Таким образом, выбранный вами порт станет выходом по умолчанию. Пример:

    Список портов можно получить, используя:

    Текущий выход можно отобразить командой:

    Эти операции можно автоматизировать простым скриптом. Затем пользователь может назначить его на ярлык:

    Этот скрипт предназначен для переключения между двумя профилями. Сначала он проверяет текущий профиль, а затем заменяет его. Пользователям необходимо изменить поле ‘active profile’ в соответствии с языком, который предоставил pactl. Пользователям, возможно, понадобится изменить номер карты и выхода для настройки под свою конкретную систему.

    Источник

  • Оцените статью