True peak po kodowaniu: o ile AAC, MP3, Ogg Vorbis i Opus podnoszą szczyty mastera, pomiar

Spis treści
- Co mierzy true peak
- Jakie kodeki dostarczają serwisy streamingowe
- Jak wykonano pomiar
- Głośne mastery z −1 dBTP tracą zwykle do jednego decybela
- Bardziej dynamiczne mastery −14 LUFS pozostają niemal bez zmian
- Przy −2 dBTP nawet głośny master pozostaje wyraźnie poniżej 0 dBTP
- Master z sample peak 0 dBFS już przed kodowaniem przekracza 0 dBTP
- Pomiar kontrolny: 16-krotne nadpróbkowanie pokazuje do 0,5 dB więcej
- Dlaczego szczyty rosną
- Co zalecają serwisy i normy
- Ocena
- Źródła
Master oddany z poziomem −1 dBTP prawie nigdy nie trafia do słuchaczy w tej postaci. Serwisy streamingowe odtwarzają wersje zakodowane stratnie, a kodowanie i dekodowanie zmieniają przebieg fali. Po nich szczyty mogą leżeć powyżej wartości mastera. O ile, zależy od kodeka i przepływności, ale przede wszystkim od samego mastera.
Na potrzeby tego artykułu dwa syntetyczne miksy przetworzono na cztery mastery każdy i zakodowano w ffmpeg do AAC, MP3, Ogg Vorbis i Opus, razem z próbami kontrolnymi 88 kodowań. True peak zmierzono według ITU-R BS.1770-5 przed kodowaniem i po nim. Najważniejszy wynik: mocno limitowane mastery o głośności −9 LUFS i −1 dBTP tracą zwykle do jednego decybela zapasu, a bardziej dynamiczne mastery o głośności −14 LUFS pozostają niemal bez zmian.

Co mierzy true peak
Sygnał cyfrowy tworzą próbki, a sygnał za przetwornikiem cyfrowo-analogowym jest ciągłą krzywą. Między dwiema próbkami ta krzywa może leżeć wyżej niż obie wartości; takie szczyty to inter-sample peaks. ITU-R BS.1770-5 szacuje maksimum krzywej przez czterokrotne nadpróbkowanie i filtrowanie sygnału. Wynik to true peak, podawany w dBTP. Nawet ten pomiar daje wartość nieco zaniżoną: według EBU Tech 3343 miernik z czterokrotnym nadpróbkowaniem przy 48 kHz może zaniżać o około 0,5 dB, dlatego wystarcza tam 1 dB zapasu poniżej 0 dBFS.
Limiter ograniczający wyłącznie wartości próbek nie musi zatem utrzymać progu w true peak. Różnica była widoczna już podczas masteringu: aby osiągnąć −9 LUFS przy najwyżej −1 dBTP, próg dla próbek musiał wynosić −1,59 dBFS (miks) i −2,22 dBFS (jasny miks).
Jakie kodeki dostarczają serwisy streamingowe
Duże serwisy streamują standardową jakość stratnie i dodatkowo oferują poziomy bezstratne:
| Serwis | stratnie | bezstratnie |
|---|---|---|
| Spotify | aplikacja: poziomy około 24, 96, 160 i 320 kbit/s, według dokumentacji dla deweloperów Ogg Vorbis dla większości utworów; odtwarzacz webowy AAC 128 kbit/s (Free) i 256 kbit/s (Premium) | FLAC do 24 bitów/44,1 kHz (Premium) |
| Apple Music | AAC, według Apple Digital Masters 256 kbit/s | Lossless do 24 bitów/192 kHz |
| YouTube Music | AAC i Opus z przepływnością najwyżej 48, 128 lub 256 kbit/s | – |
| Amazon Music | Opus 48, 192 lub 320 kbit/s (SD) | FLAC (HD i Ultra HD) |
| Deezer | MP3 64, 128 lub 320 kbit/s | FLAC 1411 kbit/s |
Jak wykonano pomiar
- Materiał: dwa syntetyczne miksy po 32 sekundy w tempie 120 BPM, wygenerowane w Pythonie. „Miks” zawiera stopę, werbel, hi-haty, bas, pady i lead, „jasny miks” ma głośniejsze hi-haty i lead oraz pady do 12 kHz. Oba przeszły przez kompresor na sumie.
- Mastery: cztery wersje każdego miksu z limiterem alimiter z ffmpeg. A: −8 LUFS z progiem 0 dBFS dla próbek. B: −9 LUFS przy najwyżej −1 dBTP. C: −9 LUFS przy najwyżej −2 dBTP. D: −14 LUFS przy najwyżej −1 dBTP. Wzmocnienie i próg korygowano do osiągnięcia docelowej głośności i docelowego true peak.
- Kodowanie: ffmpeg 7.1.5 z enkoderami aac (128 i 256 kbit/s), libmp3lame (128 i 320 kbit/s), libvorbis (96, 160 i 320 kbit/s) oraz libopus (128 i 256 kbit/s). Pliki dekodowano do 32-bitowego formatu zmiennoprzecinkowego, aby zachować wartości powyżej 0 dBFS.
- Próby kontrolne: bezstratny FLAC, który nie może niczego zmienić, oraz samo przepróbkowanie do 48 kHz, ponieważ Opus pracuje wyłącznie z 48 kHz.
- Pomiar: true peak według załącznika 2 do ITU-R BS.1770-5 z filtrem 48-tap przy czterokrotnym nadpróbkowaniu, głośność filtrem ebur128 z ffmpeg.
- Pomiar kontrolny: wszystkie pliki dodatkowo z 16-krotnym nadpróbkowaniem resamplerem soxr w ffmpeg.
Pomiar ma ograniczenia. Serwisy korzystają z własnych enkoderów i ustawień, Apple na przykład z własnego enkodera AAC. Materiał jest syntetyczny, a na każdy wariant przypada tylko jeden utwór. Liczby pokazują więc rzędy wielkości i zależności, a nie gwarancję dla konkretnego serwisu.
Głośne mastery z −1 dBTP tracą zwykle do jednego decybela
Przed kodowaniem mastery B miały −1,02 dBTP (miks) i −1,05 dBTP (jasny miks). Po kodowaniu wyniki wyglądały następująco:
| Kodek | miks po | wzrost | jasny miks po | wzrost |
|---|---|---|---|---|
| FLAC (kontrola) | −1,02 dBTP | ±0,00 dB | −1,05 dBTP | ±0,00 dB |
| tylko resampling do 48 kHz | −0,85 dBTP | +0,18 dB | −0,76 dBTP | +0,29 dB |
| AAC 128 kbit/s | −0,21 dBTP | +0,81 dB | −0,07 dBTP | +0,98 dB |
| AAC 256 kbit/s | −0,70 dBTP | +0,32 dB | +1,37 dBTP | +2,42 dB |
| MP3 128 kbit/s | −1,09 dBTP | −0,07 dB | −1,39 dBTP | −0,34 dB |
| MP3 320 kbit/s | −0,89 dBTP | +0,13 dB | −0,74 dBTP | +0,31 dB |
| Ogg Vorbis 96 kbit/s | −0,43 dBTP | +0,59 dB | −1,00 dBTP | +0,05 dB |
| Ogg Vorbis 160 kbit/s | −0,57 dBTP | +0,45 dB | −0,31 dBTP | +0,74 dB |
| Ogg Vorbis 320 kbit/s | −1,07 dBTP | −0,05 dB | −0,98 dBTP | +0,07 dB |
| Opus 128 kbit/s | −0,49 dBTP | +0,53 dB | −0,65 dBTP | +0,40 dB |
| Opus 256 kbit/s | −0,65 dBTP | +0,37 dB | −0,75 dBTP | +0,30 dB |
Tylko trzy z 18 kodowań stratnych pozostały na poziomie wyjściowym lub poniżej: MP3 128 w obu miksach i Ogg Vorbis 320 w miksie. Pomijając pojedyncze zdarzenie, najsilniej true peak wzrósł przy AAC 128, do −0,21 i −0,07 dBTP. Ogg Vorbis 160 i Opus 128 podniosły szczyty w obu miksach o 0,40 do 0,74 dB. Próba kontrolna z samym przepróbkowaniem do 48 kHz wykazała wzrost o 0,18 i 0,29 dB; pomiar z 16-krotnym nadpróbkowaniem opisany niżej pokazuje, że to efekt samego pomiaru.
0 dBTP przekroczyło jedno kodowanie: w jasnym miksie AAC 256 podniosło pojedyncze miejsce w 30,5 sekundzie do +1,37 dBTP. Szczyty mierzone sekunda po sekundzie w tym samym pliku miały medianę −1,33 dBTP. Takie pojedyncze zdarzenie wystarcza do przesterowania w odtwarzaczu, ale pochodzi z enkodera AAC w ffmpeg, więc wynik nie dotyczy automatycznie enkodera Apple.
MP3 128 kbit/s natomiast obniżył szczyty i jednocześnie zabrał od 0,4 do 0,5 LU głośności; w pozostałych kodowaniach zmiana głośności wyniosła najwyżej 0,2 LU. Samo obcięcie wysokich częstotliwości tego nie wyjaśnia. Analiza widmowa zdekodowanych plików pokazuje, że MP3 128 i Ogg Vorbis 96 praktycznie nie zawierają niczego powyżej 17 kHz, a AAC 128 powyżej 19 kHz, i to właśnie AAC 128 najmocniej podniosło szczyty.
Bardziej dynamiczne mastery −14 LUFS pozostają niemal bez zmian
Mastery D o głośności −14 LUFS wymagały niewielkiego limitowania. Przed kodowaniem miały −1,51 dBTP (miks) i −1,05 dBTP (jasny miks). W miksie dziewięć z jedenastu kodowań obniżyło true peak; najwyższa wartość po kodowaniu wyniosła −1,48 dBTP przy Ogg Vorbis 320. W jasnym miksie true peak najmocniej wzrósł po Opus 128 i MP3 320, o 0,21 i 0,19 dB, do −0,84 i −0,86 dBTP; wszystkie pozostałe kodowania zostały na poziomie −0,97 dBTP lub niżej.
Żadne z 18 kodowań stratnych tych dwóch masterów nie przekroczyło zatem −0,84 dBTP. Różnica wobec masterów B wynika z limitowania: limiter dociskający wiele szczytów do tej samej wysokości tworzy przebieg, w którym każda zmiana wprowadzona przez kodek od razu wychodzi ponad próg.
Przy −2 dBTP nawet głośny master pozostaje wyraźnie poniżej 0 dBTP
Master C miksu miał −9 LUFS przy −2,05 dBTP. Po kodowaniu najwyższa wartość wyniosła −0,89 dBTP przy AAC 128, a wszystkie pozostałe kodowania zostały na poziomie −1,57 dBTP lub niżej. Dokładnie taki zapas zaleca Spotify dla masterów głośniejszych niż −14 LUFS. W jasnym miksie użyty limiter nie osiągnął tego celu: nawet przy wzmocnieniu 40 dB głośność wyniosła tylko −9,2 LUFS, dlatego ten master pominięto w ocenie.
Master z sample peak 0 dBFS już przed kodowaniem przekracza 0 dBTP
Mastery A doprowadzono do −8 LUFS z progiem 0 dBFS dla próbek. True peak tych masterów już przed kodowaniem wynosił +0,37 dBTP (miks) i +1,03 dBTP (jasny miks). Po kodowaniu wzrósł do +2,29 dBTP (AAC 128, miks) i +2,23 dBTP (AAC 256, jasny miks). Zdekodowane pliki zawierały, zależnie od kodeka, od 14 do 411 próbek powyżej 0 dBFS, najwięcej po Opus 128 w jasnym miksie.
W 32-bitowym formacie zmiennoprzecinkowym takie wartości zostają zachowane. AES TD1008 zwraca jednak uwagę, że odtwarzacze z dekoderami stałoprzecinkowymi mogą przesterowywać wewnętrznie, a systemy operacyjne takie jak Windows ściszają takie przerosty wbudowanymi limiterami nawet o 3 dB.
Pomiar kontrolny: 16-krotne nadpróbkowanie pokazuje do 0,5 dB więcej
Czterokrotne nadpróbkowanie według BS.1770 jest kompromisem: między obliczonymi wartościami pośrednimi krzywa może leżeć jeszcze wyżej. Dlatego wszystkie pliki zmierzono drugi raz, z 16-krotnym nadpróbkowaniem resamplerem soxr w ffmpeg i wartością szczytową z filtra astats.
| Wartość | BS.1770, 4-krotnie | pomiar kontrolny, 16-krotnie |
|---|---|---|
| Master B, miks, przed kodowaniem | −1,02 dBTP | −0,80 dBTP |
| Master B, jasny miks, przed kodowaniem | −1,05 dBTP | −0,54 dBTP |
| tylko resampling do 48 kHz, wzrost (miks / jasny miks) | +0,18 / +0,29 dB | −0,01 / ±0,00 dB |
| Master B, kodowania powyżej 0 dBTP | 1 (AAC 256) | 2 (AAC 256, Ogg Vorbis 160) |
| Master C, miks, najwyższa wartość po kodowaniu | −0,89 dBTP | −0,77 dBTP |
| Master D, najwyższa wartość po kodowaniu | −0,84 dBTP | −0,84 dBTP |
| Master D, miks, przed kodowaniem | −1,51 dBTP | −1,66 dBTP |
W dokładniejszym pomiarze mastery z −1 dBTP miały więc tylko −0,80 i −0,54 dBTP. Odpowiada to zaniżeniu o około 0,5 dB, które EBU Tech 3343 podaje dla mierników z czterokrotnym nadpróbkowaniem. W jasnym miksie po kodowaniu obok AAC 256 również Ogg Vorbis 160 przekroczył 0 dBTP, osiągając +0,21 dBTP. Wzrost wywołany samym resamplingiem natomiast zniknął: w pomiarze kontrolnym szczyty pozostały takie same, a pomiar czterokrotny po przeliczeniu na 48 kHz jedynie trafniej je uchwycił. Przy masterze D miksu pomiar czterokrotny pokazał nawet o 0,15 dB więcej niż pomiar kontrolny.
Kolejność kodeków zasadniczo pozostała taka sama, ale różnica w poszczególnych wzrostach sięgała pół decybela. Dla wniosków dotyczących masterów D i C pomiar kontrolny niewiele zmienia, dla masterów B zaostrza wynik.
Dlaczego szczyty rosną
AES TD1008 wymienia kilka przyczyn. Kodek może dawać na wyjściu dekodera wyższe szczyty, niż było na wejściu enkodera. Według dokumentu wysokie przepływności około 256 kbit/s czasem wystarczają z progiem limitera −0,5 dBTP, ale wraz ze spadkiem przepływności przerost zwykle rośnie, więc próg musi zejść poniżej zalecanych −1,0 dBTP.
Udział mają też filtry, ponieważ usuwają energię z sygnału, a filtry o fazie nieliniowej dodatkowo przesuwają zależności czasowe. Dokument podaje przykład: po odfiltrowaniu wszystkich harmonicznych z fali prostokątnej pozostaje fala podstawowa, której szczyt leży o 2,1 dB wyżej niż szczyt fali prostokątnej. Konwertery częstotliwości próbkowania również zmieniają wartości próbek. Jeśli przy obniżaniu częstotliwości usuwają energię, powstają przerosty, a według dokumentu przerosty kodeka i takiej konwersji mogą być addytywne.
Pomiar tylko częściowo potwierdza regułę dotyczącą przepływności. Opus 128 podniósł szczyty w obu miksach mocniej niż Opus 256, a AAC 128 w miksie mocniej niż AAC 256. W przypadku MP3 było odwrotnie, a w jasnym miksie Ogg Vorbis 160 dał wyższy wynik niż Ogg Vorbis 96. Największy wpływ miało to, jak gęsto limitowany był master.
Co zalecają serwisy i normy
- Spotify zaleca dla masterów −14 LUFS zintegrowanej głośności i true peak poniżej −1 dB. Dla masterów głośniejszych niż −14 LUFS strona pomocy zaleca true peak poniżej −2 dB, ponieważ głośniejsze utwory są bardziej podatne na dodatkowe zniekształcenia przy kodowaniu. Ciche mastery Spotify podnosi tylko tak, aby dla formatów stratnych pozostał 1 dB zapasu.
- AES TD1008 zaleca dla wszystkich treści najwyżej −1 dBTP na wejściu kodeka strumieni kodowanych stratnie.
- EBU R 128 ustala −1 dBTP dla produkcji i zaznacza, że dla systemów dystrybucji z redukcją danych mogą obowiązywać niższe wartości. EBU Tech 3343 podaje −2 dBTP dla MPEG-1 Layer 2 i Dolby AC-3.
- Apple zaleca w Apple Digital Masters co najmniej 1 dB zapasu i sprawdzanie zakodowanego pliku narzędziem afclip, ponieważ poziomy bez przesterowań w masterze PCM mogą przesterować po zakodowaniu.
Ocena
Dla masterów w okolicy −14 LUFS wystarcza −1 dBTP: w tym pomiarze żadne kodowanie nie przekroczyło −0,84 dBTP, a w miksie dziewięć z jedenastu nawet obniżyło szczyty. Dla głośnych, mocno limitowanych masterów pomiar potwierdza zalecenie Spotify. Przy −1 dBTP pięć kodowań dało wartości mniej niż pół decybela od 0 dBTP, a jedno przekroczyło 0 dBTP, w pomiarze kontrolnym dwa. Przy −2 dBTP najwyższa wartość wyniosła −0,89 dBTP, w pomiarze kontrolnym −0,77 dBTP. Ponieważ miernik według BS.1770 może zaniżać szczyty nawet o pół decybela, −2 dBTP daje gęsto limitowanym masterom zapas, którego −1 dBTP w tym pomiarze nie zapewnił. Próg 0 dBFS dla próbek nie daje natomiast bezpiecznego mastera, bo true peak już przed kodowaniem przekracza 0 dBTP.
Najpewniej zapas konkretnego mastera pokazuje zakodowana próbka, na przykład plik AAC lub Opus utworzony w ffmpeg. Miernik LUFS i True Peak odczytuje takie pliki dekoderem przeglądarki i mierzy ich true peak bezpośrednio, a plik nie opuszcza urządzenia. Ponieważ Spotify i tak ścisza głośne mastery, dodatkowa głośność kosztem zapasu nie daje tam żadnej korzyści.
Źródła
- ITU-R BS.1770: Algorithms to measure audio programme loudness and true-peak audio level
- AES TD1008: Recommendations for Loudness of Internet Audio Streaming and On-Demand Distribution
- EBU R 128: Loudness normalisation and permitted maximum level of audio signals
- EBU Tech 3343: Guidelines for Production of Programmes in accordance with R 128
- Loudness normalization – Spotify for Artists
- Audio quality – Spotify
- Media Delivery – Spotify for Developers
- Apple Digital Masters
- Apple Music
- Audio quality settings – YouTube Music Help
- Audio Formats – Amazon Music Developer
- Deezer Audio Quality
- FFmpeg Codecs Documentation