PulseAudio jest serwerem dźwiękowym opartym na otwartym źródle dla systemu Linux i innych systemów operacyjnych podobnych do UNIX. Został zaprojektowany od podstaw, aby zapewnić użytkownikom niezawodną alternatywę dla starego ESOUND (Enlightened Sound Daemon).
Jest to modułowy serwer dźwięku
Będąc bardzo ważną częścią każdego środowiska komputerowego, serwer dźwięku jest używany głównie do programowego miksowania wielu strumieni audio, ogólnego sprzętu i abstrakcji interfejsu API dźwięku, jak również przezroczystości sieci. Jest to modułowy serwer dźwiękowy, który zawiera liczne moduły wtyczek do obsługi protokołów dźwiękowych, urządzeń dźwiękowych, systemu X Window, Bluetooth, połączeń JACK, transportu RTP, SAP i SDP, kontroli głośności, filtrów, a także różnych protokołów.
Rozszerzalna architektura wtyczek
Nawet jeśli jego architektura wtyczki jest rozszerzalna, zawiera obsługę statycznego łączenia i automatycznego ładowania modułów, więcej niż jednego źródła lub zlewu, interpolację opóźnień po stronie klienta, akceptowalną funkcjonalność o małym opóźnieniu oraz próbkowanie, resampling i konwersję. W przypadku nagrywania i odtwarzania dźwięku projekt zapewnia bardzo dokładne pomiary opóźnienia. Może być łatwo osadzony w innych programach, posiada architekturę "Zero-Copy" i prosty interfejs wiersza poleceń, który pozwala doświadczonym użytkownikom skonfigurować demona podczas jego pracy.
Pod maską
Pod maską PulseAudio zawiera w pełni asynchroniczny interfejs API C (Application Programming Interface), dwa synchroniczne interfejsy API i kilka opcji przesyłania strumieniowego w sieci. Serwer dźwięku może być używany do łatwego łączenia wielu kart dźwiękowych i synchronizowania wielu strumieni odtwarzania w tym samym czasie. Kilka projektów open source oferuje wsparcie dla serwera dźwięku PulseAudio, takiego jak ALSA, LiVES, MPD, MPlayer, xine, VLC Media Player i SXEmacs.
Obsługiwane w każdej nowoczesnej dystrybucji s systemu Linux
W tej chwili PluseAudio jest obsługiwane we wszystkich nowoczesnych dystrybucjach Linuksa, a także w systemach operacyjnych FreeBSD, NetBSD, Solaris, Mac OS X i Microsoft Windows (Win32). Jest także domyślnym serwerem dźwięku wielu dobrze znanych systemów Linux i można go łatwo konfigurować za pomocą aplikacji graficznych PulseAudio Volume Control i PulseAudio Preferences.
Co nowego w tym wydaniu :
- Paczka 12.1 zawierała uszkodzony skrypt konfiguracyjny (budowanie nie powiodło się, gdy włączone jest ustawienie gsettings), więc nie używaj tego! Użyj PulseAudio 12.2, to lepiej! Poza zregenerowanym archiwum nie ma zmian z działającym skryptem konfiguracyjnym i zaktualizowanym plikiem NEWS.
Co nowego w wersji 11.1:
- Lepsze raportowanie opóźnień (i tym samym lepsza synchronizacja A / V) z profilem bluetooth A2DP
- Znacznie dokładniejsze raportowanie opóźnień dla urządzeń AirPlay
- Naprawiono problem z awarią lub wysokim obciążeniem procesora w Intel HDMI LPE
- moduł-switch-on-connect teraz ignoruje urządzenia wirtualne
- Gdy używasz przekazywania dla skompresowanego dźwięku, ustaw "brak dźwięku" bit
- Priorytet nad wyjściem HDMI przez wyjście S / PDIF
- Obsługa HSP dla większej liczby zestawów słuchawkowych Bluetooth
- Wybierz domyślnie profil Bluetooth A2DP zamiast HSP
- Nowe "sink_input_properties" & quot; argument modułu dla modułu-ladspa-sink
- Nowa "use_system_clock_for_timing" argument modułu dla sink-pipe-sink
- moduł-pipe-sink może teraz używać istniejącej rury
- Steelseries Arctis 7 Obsługa stereofonicznego wyjścia słuchawkowego USB
- Obsługa głośników Dell Thunderbolt Dock TB16
- Naprawiono obsługę wejścia cyfrowego dla niektórych kart dźwiękowych USB
- Naprawiono detekcję Native Instruments Traktor Audio 6
- Możliwość wyłączenia wejścia lub wyjścia w systemie MacOS
- Nowy "dereverb" opcja dla tłumika echa Speex
- Nowy moduł: moduł-zawsze-źródło
- Pliki stanu nie są bardziej czytelne dla wszystkich użytkowników w trybie systemowym
- moduł-dodatki-właściwości używa teraz XDG_DATA_DIRS do znalezienia plików .desktop
- Aktualizacje powiązań Vala
- Teraz można uniknąć zależności GConf
- Zmieniono licencję qpaeq z AGPL na LGPL
- qpaeq przeniesiony do Qt 5
- Kompatybilność z glibc 2.27
- Narzędzie esdcompat nie jest już zainstalowane, jeśli obsługa esound jest wyłączona
Co nowego w wersji:
- Automatyczne poprawki routingu
- Beamforming i wiele innych nowych funkcji w kasie echa WebRTC
- Różne ulepszenia w module-roli-korku i pomijaniu roli modułu
- Remiks LFE domyślnie wyłączony
- transport pamięci dzielonej memfd
- Obsługa częstotliwości próbkowania do 384 kHz
- Minimalna wersja zależna od technologii Webrtc-Audio-Processing spadła do 0.2
- Zmieniono standard C z C99 na C11.
Co nowego w wersji 8.0:
- Automatyczne przekierowanie może zmienić profil
- Ulepszenia systemu OS X i NetBSD
- Rejestrowanie dzienników systemowych dla klientów
- Nowy interfejs programowania wagi LFE
- Ulepszenia protokołu modułu dB
- Bardziej elastyczna obsługa plików konfiguracyjnych
- pulsecore-8.0.so został przeniesiony do prywatnego katalogu
- Nowy skrypt do pomiaru zużycia pamięci
- Różne poprawki i drobne poprawki
Co nowego w wersji 7.1:
- Napraw Crasher podczas korzystania z srbchannel
- Napraw błąd konstrukcyjny, który powodował pojawianie się dowiązań symbolicznych w /
- Spraw, aby karty Xonar działały lepiej
- Inne drobne poprawki i ulepszenia
Co nowego w wersji 7.0:
- Synteza kanału LFE z filtrem dolnoprzepustowym
- Nowe resamplery oparte na libsoxr
- Obsługa aktywacji gniazd dla TCP
- "Srbchannel" Mechanizm IPC jest domyślnie włączony
- Bardziej elastyczne wsparcie wykrywania jack podczas korzystania z UCM
- Wyjście z powodu SIGTERM nie jest uważane za awarię
- Lepsze wsparcie dla Creative SoundBlaster Omni Surround 5.1
Co nowego w wersji 6.0:
- Natywna obsługa HSP (zestaw słuchawkowy) BlueZ 5
- Obsługa BlueZ 5 HFP (bez użycia rąk) za pośrednictwem oFono
- obsługa aktywacji gniazd systemowych
- Lepsza obsługa wielokanałowych i 2.1 profili
- Optapozycje remapów
- Wiele drobnych ulepszeń, poprawek i aktualizacji i18n
Co nowego w wersji 4.0:
- Lepsza obsługa żądań o małym opóźnieniu
- Optymalizacje podczas mieszania (ogólne, ARM NEON)
- Domyślny resampler to teraz speex-float-1 (mniejsze użycie procesora)
- Modernizacja technologii Bluetooth dla większej niezawodności i łatwiejszej konserwacji
- Poprawiono wdzięczny przekaz do / z JACK
- Nowy moduł do zastosowania funkcji kaczenia w zależności od ról strumieniowych
- Poprawki infrastruktury kasowania echa
- Zakończenie Bash i Zsh dla narzędzi wiersza poleceń
- Poprawki Solaris i OS X
- Mnóstwo innych ulepszeń, poprawek i dokumentacji oraz aktualizacji i18n
Co nowego w wersji 3.0:
- Obsługa ALSA Use Case Manager (UCM):
- Sprzęt audio na komputerach stacjonarnych i laptopach jest zwykle na tyle standardowy, że PulseAudio obsługuje zwykły zestaw plików konfiguracyjnych. Sytuacja jest inna na przykład w telefony i tablety. Praktycznie wszystkie te urządzenia wymagają osobnych plików konfiguracyjnych do opisu sprzętu, aby PulseAudio mógł właściwie korzystać ze wszystkich podstawowych funkcji sprzętu. Konfiguracja może być dostarczona jako pliki konfiguracyjne PulseAudio, ale ludzie ALSA pracują nad systemem, który pozwala aplikacjom (takim jak PulseAudio) na korzystanie ze sprzętu bez potrzeby dodatkowej konfiguracji w aplikacji. System nazywa się UCM, a PulseAudio ma teraz na to wsparcie.
- Edytowalne parametry filtra LADSPA:
- Moduł LADSPA udostępnia teraz podstawowy interfejs D-Bus do zmiany parametrów filtru w locie. Poprzednio parametry nie mogły zostać zmienione po załadowaniu filtra.
- Bezpośrednia obsługa źródeł Bluetooth:
- PulseAudio może być używany w roli zestawu słuchawkowego Bluetooth, na przykład do podłączenia laptopa do telefonu komórkowego i udawania, że laptop jest zestawem słuchawkowym. W takim przypadku często pożądane jest przywrócenie dźwięku z telefonu na kartę dźwiękową laptopa. Jest to teraz automatycznie realizowane przez moduł bluetooth-policy, który jest ładowany domyślnie. Użytkownicy muszą jednak włączyć obsługę źródeł w konfiguracji BlueZ.
- Optymalizacja ARM NEON:
- Dodano optymalizacje do konwersji formatu próbnego między formatami S16LE i zmiennoprzecinkowymi za pomocą instrukcji ARM NEON. Wsparcie dla nich jest wykrywane podczas kompilacji (na podstawie flag FPU), jak również w czasie wykonywania (na podstawie / proc / cpuinfo). W ramach tych prac położono podwaliny pod dalsze optymalizacje NEON w przyszłości.
- Konfigurowalne opóźnienie opóźnienia urządzenia:
- Dokładne raporty o opóźnieniach są ważne dla np. "synchronizacja ust"; w odtwarzaniu wideo. PulseAudio opiera się na sprzęcie audio, aby zapewnić dokładne informacje o opóźnieniu dźwięku. Jeśli z jakiegoś powodu ta informacja nie jest dokładna, teraz możliwe jest skonfigurowanie przesunięcia, które zostanie zastosowane do każdego raportu opóźnienia, dzięki pracy Google Summer of Code Damira Jelica. Na przykład, jeśli oglądasz wideo i używasz zestawu słuchawkowego Bluetooth do wyjścia audio, synchronizacja ust może być nieco wyłączona, ponieważ PulseAudio nie ma obecnie odpowiedniej obsługi do sprawdzania opóźnień dla urządzeń Bluetooth. Wraz z nadchodzącą wersją pavucontrol będziesz w stanie rozwiązać problem z synchronizacją, dostosowując opóźnienie opóźnienia zestawu słuchawkowego Bluetooth.
- Przestrzegaj specyfikacji katalogu podstawowego XDG:
- Lokalizacja plików konfiguracyjnych została przeniesiona z ~ / .pulse do ~ / .config / pulse (lub jeśli ustawiono $ XDG_CONFIG_HOME, a następnie użyj tego). Jeśli jednak istnieje ~ / .pulse, nadal będzie używane, aby konfiguracja użytkownika nie została utracona podczas aktualizacji PulseAudio. Plik cookie uwierzytelniający został również przeniesiony z ~ / .pulse-cookie do ~ / .config / pulse / cookie.
- Położenie plików runtime (tzn. plików, które nie muszą być przechowywane przez ponowne uruchamianie, np. gniazd) zostało przeniesione z losowego katalogu w katalogu / tmp do $ XDG_RUNTIME_DIR / pulse. W przypadku, gdy $ XDG_RUNTIME_DIR nie jest ustawione, stary schemat nadal jest używany jako rezerwowy.
- Różne zmiany ALSA:
- Regresja w wersji 2.0, która może spowodować, że niektóre komputery nie będą miały pozycji "Głośnik". lub "Internal Mic"; porty zostały w większości naprawione w wersji 3.0 - w połączeniu z Linuksem 3.6 lub nowszym. Ponadto obejście starszych wersji jądra jest stosowane do niektórych najpopularniejszych maszyn.
- Pierre-Louis Bossart wprowadził zmianę w celu poprawienia dokładności kwerend znaczników czasowych, a tym samym planowania w oparciu o licznik czasu, poprzez zapytanie atomowe o pewną liczbę parametrów czasowych ALSA.
- Dodaliśmy właściwość nazwy ikony do portów ALSA, dzięki której twórcy interfejsów mogą wyświetlać lepsze ikony portów.
- Wprowadzono również kilka innych zmian, takich jak usunięcie kłopotliwego portu LFE-on-mono i dodanie dalszych nazw kontrolek miksera, aby lepiej zachować synchronizację z jądrem.
- Ulepszenia dla automatycznego testowania:
- Deng Zhengrong ulepszył automatyczne wsparcie testowania PulseAudio w ramach pracy nad Google Summer of Code. Ulepszenia obejmują obsługę raportowania pokrycia testowego za pomocą gcov, zmianę istniejących testów na "sprawdzanie". i umożliwia uruchomienie demona PulseAudio w celach testowych, przy jednoczesnym uruchomieniu normalnego demona.
- Rozładowywanie modułów według nazwy:
- pactl i pacmd obsługują obecnie moduły rozładowujące według nazwy. Wcześniejsze rozładowywanie mogło odbywać się tylko za pomocą indeksu modułu, co było trochę niewygodne, ponieważ zazwyczaj nie znasz indeksu bez wcześniejszej jego analizy.
- Udoskonalenia w zakresie rejestrowania:
- Oprócz usprawnień w automatycznym testowaniu, uczniowie z GSoC Deng pracowali także nad urządzeniami do logowania PulseAudio. Teraz można zmienić cel dziennika demona uruchomionego za pomocą pacmd, używając polecenia set-log-target. Dodano także nowy typ celu dziennika: "newfile". "Nowy plik" cel jest jak stary "plik" cel, z tą różnicą, że jeśli podana nazwa pliku już istnieje, plik nie zostanie nadpisany, ale zamiast tego zostanie utworzony nowy plik z numerowanym przyrostkiem.
- Refaktoryzacja kodu Bluetooth:
- W modułach Bluetooth wykonano wiele prac związanych z refaktoryzacją, przygotowując się do nadchodzącej obsługi BlueZ 5 i generalnie ułatwiając pracę z kodem. Nie są to zmiany bezpośrednio widoczne dla użytkownika, ale chcielibyśmy skorzystać z okazji i podziękować Mikelowi Astizowi za wspaniałą pracę, którą wykonał.
- Następne kroki:
- Rozwój jest kontynuowany jak zwykle, a wydanie 4.0 ma się stać w kwietniu (do tej pory nie byliśmy zbyt dobrzy w utrzymywaniu 4-miesięcznego cyklu wydawniczego, więc weźmy to z przymrużeniem oka). Raport PulseConf 2012 zawiera wskazówki dotyczące przyszłych działań.
Co nowego w wersji 2.0:
- Alternatywne częstotliwości próbkowania
- Wykrywanie Jacka
- Anulowanie echa: kasowanie WebRTC, automatyczna kontrola wzmocnienia, kompensacja dryftu
- Moduł Virtual Surround
- Xen Paravirtised audio sink
- Naprawiono obsługę HURD
- Poprawa jakości dekoderów A2DP
Co nowego w wersji 0.9.17:
- Lennart Poettering (13):
- libpulse: dodaj nowy kod błędu PA_ERR_BUSY
- alsa: poprawnie przekonwertuj rozmiary buforów próbek
- alsa: prawidłowo zgłoś kody błędów zawieszenia
- i18n: dodaj ja do LINGUAS
- i18n: uruchom make update-po
- build-sys: zwiększ wersję biblioteki
- doxygen: odsyłaj odnośniki do pacat.c i paplay.c jako przykłady, ponieważ tehy nie są jako takie użyteczne, a w przypadku papild już nieistnieją
- doxygen: dodaj rtclock.h do dokumentacji
- doxygen: nie mylić doxygen z fałszywym ..
- proplist: określ właściwości do przechowywania pozycji okna
- Dźwięki pozycji pozycyjnej: pozycja okna honorowania, jeśli jest ustawiona, pozycja w pionie i poziomie
- core: dodaj dodatkowy współczynnik objętości, który jest stosowany po przeprowadzeniu resamplingu
- dźwięki pozycji-zdarzenia: zastosuj współczynnik objętości po, a nie przed resamplingiem
- amitakhya (1):
- Wysyłanie tłumaczenia na Assamse
- anipeter (1):
- Wysyłanie tłumaczenia na język malajalam
- hyuuga (1):
- Wysyłanie tłumaczenia dla po / ja.po
- ifelix (1):
- Wysyłanie tłumaczenia na tamilski
- jassy (1):
- Wysyłanie tłumaczenia na język pendżabski
- kkrothap (1):
- Wysyłanie tłumaczenia na telugu
- rajesh (1):
- Wysyłanie tłumaczenia na język hindi
- runab (1):
- Wysyłanie tłumaczenia na język bengalski (Indie)
- sandeeps (1):
- Wysyłanie tłumaczenia na język marathi
- swkothar (1):
- Wysyłanie tłumaczenia na język gudżarati
- warrink (1):
- Wysyłanie tłumaczenia na język holenderski
Komentarze nie znaleziono