X4L - wzmacniacz z DSP z serii X
Biznes „nagłośnieniowy” – w porównaniu z innymi dziedzinami techniki (np. przemysłem samochodowym, czy ...
Jeszcze kilkanaście lat temu termin latencja był słowem w zasadzie nic nikomu nie mówiącym, po prostu nieznanym. Było to w czasach, kiedy technika cyfrowa dopiero raczkowała, a urządzenia typu konsoleta cyfrowa każdy „szanujący się” realizator omijał szerokim łukiem.
Nastały jednak czasy, iż technika oparta na zerach i jedynkach dosłownie zagościła w każdym domu, a w systemach dźwiękowych praktycznie rozpanoszyła się na dobre. Jednak – jak ze wszystkim w życiu – oprócz rozlicznych zalet ma ona też swoje wady. Jedną z nich jest właśnie latencja, która w erze urządzeń analogowych nie istniała, bo – jak, mam nadzieję, wszystkim wiadomo – prąd elektryczny porusza się z prędkością zbliżoną do prędkości światła, więc to, czy elektryczny sygnał audio musiał pokonać 1 m, 100 m, czy nawet kilometr w zasadzie nie miało żadnego znaczenia – jak dla nas sygnał ten pojawiał się na wyjściu, po przebyciu tych odległości, w zasadzie w tym samym czasie (jeśli oczywiście na swojej drodze nie spotkał jakichś „opóźniaczy” typu efekt delay). W przypadku techniki cyfrowej, oczywiście nasz „nośnik” informacji, czyli – w przeważającej większości (bo, coraz częściej, mamy też do czynienia ze światłem jako nośnikiem sygnałów) – w dalszym ciągu prąd elektryczny, przemieszcza się z prędkością światła. Sęk w tym, że od momentu wejścia sygnału – czy to analogowego czy nawet cyfrowego – do danego systemu do momentu, kiedy pojawi się na wyjściu (również analogowym lub cyfrowym), musi minąć skończony odcinek czasu.
Może jednak zacznijmy od początku, czyli od
Pojęcie latencji (ang. latency) w Słowniku Webstera (Webster Dictionary) definiowane jest jako cecha lub stan bycia ukrytym (ang. latent), gdzie słowo „latent” z kolei definiuje się bardzo szeroko jako ukryty (ang. hidden) lub nierozwiązany. Ostatecznie „okres ukrycia” (ang. latent period) definiowany jest jako interwał pomiędzy stymulacją (przyczyną) a jej oddziaływaniem (skutkiem). Szczerze mówiąc, o wiele prostsza i więcej mówiąca jest polska definicja słowa „latencja”, zaczerpnięta z Wikipedii, która mówi, że jest to okres utajenia, czas od wystąpienia przyczyny do zaistnienia skutku.
Zanim słowo „latencja” stało się tym, czym obecnie, czyli – w naszej branży – synonimem słów „opóźnienie sygnału”, używano chyba bardziej adekwatnego sformułowania na opisanie zjawiska zwanego obecnie „latencją”. Chodzi o „opóźnienie propagacji” (ang. propagation delay). Propagować to inaczej rozpowszechniać, reprodukować lub transmitować. Jest to o wiele bardziej adekwatne określenie tego, o czym będziemy dyskutować w tym artykule. Opóźnienie propagacji określa czas, który upłynął od momentu wejścia sygnału do urządzenia lub systemu, do momentu jego pojawienia (reprodukcji) na wyjściu.
Pojedyncze, o stałej architekturze filtry IIR, procesory DSP lub miksery z dedykowanym processingiem opartym o przetwarzanie stałoprzecinkowe charakteryzują się stałym opóźnieniem propagacji. Większa jego część jest spowodowana przetwarzaniem A/D i D/A, podczas gdy rzeczywista obróbka sygnału generalnie stanowi o wiele mniejszą część. Jeśli częstotliwość próbkowania wynosi 48 kHz, opóźnienie propagacji wyniesie ok. 2,5 ms, to jest mniej więcej tyle, ile czasu potrzebuje dźwięk, aby dotrzeć do nas z głośnika oddalonego o ok. 9 m. Jeśli częstotliwość próbkowania ma wartość 96 kHz, jej czas opóźnienia propagacji będzie w okolicach 1,5 ms. To prawda – im wyższa częstotliwość próbkowania, tym mniejszy będzie czas opóźnienia propagacji.
Tak więc jeśli używamy pojedynczego DSP o stałej architekturze i znamy częstotliwość próbkowania jego przetworników, można z dużym prawdopodobieństwem oszacować latencję, jaką wprowadza, bez zaglądania do specyfikacji. Jedynym wyjątkiem jest proces AEC (Acoustics Echo Cancellation – Wycinania Echa Akustycznego) – używany w systemach telekonferencyjnych. AEC jest skomplikowanym procesem, wymagającym sporych zasobów DSP i co najmniej 13-milisekudnowej latencji dla samego processingu wycinania echa. Tak więc korzystanie z AEC jest obarczone około 15-milisekundową latencją na wyjściu systemu.
Procesor DSP o otwartej architekturze lub kilka połączonych procesorów, które mogą stanowić dowolną kombinację w ramach dużego systemu, to już zupełnie inna sprawa. Pomijając już opóźnienie wynikające z procesu konwersji analogowo-cyfrowej i cyfrowo-analogowej dochodzi nam tu dodatkowe opóźnienie, gdy sygnał cyfrowy przechodzi z jednej platformy na drugą albo pomiędzy jednostkami. Każda z konfiguracji wytwarza inne opóźnienie propagacji i przeważnie odpowiednie oprogramowanie może poinformować użytkownika jakie będzie wynikowe opóźnienie.
Systemy cyfrowego przesyłania dźwięku, takie jak CobraNet, EtherSound, Dante czy cyfrowe multicore’y, charakteryzują się bardziej logicznym opóźnieniem propagacji. Wynika ono z czasu, jaki potrzebny jest do „zapakowania” sygnału audio w porcje, które następnie mogą być transmitowane cyfrowo. Przykładowo, CobraNet, przy 64 kanałach próbkowanych z częstotliwością 48 kHz i 20-bitową rozdzielczością, przesyłanych w obu kierunkach, ma standardowe opóźnienie propagacji wynoszące 5,33 ms, aczkolwiek nowsze wersje sieci potrafią zejść z latencją do ok. 2 ms. EtherSound, również przy 128 kanałach, ale o parametrach 24-bity/48 kHz, ma już latencję na poziomie 0,125 ms. W Dante opóźnienie propagacji nie powinno przekroczyć 0,034 ms.
Za wyjątkiem AEC oraz dużych, wzajemnie połączonych jednostek DSP, każde urządzenie wprowadza określoną latencję, ale w większości przypadków urządzeń stosowanych w warunkach live nie przekracza ona 3 milisekund. A zatem jaką latencję można uznać za zbyt dużą? Pewien DJ-u nie był w stanie znieść latencji na wyjściu słuchawkowym jego analogowego miksera! Jak się jednak okazało, nie był na tyle inteligentny, by domyślić się, że ów opóźniony sygnał, który rzekomo słyszał w słuchawkach, w istocie dochodził z głośników ustawionych po drugiej stronie parkietu.
Ta hiper-nietolerancja latencji przypomina sytuację, gdy nikt nie czuje dymu papierosowego do chwili, kiedy nie zostanie wydany zakaz palenia w danym miejscu. Od tego momentu wszyscy nagle zaczynają wyczuwać nawet śladowe ilości dymu, wykazując przy tym szczególną nań wrażliwość. Dzisiaj, kiedy już doskonale wiadomo, że cyfrowe urządzenia elektroniczne wprowadzają pewne opóźnienia propagacji sygnału, wszyscy utracili zdolność do ich tolerowania. Zapytajcie dowolnego technika nagłośnienia, czy 5 milisekund to dużo, a najprawdopodobniej udzieli Wam odpowiedzi twierdzącej.
Skoro zdecydowana większość procesorów DSP wprowadza zaledwie dwumilisekundową latencję propagacji sygnału, skąd się wzięła w przemyśle taka wyjątkowa wrażliwość na nią? Musimy cofnąć się do połowy lat dziewięćdziesiątych ubiegłego stulecia, kiedy to JBL po raz pierwszy zastosował w komercyjnym produkcie procesor DSP oparty na filtrach FIR. Model ów oznaczony był jako ES-52000. Oszczędności produkcyjne sprawiły jednak, że urządzenie było dość zawodne. Niemniej jednak warto zwrócić na nie uwagę z dwóch względów: 1) był to pierwszy, produkowany na skalę przemysłową procesor DSP o płaskiej charakterystyce fazowej, i 2) początkowo wprowadzał niemal 30-milisekundową latencję. Wynikała ona stąd, że procesor zachowywał płaską charakterystykę fazową filtrów FIR aż do 20 Hz. Po pewnym czasie, uwzględniając narzekania i opinie użytkowników, producent zmniejszył latencję układu DSP do 17 milisekund, przesuwając granicę liniowości fazowej w górę spektrum częstotliwościowego. Tak zredukowana latencja była do zaakceptowania w przypadku nagłośnienia przodowego, ale nie w innych zastosowaniach. To, wraz z pojawieniem się pod koniec lat dziewięćdziesiątych dużych systemów MediaMatrix, zwróciło baczną uwagę przemysłu na problem latencji.
Od tamtej pory wszyscy profesjonaliści w dziedzinie audio pamiętają o niej. W przypadku samodzielnych procesorów DSP, wykorzystujących filtry IIR, czy też cyfrowych multicore’ów, jedno- czy dwumilisekundowe opóźnienie propagacji nie stanowi problemu. Jeśli jednak mamy do czynienia z dużym systemem wzajemnie połączonych DSP albo łańcuchem cyfrowych mikserów, przewodów i procesorów DSP, wówczas powinniśmy zliczyć opóźnienie sumaryczne, by mieć pewność, że nie będzie ono zbyt duże.
Latencja sama w sobie nie powoduje degradacji jakości dźwięku. To, czy uruchomimy odtwarzacz CD dzisiaj, czy też poczekamy z tym do następnego tygodnia, w żaden sposób nie wpłynie na brzmienie płyty. Kiedy jednak korzystamy z kilku połączonych w łańcuch urządzeń cyfrowych, wówczas latencja nie jest jedynym potencjalnym problemem.
Można spotkać systemy składające się z miksera cyfrowego, z którego wyprowadzony jest – jako insert lub AUX – sygnał analogowy, kierowany następnie do cyfrowego procesora, skąd wraca do konsolety, również analogowo, po czym w postaci analogowej wychodzi do DSP zarządzającego systemem nagłośnieniowym, aż wreszcie, po kolejnej konwersji cyfrowo-analogowej, do nagłośnienia z cyfrowymi końcówkami mocy. W łańcuchu takim sygnał jest ośmiokrotnie konwertowany z jednej postaci w drugą. Taka liczba przetworzeń powoduje znaczącą degradację jakości sygnału. Nie wolno nam się łudzić, że jest ona do zaakceptowania.
Pojedyncza, wysokiej jakości konwersja A/D i D/A pozwala zachować należytą jakość sygnału. Jednak już dwukrotne przekonwertowanie go, najpierw przez cyfrowy mikser z wyjściem analogowym, a następnie przez procesor DSP, z którego sygnał analogowy wędruje do końcówek mocy, powoduje zauważalną utratę jakości. Zawsze więc, gdy to tylko możliwe, należy ograniczać liczbę konwersji do pojedynczej pary. W każdym przypadku powinniśmy wykorzystywać cyfrowe wejścia i wyjścia sygnałów pomiędzy mikserami, procesorami DSP i wzmacniaczami z wejściami cyfrowymi – rezultaty będą słyszalnie lepsze. Ponadto, dzięki temu, że sygnał będzie przekształcany z analogowego w cyfrowy i na odwrót tylko jeden raz, zminimalizowaniu ulegnie też latencja.
To jeden aspekt latencji. Dużo „groźniejszy” i bardziej słyszalny ma miejsce, jeśli pracujemy w obrębie jednego systemu (np. konsolety cyfrowej), gdzie sygnał pobierany jest z różnych miejsc (patrząc na jej schemat blokowy), a następnie miksowany. Sztuka taka, bez kompensacji latencji, kończy się tym, że w efekcie uzyskujemy piękny „grzebień”, tzn. filtr grzebieniowy. Może mały przykład, wbrew pozorom wcale nie taki niespotykany, jakby się pozornie wydawało z powyższego opisu tego zjawiska.
Czasami realizatorzy, na wzór tego, co bez problemu mogli zrobić w konsoletach analogowych, wykorzystują subgrupy, aby „dopalić”, tudzież uzyskać inny charakter brzmieniowy wokalu, instrumentu czy grupy instrumentów (np. perkusji). Uzyskuje się to np. przez odpowiednią, dodatkową kompresję sygnału (np. całej perkusji), czyli skompresowanie sygnału podgrupy, aby w odpowiednim momencie wyjechać „heblami” danej grupy, dodając sygnał z niej pochodzący do sygnału bezpośrednio z wyjść kanałów podanych na sumę. W analogu sygnały te po prostu sumowały się zgodnie fazowo, bowiem przesunięcie fazowe między sygnałami z kanałów a sygnałami z grup było pomijalne, rzędu ułamków promila stopnia. W konsolecie cyfrowej bez kompensacji opóźnienia, tzn. bez wyrównania do tego samego poziomu latencji na różnych wyjściach, sygnały te sumują się, będąc przesunięte w czasie (a więc i fazie) o kilkaset mikrosekund, a może nawet pojedynczych milisekund. Taka różnica czasów/faz potrafi już narobić wiele szkody, tzn. istotnie i słyszalnie zmienić brzmienie instrumentu/wokalu, a więc cały „patent” diabli biorą. Podobnie jest z kwestią obróbki sygnału przez zewnętrzne urządzenia, np. procesory efektowe czy dynamiczne, do których sygnał wychodzi z konsolety, a potem doń wraca, już z dodatkową latencją, jaką wprowadzi to urządzenie (no, chyba że jest w pełni analogowe, aczkolwiek samo przekonwertowanie sygnału z cyfry na analog – żeby podać na analogowy procesor, a potem z analogu na cyfrę, żeby wrócić do konsolety – spowoduje różnicę faz z innymi sygnałami, które podróżują do wyjścia miksera tylko wewnątrz konsolety).
Takich przykładów można znaleźć więcej. Sęk w tym, że niektórzy producenci konsolet biorą ten aspekt pod uwagę, próbując – z lepszym lub gorszym skutkiem – uzyskać kompensację czasową/fazową sygnałów, a inni nie. Trzeba o tym wiedzieć, żeby nie zrobić sobie „kuku”, będąc przyzwyczajonym do tego, że w analogowych konsoletach w ogóle nie trzeba było się nad tym zastanawiać. Ale już w naszych nowoczesnych cyfrowych „cudach techniki” procesy, które w analogu były bezproblemowe „z definicji”, tutaj wymagają umiejętnej i często niełatwej ingerencji inżynierów, aby – w tym aspekcie – mogły dorównać stołom analogowym.
Piotr Sadłoń