Właśnie zaprezentowano wersję serwera dźwięku PulseAudio 16.0, który działa jako pośrednik między aplikacjami a różnymi podsystemami dźwięku niskiego poziomu, abstrahując pracę od sprzętu.
PulseAudio pePozwala kontrolować głośność i miks dźwięków na poziomie poszczególnych aplikacji, organizuj wejście dźwięku, miksuj i wyprowadzaj w obecności kilku kanałów wejściowych i wyjściowych lub kart dźwiękowych, umożliwia zmianę formatu strumienia audio w locie i użycie wtyczek, umożliwia przejrzyste przekierowanie strumienia audio do innej maszyny.
Główne nowe funkcje PulseAudio 16.0
W nowej wersji zostało to podkreślone dodano możliwość korzystania z kodeka audio Opus do kompresji dźwięku wysyłanego za pomocą modułu module-rtp-send (wcześniej obsługiwane było tylko PCM). Aby włączyć Opus, musisz skompilować PulseAudio z obsługą GStreamera i ustawić ustawienie „enable_opus=true” w module module-rtp-send.
Moduły do nadawania/odbierania dźwięku przez tunele (tunel-sink i tunel-source) mają teraz możliwość regulacji opóźnienia za pomocą parametru latency_msec (wcześniej ustawiano opóźnienie 250 mikrosekund).
Podkreśla się również, że jest nowy algorytm, który utrzymuje stabilną latencję podczas resamplingu adaptacyjne w pętli zwrotnej modułu i gdzie indziej. Częścią tego jest nowa implementacja „wygładzająca czas”. Będzie oferować dokładniejsze i stabilne szacunki opóźnień w porównaniu z obecnym algorytmem. Jest to szczególnie ważne, gdy wymagana jest stała zależność między różnymi strumieniami (synchronizacja A/V, modulo-loopback, modulo-combine-sink, modulo-echo-cancellation, …).
Ponieważ jest to dość skomplikowany nowy kod w głównych częściach przetwarzania dźwięku, stara implementacja jest przechowywana przez jakiś czas, aby mieć kopię zapasową na wypadek błędów.
Moduły nadawczo-odbiorcze audio przez tunele zapewnić wsparcie dla ponownego połączenia do serwera w przypadku awarii połączenia. Aby włączyć ponowne połączenie, ustaw ustawienie reconnect_interval_ms.
Parametr Adjust_threshold_usec dodany do modułu pętli zwrotnej w celu dostosowania algorytmu zarządzania opóźnieniami (domyślne opóźnienie to 250 mikrosekund). Domyślna wartość parametru adjust_time została zmniejszona z 10 do 1 sekundy, dodano możliwość ustawienia wartości poniżej jednej sekundy (np. 0,5). Rejestrowanie ustawień szybkości odtwarzania jest domyślnie wyłączone i jest teraz kontrolowane przez oddzielną opcję log_interval.
Dodany wsparcie dla dostarczania aplikacjom informacji o poziomie baterii urządzeń audio Bluetooth. Poziom naładowania jest również wyświetlany wśród właściwości urządzenia wyświetlanych na wyjściu „lista paktl” (właściwość bluetooth.battery).
La możliwość generowania informacji w formacie JSON został dodany do narzędzia paktl. Format wybiera się za pomocą opcji „–format”, która może przyjmować wartości text lub json.
Dodany obsługa wyjścia stereo podczas korzystania ze słuchawek EPOS/Sennheiser GSP 670 i SteelSeries GameDAC, które używają oddzielnych urządzeń ALSA dla stereo i mono (wcześniej obsługiwane było tylko jedno urządzenie mono).
Spośród innych zmian, które wyróżniają się w nowej wersji:
- Naprawiono problemy z odbiorem z kart dźwiękowych opartych na układzie Texas Instruments PCM2902.
- Dodany Pełna obsługa 6-kanałowej zewnętrznej karty dźwiękowej Audio 6 MK2 firmy Native Instruments.
- Rozwiązano problemy z synchronizacją i dokładnością w określaniu opóźnień podczas przesyłania dźwięku przez tunele i moduł kombinowany.
- Dodano parametry sink_enabled i source_enabled do modułu module-jackdbus-detect używanego do włączania nadawania/odbierania dźwięku przez JACK, aby selektywnie włączać tylko nadawanie lub odbieranie dźwięku przez JACK. Przeładowywanie modułów pozwala również na jednoczesne używanie różnych konfiguracji JACK.
- Parametr remix został dodany do modułu module-combine-sink, aby wyłączyć remiksowanie kanałów, które może być konieczne na przykład podczas korzystania z wielu kart dźwiękowych w celu utworzenia jednego dźwięku przestrzennego.
Wreszcie, jeśli chcesz dowiedzieć się więcej na ten temat, możesz zapoznać się ze szczegółami w następujący link.