PulseAudio - це мережевий сервери з відкритим кодом для Linux та інших UNIX-подібних операційних систем. Вона була розроблена з нуля, щоб надати користувачам надійну альтернативу старій ESOUND (Просвітлений звуковий Демон).
Це модульний звуковий сервер
Будучи дуже важливою частиною будь-якої обчислювальної обстановки, звуковий сервер в основному використовується для змішування програм декількома аудіопотоками, загальним апаратним забезпеченням та абстракцією звукового API, а також прозорості мережі. Це модульний звуковий сервер, який включає в себе численні модулі плагінів для підтримки звукових протоколів, звукових пристроїв, системи X Window, Bluetooth, JACK підключення, RTP, SAP та SDP транспорту, регулювання гучності, фільтри та різних протоколів.
Розширювана архітектура плагінів
Навіть якщо архітектура плагінів може бути розширюваною, вона підтримує статичне з'єднання та автозавантаження модулів для більш ніж одного джерела або раковини, інтерфейсу затримки клієнта, прийнятної низькозаповненої функціональності та типу зразків та перемотування та перетворення. Для запису та відтворення звуку проект забезпечує дуже точні вимірювання затримки. Він може бути легко вбудований в інші програми, має архітектуру "Zero-Copy" та простий інтерфейс командного рядка, який дозволяє досвідченим користувачам встановлювати демон під час роботи.
Під капотом
Під капотом PulseAudio містить повний асинхронний API C (інтерфейс додаткового програмування), два синхронні інтерфейси та декілька параметрів потокового передавання мереж. Звуковий сервер може бути використаний для легко змішування декількох звукових карт та синхронізації декількох потоків відтворення одночасно. Кілька проектів з відкритим кодом підтримують звуковий сервер PulseAudio, таких як ALSA, LiVES, MPD, MPlayer, Xine, VLC Media Player і SXEmacs.
Підтримується будь-який сучасний дистрибутив Linux
На даний момент PluseAudio підтримується будь-яким сучасним дистрибутивом Linux, а також операційними системами FreeBSD, NetBSD, Solaris, Mac OS X і Microsoft Windows (Win32). Це також стандартний звуковий сервер багатьох відомих операційних систем Linux, і його можна легко налаштувати за допомогою графічних додатків PulseAudio Volume Control та PulseAudio Preferences.
Що нового в цьому випуску :
- У tarall для 12.1 міститься зламаний скрипт налаштування (будівництво не вдалося, коли gsettings було увімкнено), тому не використовуйте це! Використовуйте PulseAudio 12.2, це краще! Крім регенерованого архіву, не існує жодних змін, включаючи скрипт робочого налаштовування та оновлений файл NEWS.
Що нового в версії 11.1:
- Краща звітування про затримку (і, отже, кращу синхронізацію A / V) за допомогою профілю bluetooth A2DP
- Набагато точніші повідомлення про затримку для пристроїв AirPlay
- Виправлена помилка або проблема із використанням процесора Intel HDMI LPE
- модуль switch-on-connect тепер ігнорує віртуальні пристрої
- Якщо використовується пропуск для стиснутого аудіо, встановіть & quot; не аудіо & quot; біт
- Визначення пріоритету виходу HDMI через вивід S / PDIF
- Підтримка HSP для більшості Bluetooth-гарнітур
- Оберіть профіль Bluetooth за замовчуванням замість HSP
- Нові & quot; sink_input_properties & quot; аргумент модуля для module-ladspa-sink
- Новий & quot; use_system_clock_for_timing & quot; аргумент модуля для модульної труби-раковини
- модуль-труба-раковина тепер може використовувати існуючу трубу
- Підтримка стереосистем USB-гарнітури Steelseries Arctis 7
- Підтримка Dell Thunderbolt Dock TB16 для динаміків
- Виправлена підтримка цифрового входу для деяких звукових карт USB
- Виявлено виправлене локальне пристрій Traktor Audio 6
- Можливість відключити введення або виведення на MacOS
- Нова & quot; dereverb & quot; опція для сканера Speex echo
- Новий модуль: модуль завжди джерело
- Файли станів більше не читаються всіма користувачами в системному режимі
- Модуль-augment-properties тепер використовує XDG_DATA_DIRS, щоб знайти файли .desktop
- Оновлення для прив'язки Vala
- Тепер можна уникнути залежності GConf
- ліцензія qpaeq змінено з AGPL на LGPL
- qpaeq перенесено до Qt 5
- Сумісність з glibc 2.27
- Інструмент esdcompat більше не встановлюється, якщо основна підтримка вимкнена
Що нового в версії:
- Автоматичне вдосконалення маршрутизації
- Перетворення та різні інші нові функції в WebRTC echo canceller
- Різні поліпшення в модуль-роль-пробка та модуль-роль-приборкання
- Ремаркетинг LFE відключений за умовчанням
- Транспорт із спільною пам'яттю, що підтримує memfd
- Підтримка частоти дискретизації до 384 кГц
- мінімальна версія належності до WEBTRC-аудіо-обробки припадає на 0,2
- Змінено стандарт С від C99 до C11.
Що нового у версії 8.0:
- Автоматична маршрутизація більш імовірно змінює профіль
- Поліпшення підтримки ОС X і NetBSD
- Журнал реєстрації системних журналів для клієнтів
- Новий інтерфейс програмування балансу LFE
- Покращення модуля-dbus-протоколу
- Більш гнучкий обробку файлів конфігурації
- pulsecore-8.0.so переміщено в приватний каталог
- Новий сценарій для вимірювання споживання пам'яті
- Різні виправлення помилок та невеликі покращення
Що нового у версії 7.1:
- Виправлення драйвера при використанні srbchannel
- Виправте помилку при створенні системи, яка викликала розширення символьних посилань у /
- Зробіть Xonar картки кращими
- Інші незначні виправлення помилок та вдосконалення
Що нового у версії 7.0:
- синтез каналу LFE з фільтрацією низьких частот
- Нові ресамплетори на основі libsoxr
- Підтримка активації розеток для TCP
- "srbchannel" & quot; Механізм IPC включений за умовчанням
- Підтримка визначення гнізда під час використання UCM
- Вихід із-за SIGTERM не вважається невдалою
- Краща підтримка Creative SoundBlaster Omni Surround 5.1
Що нового у версії 6.0:
- BlueZ 5 підтримує HSP (гарнітуру)
- Підтримка профілю BlueZ 5 HFP (вільні руки) за допомогою функції oFono
- підтримка активації системного роз'єму
- Краща підтримка для багатоканальних та 2,1 профілів
- Перезавантажити оптимізацію
- Багато незначних покращень, виправлень помилок та оновлень i18n
Що нового у версії 4.0:
- Покращення обробки запитів про низький час затримки
- Оптимізація під час змішування (типова, ARM NEON)
- За замовчуванням resampler в даний час є speex-float-1 (використання CPU нижче)
- Основне рефакторинг Bluetooth для кращої надійності та зручності обслуговування
- Виправлення для витонченої переносу в / з JACK
- Новий модуль, щоб застосувати приборкання на основі ролях потоку
- Виправлення інфраструктури скасування ехо
- Завершення Bash і zsh для інструментів командного рядка
- Виправлення Solaris і OS X
- Багато інших вдосконалень, виправлень помилок та документів та оновлень i18n
Що нового у версії 3.0:
- Служба підтримки ALSA для оператора Case Management (UCM):
- Звукове обладнання на настільних і портативних комп'ютерах зазвичай є достатньо стандартним для того, щоб PulseAudio міг використовувати загальний набір файлів конфігурації. Ситуація відрізняється, наприклад, від телефони та планшети. Практично всім цим пристроям потрібні окремі файли конфігурації для опису обладнання, щоб PulseAudio правильно використовував всі основні функції апаратного забезпечення. Конфігурація може бути відправлена як файли конфігурації PulseAudio, але люди ALSA працювали над системою, яка дозволяє додаткам (наприклад, PulseAudio) використовувати апаратне забезпечення без необхідності додаткової конфігурації у програмі. Система називається UCM, і PulseAudio тепер має підтримку.
- Параметри фільтрів LADSPA, які можна редагувати під час виконання:
- Модуль LADSPA тепер видає базовий інтерфейс D-Bus для зміни параметрів фільтра на льоту. Раніше параметри змінювати не можна після завантаження фільтра.
- Підтримка нестандартних джерел для джерел Bluetooth:
- PulseAudio може використовуватися в ролі Bluetooth-гарнітури, наприклад, для підключення ноутбука до мобільного телефону та прикинутися, що ноутбук є гарнітурою. У такому випадку часто хочеться відтворити аудіо з телефону на звукову карту ноутбука. Це робиться автоматично за допомогою модуля-bluetooth-політики, яка завантажується за замовчуванням. Хоча користувачі повинні активувати підтримку Source у своїй конфігурації BlueZ.
- Оптимізація ARM NEON:
- Додано оптимізацію для перетворення формату зразка між форматами S16LE та плаваючою точками, використовуючи інструкції ARM NEON. Підтримка цих процесів виявляється під час компіляції (на основі прапорів FPU), а також під час виконання (на основі / proc / cpuinfo). У рамках цих зусиль було закладено основу для додавання додаткових оптимізацій NEON у майбутньому.
- Настроювання затримки зсуву пристрою:
- Точна звітування про затримку важливо, наприклад, для & quot; синхронізація губ & quot; у відтворенні відео. PulseAudio покладається на аудіоапаратні засоби, щоб забезпечити точну інформацію про затримку аудіо. Якщо така інформація з якоїсь причини не точна, тепер можна налаштувати зсув, який буде застосовано до кожного звіту про затримку, завдяки роботі Damir Jelic з Google Summer of Code. Наприклад, якщо ви дивитесь відео та використовуєте гарнітуру Bluetooth для виведення звуку, то синхронізація губ може бути трохи відключена, оскільки PulseAudio наразі не підтримує запит щодо затримки для пристроїв Bluetooth. З майбутньою версією pavucontrol ви зможете виправити проблему синхронізації, налаштувавши зворотне зсув гарнітури Bluetooth.
- Дотримуйтесь специфікації бази даних XDG:
- Місцезнаходження файлів конфігурації було перенесено з ~ / .pulse на ~ / .config / pulse (або якщо встановлено $ XDG_CONFIG_HOME, то використовуйте його). Якщо існує ~ / .pulse, воно все одно буде використовуватися, щоб не змінювати конфігурацію користувача під час оновлення PulseAudio. Файл автентифікації cookie також був перенесений з ~ / .pulse-cookie на ~ / .config / pulse / cookie.
- Місце розташування файлів часу виконання (тобто файли, які не потрібно зберігати під час перезавантаження, наприклад, сокети) було перенесено з довільного каталогу під / tmp до $ XDG_RUNTIME_DIR / pulse. У випадку, якщо $ XDG_RUNTIME_DIR не встановлено, стара схема все ще використовується як резервна.
- Різні зміни ALSA:
- Регресія в 2.0, що може призвести до того, що деякі машини не мають "Speaker" & quot; або & quot; Внутрішній Mic & quot; порти, в основному фіксовано в 3.0 - при використанні разом з Linux 3.6 або вище. Також для деяких найчастіших машин застосовується обхідний шлях для старих ядер.
- П'єр-Луї Боссарт представив зміни, спрямовані на покращення точності запрограмованих тимчасових помилок і, таким чином, планування на основі таймера, шляхом анкетування ряду параметрів синхронізації ALSA.
- Ми додали властивість імені назви для портів ALSA, які можуть допомогти користувачам інтерфейсу користувача відображати кращі піктограми для кожного порта.
- Крім того, було внесено кілька інших змін, таких як видалення неприємного порту lfe-on-mono та додавання додаткових назв елементів керування змішувачами, щоб краще залишатися в синхронізації з ядром.
- Поліпшення для автоматичного тестування:
- Ден Ченгрун покращив підтримку автоматичного тестування PulseAudio в рамках своєї роботи Google Summer of Code. Удосконалення включають підтримку звітування про охоплення тесту gcov, зміну існуючих тестів для використання "check" & quot; рамки та дає змогу запустити демон PulseAudio для тестування, одночасно запустивши звичайний демон.
- Розвантаження модулів за назвою:
- pactl і pacmd тепер підтримують вивантаження модулів за назвою. Раніше вивантаження могло виконуватися тільки за допомогою модульного індексу, що було трохи незручно, тому що зазвичай ви не знаєте індекс, який якось спочатку шукав.
- Удосконалення ведення журналу:
- Окрім автоматичного вдосконалення тестування, студент GSoC Денг також працював у журналах PulseAudio. Тепер можна змінити ціль журналу працює демон з pacmd, використовуючи команду set-log-target. Також додано новий тип цілей журналу: & quot; newfile & quot ;. & Quot; Newfile & quot; ціль, як старий файл "& quot; ціль, з тією різницею, що якщо вказане ім'я файлу вже існує, файл не буде перезаписаний, а замість цього створюється новий файл із пронумерованим суфіксом.
- Рефакторинг коду Bluetooth:
- Була проведена велика кількість рефакторингових робіт на модулях Bluetooth, як підготовка до майбутньої підтримки BlueZ 5 і для того, щоб зробити код більш приємним для роботи в цілому. Це не безпосередньо видимі зміни, але ми б хотіли скористатися цією можливістю, щоб завдяки Мікелю Астізу в будь-якому випадку за те, що він зробив.
- Наступні кроки:
- Розвиток триває, як завжди, і версію 4.0 має бути призначено для виконання в квітні (поки що ми не дуже добре підтримували 4-місячний цикл випуску, однак, це можна зробити сіллю). Звіт від PulseConf 2012 пропонує деякі підказки про те, що може стати наступним.
Що нового у версії 2.0:
- Виявлення джека
- Скасування відлуння: скасування WebRTC, автоматичне регулювання посилення, компенсація дрейфу
- Модуль віртуального оточення
- Xen Paravirtualised аудіо раковина
- Виправлена підтримка HURD
- Покращення якості акуратного декодера A2DP
Що нового у версії 0.9.17:
- Ленарт Поттерінг (13):
- libpulse: додайте новий код помилки PA_ERR_BUSY
- alsa: правильно перетворити розміри буферу зразків
- alsa: правильно повідомити про помилки кодів припинення
- i18n: додати ja до LINGUAS
- i18n: запустіть make update-po
- build-sys: збільшити бібліотечну версію
- doxygen: помістіть посилання на pacat.c та paplay.c як приклади, оскільки tehy не є корисними як такими, а у випадку, коли paplay ще не існує
- doxygen: додати rtclock.h до документації
- doxygen: не плутайте doxygen з помилковими ..
- proplist: визначити властивості для зберігання позиції вікна
- Позиція-подія-звуки: позиція вікна честі, якщо встановлено, положення як вертикально, так і горизонтально
- core: додайте додатковий коефіцієнт об'ємів, який застосовується після повторної вибірки
- Позиція-подія-звуки: застосувати коефіцієнт об'єму після, не перед тим, як перезапилити
- амітахія (1):
- Відправка перекладу для ассамців
- anipeter (1):
- Надсилання перекладу для Малаяламу
- hyuuga (1):
- Відправлення перекладу для po / ja.po
- ifelix (1):
- Відправка перекладу для таміля
- jassy (1):
- Відправка перекладу для Punjabi
- kkrothap (1):
- Відправка перекладу для телугу
- rajesh (1):
- Відправлення перекладу на гінді
- runab (1):
- Надсилання перекладу на бенгальські (Індія)
- sandeeps (1):
- Надсилання перекладу для маратхі
- swkothar (1):
- Надсилання перекладу для Гуджараті
- воїни (1):
- Відправка перекладу на голландський
Коментар не знайдено