[K] NoiseWorks GainAim

Podczas obrabiania odcinków podcastu ponad dwa lata temu, dużym problemem dla mnie było utrzymanie stałego poziomu głośności każdego z odcinków tak, by ktoś słuchający ich po kolei nie musiał niczego regulować. Wyrównanie głośności kompresorem to jedno, jednak docelowo każdy z odcinków powinien mieć tę samą głośność odczuwalną - choć do tej pory trwają spory, ile ta głośność powinna wynosić. Jedni (w tym ja) przyjmują -19LUFS dla plików monofonicznych, a -16LUFS dla plików stereofonicznych, inni sugerują nawet -14LUFS. Głośność ta zależy i od typu pliku (mono lub stereo), i od platformy, na której publikujemy i to ustawienia danej platformy mogą być ostatecznym odniesieniem.

LUFS - co za diabeł?

Rzecz jednak w tym, że JAKOŚ należy nagranie do tej docelowej głośności doprowadzić. W tamtych (odległych, jakże odległych!) czasach jeszcze nie wiedziałem, jak tego dokonać, nie miałem też odpowiednich narzędzi. Początkowo używałem po prostu limitera na samym końcu obróbki - taki FabFilter Pro-L2 ma możliwość mierzenia głośności odczuwalnej w jednostkach LUFS, kłopot z nim był tylko taki, że ze względu na sposób działania nie jest on w stanie podawać wartości zintegrowanej LUFS, a ta jest kluczowa. Odtwarzałem zatem kilkanaście, kilkadziesiąt sekund materiału, badałem zmierzoną głośność, regulowałem, znowu mierzyłem i potem jeszcze, po ostatecznym wyrenderowaniu pliku, dodatkowo mierzyłem głośność programem Youlean Loudness Meter. Jak się można domyślić, taki proces był irytująco długi i niedokładny.

Kłopot z LUFSami wynika ze sposobu ich wyznaczania - żeby poznać wartość zintegrowaną, należy dokonać pomiaru na CAŁYM materiale audio. Wtedy i tylko wtedy dostaniemy dokładną wartość głośności odczuwalnej. Z tego względu żadna wtyczka, która analizuje sygnał audio na bieżąco, nie poda prawidłowej wartości zintegrowanej - bo po prostu nie ma do dyspozycji wszystkich danych. O ustawianiu głośności już kiedyś pisałem szerzej, zresztą o jednostkach LUFS także.

Kompresor a leveler

Zazwyczaj, kiedy chcemy kontrolować i wyrównywać głośność sygnału audio, na myśl przychodzi nam kompresor (w tym także jego skrajna postać - limiter). Kompresor - jak jego nazwa wskazuje - analizuje sygnał i fragmenty głośniejsze od zadanej wartości po prostu ścisza, "kompresuje". W efekcie dostajemy sygnał bardziej wyrównany, a jego głośność łatwiej ustawić, bo mniej jest w nim fragmentów, które "wystają" i są dużo głośniejsze od pozostałych (a takie fragmenty po pogłośnieniu mogłyby doprowadzić do powstania przesterowań). Kompresory z reguły reagują na sygnał bardzo szybko i ściszają go z określoną mocą, czasem z uwzględnieniem dodatkowych parametrów.

Z kolei levelery to narzędzia, działające trochę jak realizator słuchający sygnału audio. Trzyma on palec na suwaku poziomu głośności i gdy zbliża się fragment zbyt głośny, to suwaczkiem obniża głośność, a gdy sygnał staje się zbyt cichy, to go pogłaśnia. Dzieje się to zazwyczaj nieco wolniej i płynniej niż w kompresorach, na dodatek mamy jeszcze ową dwukierunkowość - leveler stara się utrzymać równą głośność i ściszając, i pogłaśniając sygnał.

GainAim

GainAim jest narzędziem, którego zadaniem jest utrzymanie danej ścieżki na zadanym poziomie głośności. Jeśli głośność sygnału będzie spadała, GainAim ją podniesie, jeśli będzie zbyt duża - zostanie zredukowana. Tak można w skrócie opisać działanie omawianej wtyczki.

Aby całość działała zgodnie z oczekiwaniami, musimy ustawić przynajmniej trzy parametry: tryb, docelowy poziom głośności oraz poziom szumu:

Tryb działania to tak naprawdę czas reakcji wtyczki na zmiany głośności. Mamy do wyboru aż pięć wartości: squash, fast, rider, leveler, locked. Squash reaguje na zmiany bardzo szybko i równie szybko dopasowuje głośność do zadanej wartości - w przypadku mowy i squash, i fast są nieco zbyt... nerwowe. Dopiero tryb rider daje w miarę przezroczyste efekty, chociaż osobiście preferuję tryb Leveler, którego działanie jest subtelne (ale oczywiście mierzalne).

Dość istotnym parametrem jest Noisefloor, którym ustawiamy, na jakim poziomie znajduje się sygnał, którego nie chcemy używać do obliczania głośności - czyli nie chcemy go sobie niepotrzebnie pogłośnić. Pozwoli to np. "ominąć" pogłaśnianie oddechów czy szumu tła.

Parametr Target loudness to głośność, którą ma utrzymać GainAim - wyskalowano go niby w decybelach (a konkretnie w dBFS) i teoretycznie powinien odpowiadać wartości LUFS, ale wiadomo, że to nie będzie zintegrowany LUFS, bo tego nie sposób wyznaczyć. Do ustawienia tego parametru trzeba - niestety - nieco praktyki i doświadczenia, bo im szybszy tryb wybierzemy, tym bardziej Target loudness po zmierzeniu będzie odbiegało od ustawionej wartości. Z moich pomiarów wynika, że tryby squash i fast dają sygnał nawet o 2-3dB cichszy niż zadany, rider i leveler to różnica 1-1,5dB, zaś dopiero locked daje mniej więcej zadaną wartość (dla głosu jakieś 0,5dB za cichą).

Czy mnie dziwi takie zachowanie wtyczki? Nie bardzo. W zasadzie tylko narzędzia działające na całości materiału (jak np. Loudness Control z edytora iZotope czy normalizacja po renderze w programie Reaper) są w stanie dokładnie zmierzyć i skorygować głośność co do 0,1LUFS. Wtyczki, dopóki nie będą miały możliwości analizy całego materiału audio, nie będą w stanie również precyzyjnie korygować głośności odczuwalnej i tyle.

Obecny jest jeszcze parametr Channel Link, dzięki któremu ustalimy, czy podczas przetwarzania sygnału stereofonicznego kanały mają być przetwarzane (mierzone) oddzielnie, czy też ich dane mają być uśredniane.

Skuteczność i przydatność

Przyznam, że zainteresowałem się GainAimem nie ze względu na ustawianie końcowej głośności odcinków podcastów, bo to rozwiązuję za pomocą odpowiedniej normalizacji w oknie renderingu Reapera i mam pewność, że każdy odcinek będzie miał dokładnie policzoną i ustawioną głośność. Ja borykałem się z innym problemem - otóż zauważyłem, że jeśli nagrywam odcinek dłuższy niż 15-20 minut, to po właśnie mniej więcej kwadransie zaczynam mówić coraz ciszej. W efekcie dostaję nagranie o ciągle malejącej głośności:

Kompresory radzą sobie z tym niedostatecznie dobrze, bo głośniejszą część po prostu zmasakrują. Leveler wydaje się idealnym rozwiązaniem, bo tam, gdzie sygnał będzie odpowiedni głośny, nie zostanie ruszony, a tam, gdzie będzie za cichy, lever go pogłośni - i faktycznie, tak to zadziałało, więc nie muszę już rysować w Reaperze krzywej automatyzującej poziom głośności (co jest jakimś rozwiązaniem, ale zwróćcie uwagę, że niedoskonałym - bo pogłaśnia także ciche fragmenty między słowami):

Ale skoro jestem przy automatyzacji, to wielka szkoda, że autorzy GainAima nie dali możliwości zapisu krzywej automatyzacji właśnie dla tej wartości korygującej - można byłoby jeszcze lepiej dopasować działanie wtyczki do nietypowych materiałów audio, z czego korzystałem, gdy używałem jeszcze levelera Vocal Rider od firmy Waves. Tutaj, póki co, nie ma możliwości zapisania tego, co wtyczka tak naprawdę robi z głośnością - po prostu musimy liczyć na to, że dostaniemy dobry efekt (na szczęście, jeszcze się nie spotkałem z jakimiś problemami).

Czy warto zatem wydać 40 dolarów (+VAT) na tę wtyczkę? Jeśli ktoś nie musi używać standardu VST3, to może poprzestać na całkiem sprawnie działającej darmowej wtyczce LUveler, tańszy jest też Vocal Rider, jeśli nie macie na pieńku z firmą Waves. Do używania GainAima zatem jakoś szczególnie nie namawiam, chociaż mój problem z malejącą głośnością został przez tę wtyczkę rozwiązany definitywnie i bez problemu.

Podsumowując - leveler nie jest wtyczką niezbędną do życia, to taki typowy "ułatwiacz", jeśli obrabiamy dużo materiału i chcemy zachować spójność. Da się go zastąpić w dużym stopniu albo automatyzacją obwiedni głośności, albo kompresorem/limiterem. Czy potrzebujesz ułatwiacza?

Komentarze