stringtranslate.com

ПульсАудио

PulseAudio — это программа звукового сервера с возможностью сетевого подключения , распространяемая через проект freedesktop.org . Он работает в основном на Linux , включая подсистему Windows для Linux в Microsoft Windows и Termux на Android ; различные дистрибутивы BSD , такие как FreeBSD , OpenBSD и macOS ; а также дистрибутивы Illumos и операционную систему Solaris . Он служит промежуточным программным обеспечением между приложениями и оборудованием и обрабатывает необработанные аудиопотоки PCM . [5]

PulseAudio — это бесплатное программное обеспечение с открытым исходным кодом , лицензированное в соответствии с условиями LGPL-2.1 или более поздней версии . [4]

Он был создан в 2004 году под названием Polypaudio, но в 2006 году был переименован в PulseAudio. [6]

PulseAudio конкурирует с более новым PipeWire , который предоставляет совместимый сервер PulseAudio (известный как Pipewire-Pulse), и PipeWire теперь используется по умолчанию во многих дистрибутивах Linux, включая Fedora Linux , Ubuntu и Debian . [7] [8] [9]

Поддержка Microsoft Windows

В Microsoft Windows PulseAudio работает в подсистеме Windows для Linux .

Ядро NT ранее поддерживалось через MinGW (реализация набора инструментов GNU , включающая в себя различные инструменты, такие как GCC и binutils ). Однако порт ядра NT не обновлялся с 2011 года. [10]

Архитектура программного обеспечения

Блок-схема работы PulseAudio
PulseAudio — это демон, который выполняет микширование в программном обеспечении.

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

PulseAudio действует как звуковой сервер, где создается фоновый процесс, принимающий звуковой ввод от одного или нескольких источников (процессов, устройств захвата и т. д.). Затем фоновый процесс перенаправляет эти источники звука на один или несколько приемников (звуковые карты, удаленные сетевые серверы PulseAudio или другие процессы). [11]

Одна из целей PulseAudio — перенаправить через него все звуковые потоки, в том числе от процессов, которые пытаются получить прямой доступ к оборудованию (например, устаревшие приложения OSS ). PulseAudio достигает этого, предоставляя адаптеры для приложений, использующих другие аудиосистемы, такие как aRts и ESD .

В типичном сценарии установки в Linux пользователь настраивает ALSA на использование виртуального устройства, предоставленного PulseAudio. Таким образом, приложения, использующие ALSA, будут выводить звук в PulseAudio, который затем сам использует ALSA для доступа к реальной звуковой карте. PulseAudio также предоставляет собственный собственный интерфейс для приложений, которые хотят напрямую поддерживать PulseAudio, а также устаревший интерфейс для приложений ESD, что делает его подходящим в качестве полной замены ESD.

Для приложений OSS PulseAudio предоставляет padspутилиту, которая заменяет файлы устройств, такие как /dev/dsp, заставляя приложения поверить в то, что они имеют эксклюзивный контроль над звуковой картой. На самом деле их вывод перенаправляется через PulseAudio.

Библиотека Канберра

libcanberra — это абстрактный API для звуков событий рабочего стола и полная замена «API кэша образцов PulseAudio»:

libСидней

libSydney является полной заменой «API потоковой передачи PulseAudio», и планировалось, что libSydney в конечном итоге станет единственным аудио API, используемым в PulseAudio. [15]

Функции

Основные функции PulseAudio включают в себя: [11]

Принятие

PulseAudio впервые появился для обычных пользователей в Fedora Linux , начиная с версии 8, [18] затем был принят основными дистрибутивами Linux, такими как Ubuntu , Debian , [19] Mandriva Linux и openSUSE . Существует поддержка PulseAudio в проекте GNOME , а также в KDE , поскольку он интегрирован в Plasma Workspaces , добавляя поддержку Phonon (мультимедийная платформа KDE) и KMix (интегрированное приложение микшера), а также графический интерфейс «Настройка динамиков». для облегчения настройки многоканальных динамиков. PulseAudio также доступен в дистрибутиве Illumos OpenIndiana и включен по умолчанию в среде рабочего стола MATE .

Различные мобильные устройства на базе Linux , включая Nokia N900 , Nokia N9 и Palm Pre [20], используют PulseAudio.

Tizen , мобильная операционная система с открытым исходным кодом, которая является проектом Linux Foundation и управляется Технической руководящей группой (TSG), состоящей из Intel и Samsung , использует PulseAudio.

Проблемы на этапе внедрения

Сопутствующее программное обеспечение

Другие звуковые серверы

JACK — это звуковой сервер, который обеспечивает воспроизведение звука в реальном времени с малой задержкой (т. е. 5 миллисекунд или меньше) и, начиная с JACK2, поддерживает эффективную балансировку нагрузки за счет использования симметричной многопроцессорной обработки ; то есть нагрузка всех аудиоклиентов может быть распределена между несколькими процессорами. JACK — предпочтительный звуковой сервер для профессиональных аудиоприложений, таких как Ardor , ReZound и LinuxSampler ; несколько бесплатных дистрибутивов для создания аудио используют его в качестве аудиосервера по умолчанию.

JACK и PulseAudio могут сосуществовать: пока JACK работает, PulseAudio может автоматически подключаться в качестве клиента JACK, позволяя клиентам PulseAudio создавать и записывать звук одновременно с клиентами JACK. [36]

PipeWire — это аудио- и видеосервер, который «направлен на поддержку вариантов использования, которые в настоящее время обрабатываются как PulseAudio, так и Jack». [37] [38]

Общая аудиоинфраструктура

До появления JACK и PulseAudio звук в этих системах управлялся многофункциональными интегрированными аудиорешениями. Эти решения не полностью охватывают процесс микширования и потоковой передачи звука, но они по-прежнему используются JACK и PulseAudio для отправки окончательного аудиопотока на звуковую карту.

Смотрите также

Рекомендации

  1. ^ "ОлдНьюс". сайт freedesktop.org .
  2. ^ «PulseAudio 17.0 · PulseAudio / PulseAudio · GitLab» . ГитЛаб . Проверено 13 января 2024 г.
  3. ^ "PulseAudio", Сводка анализа , Open Hub
  4. ^ ab «License», PulseAudio git , Free Desktop , заархивировано из оригинала 4 марта 2014 г. , получено 16 июня 2011 г.
  5. ^ «Поддерживаемые аудиоформаты». www.freedesktop.org . Проверено 13 мая 2023 г.
  6. ^ Проект, ранее известный как Polypaudio
  7. ^ «Изменения/DefaultPipeWire — Wiki проекта Fedora» . Fedoraproject.org . Проверено 13 февраля 2023 г.
  8. Снеддон, Джоуи (22 мая 2022 г.). «В Ubuntu 22.10 PipeWire используется по умолчанию для аудио». МОЙ БОГ! Убунту! . Проверено 13 февраля 2023 г.
  9. ^ «Debian 12 переключается на PipeWire и WirePlumber по умолчанию с помощью рабочего стола GNOME» . www.phoronix.com . Проверено 13 февраля 2023 г.
  10. ^ PulseAudio в Windows
  11. ^ ab «О программе», PulseAudio , Бесплатный рабочий стол , получено 11 марта 2013 г.
  12. ^ «Debian — Результаты поиска пакетов — libcanberra» . packages.debian.org .
  13. ^ «Debian — Результаты поиска пакетов — libasound» . packages.debian.org .
  14. ^ «Debian — Результаты поиска пакетов — libcanberra-pulse» . packages.debian.org .
  15. Пёттеринг, Леннарт (8 февраля 2007 г.). «Резюме FOMS/LCA». 0pointer.de . Проверено 13 марта 2017 г.
  16. Пёттеринг, Леннарт, «Интервью», Fedora Project, Red Hat , получено 3 июля 2009 г.
  17. Вики-сайт Pulse Audio, PulseAudio, заархивировано из оригинала 31 августа 2009 г. , получено 19 июля 2009 г.
  18. ^ «LPC: Аудио Linux: это беспорядок [LWN.net]» . 18 сентября 2008 года . Проверено 11 июля 2019 г.
  19. ^ PulseAudio, Debian, заархивировано из оригинала (вики) 9 ноября 2013 г. , получено 9 ноября 2013 г.
  20. ^ «Идентификация с открытым исходным кодом: создатель PulseAudio Леннарт Поеттеринг», TechWorld , 8 октября 2009 г.
  21. Пёттеринг, Леннарт (25 сентября 2004 г.). «Написание драйвера PortAudio». audio.portaudio.devel . git.net . Проверено 28 февраля 2017 г.
  22. ^ Пёттеринг, Леннарт. «PulseAudio теперь включен по умолчанию при новых установках Fedora». Разработка Fedora ML . Красная Шапка . Проверено 1 марта 2017 г.
  23. ^ «Особенности: звук без сбоев» . Вики проекта Fedora . Проверено 28 февраля 2017 г.
  24. ^ Пёттеринг, Леннарт. «Проблемы Алсы». ПульсАудио — Трек . Архивировано из оригинала 16 октября 2008 года . Проверено 28 февраля 2017 г.
  25. ^ LPC: Аудио Linux: это беспорядок, LWN, 18 сентября 2008 г., заархивировано из оригинала 1 сентября 2009 г. , получено 3 июля 2009 г.
  26. Леннарт Поеттеринг (18 июля 2008 г.), PulseAudio FUD, 0pointer.de, заархивировано из оригинала 2 сентября 2009 г. , получено 30 декабря 2009 г.
  27. ^ Практическое руководство: исправления PulseAudio и общесистемная поддержка эквалайзера, форумы Ubuntu, 10 мая 2008 г., заархивировано из оригинала 1 марта 2010 г. , получено 18 октября 2009 г.
  28. Я сломаю ваше аудио, блог Леннарта Поеттеринга, 19 октября 2009 г. , получено 26 декабря 2009 г.
  29. ^ Нет звука после запуска Flash, YouTube и т. д. (решениеpulsaudio), Форумы Ubuntu, заархивировано из оригинала 29 февраля 2012 г. , получено 18 октября 2009 г.
  30. PulseAudio, Ubuntu Wiki, заархивировано из оригинала 25 февраля 2011 г. , получено 18 октября 2009 г.
  31. ^ «Чрезмерно оптимистичная буферизация в PulseAudio вызывает опустошение (слышимое заикание, хлопки)» . Панель запуска . Проверено 9 ноября 2013 г.
  32. ^ «46466 — PulseAudio нужен способ, позволяющий пользователю установить неприкосновенную максимальную громкость» . Багзилла . Проверено 6 октября 2021 г.
  33. ^ «[РЕШЕНО] отключение PulseAudio — Страница 3» . Вопросы по Linux . Проверено 6 октября 2021 г.
  34. ^ «Ошибка № 410948 «Слишком громкая громкость»: Ошибки: пакет PulseAudio». Убунту . Проверено 6 октября 2021 г.
  35. ^ «# 837637 — Настройки звука часто сбрасываются до 100% громкости» . Журналы отчетов об ошибках Debian . Проверено 6 октября 2021 г.
  36. ^ См. «Загружаемые модули». Модули , Freedesktop.org, https://www.freedesktop.org/wiki/PulseAudio/Software/PulseAudio/Documentation/User/Modules/#index9h2, получено 28 августа 2019 г.
  37. ^ "ПайпВайр". Pipewire.org .
  38. ^ «На пути к рабочей станции Fedora 31 — Кристиан Ф. К. Шаллер».
  39. ^ Введение в звуковые системы и API Linux, Linux.com, 9 августа 2004 г., заархивировано из оригинала 19 октября 2014 г. , получено 23 марта 2013 г. , OSS доступен не только для Linux, но также для ОС BSD и других Unix. Это, пожалуй, единственное ее преимущество, ведь эта система не очень мощная и официально заменена на ALSA в ядрах 2.5...
  40. ^ 4Front Technologies выпускает исходный код открытой звуковой системы, Linux PR, 14 июня 2007 г. , получено 8 января 2012 г..

Внешние ссылки