Odwieczny problem z opóźnieniem dźwięku w Androidzie – co się zmieniło?

Pomimo świetnego sprzętu audio, które znajdują się w najnowszych flagowcach Android od samego początku cierpi na problem z opóźnieniem dźwięku (ang. audio latency) co uniemożliwia działanie profesjonalnych aplikacji np. do miksowania dźwięku. Na czym to polega? Za chwilę wszystko wyjaśnimy.

Na czym polega opóźnienie dźwięku ?

Tablet-Guitar-FX

Opóźnienie dźwięku to czas od kiedy dźwięk trafi do systemu operacyjnego, następnie zostanie tam przetworzony, a da końcu wyjdzie do człowieka np. przez wyjście mini-jack. Przeciętny człowiek nie zauważa różnicy 20 ms, więc optymalne opóźnienie audio powinno być poniżej tej wartości. Różnicy 10 ms nie zauważy już żaden człowiek. Zapewne dla użytkowników słuchających po prostu muzyki nie robi to żadnej różnicy, jednak dla aplikacji działających w czasie rzeczywistym takich jak np. aplikacje do miksowania muzyki ten aspekt jest bardzo ważny.

Testy Androida KitKat oraz Lollipop wykazały opóźnienie na poziomie ponad 100 ms. Jest to zdecydowanie o wiele za wysoka wartość. Nawet najlepsze urządzenia nie mogły zejść poniżej 40 ms. Google obiecało tą sprawę rozwiązać wraz z najnowszym Androidem Marshmallow. Czy dużo się zmieniło? Za chwilę zobaczymy.

Co zostało zmienione w najnowszym Androidzie?

Technicznie Google dokonało dwóch znaczących zmian. Po pierwsze zmniejszony został rozmiar tzw. bufora cyklicznego (ring buffer). Ten bufor przechowuje tzw. próbki które po zapełnieniu bufora są wysyłane do systemu, a następnie odtwarzane. Mniejszy bufor oznacza, że dźwięk jest przesyłany częściej. Poniżej znajdziecie 2 wykresy pokazujące różnicę w czasie na przykładzie tabletu Nexus 9. Testy wykonano na wersji Lollipop oraz Marshmallow.

Opóźnienie dźwięku na Androidzie w wersji Lollipop Opóźnienie dźwięku na Androidzie w wersji Marshmallow

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Jak widać opóźnienie zmniejszyło się i to znacznie, bo aż ponad 2-krotnie. Nie zapominajmy także o drugiej zmianie wprowadzonej do nowego systemu, a mianowicie wprowadzenie tzw. flagi „FEATURE_AUDIO_PRO”.  Oznacza się nią urządzenia, które wykazują opóźnienie poniżej 20 ms. Dodatkowo nowy Android wprowadza natywne wsparcie dla interfejsu MIDI, czyli sposobu komunikacji między elektronicznymi urządzeniami muzycznymi. Umożliwi to np. wykorzystanie tabletu do obsługi np konsoli DJ, do czego obecnie przeważnie służą laptopy.

Na współpracujące urządzenia musimy poczekać

roadie-guitar-tuner-review

Niestety, na razie jedynie urządzenia Google Nexus 5X, 6P i 9 są oznaczone jako urządzenia „PRO AUDIO”, ponieważ możliwe że do obsługi niskiego opóźnienia urządzenie musi być również przystosowane sprzętowo. Prawdopodobnie dopiero wysyp tegorocznych flagowców uzupełni tę listę. Warto wspomnieć, że również Samsung do swojego zbliżającego się flagowca Galaxy S7 będzie dołączał specjalne narzędzia programistyczne, które pozwolą zbliżyć się do poziomu najnowszych Nexusuów.

Podsumowanie

Jak widzicie Google pierwszy raz zrobiło porządny krok od czasów Androida 2.3 Gingerbread w celu poprawy działania interfejsu audio. Jednakże wcześniej nie było to możliwe, ponieważ urządzenia były po prostu zbyt wolne. Teraz najnowsze zabawki dzięki swojej mocy pozwalają na zabawę w edycję audio w czasie rzeczywistym. Nie zdziwię się jeśli za kilka lat, a może nawet mniej zobaczę DJ z podłączonym tabletem do swojej konsoli zamiast urządzenia ze świecącym jabłuszkiem.