LW IT Solutions logo LW IT Solutions logo LW IT Solutions
« Przegląd bloga /Music Production / True peak po kodowaniu: pomiary, zapas i...
Ten artykuł w innych językach:

True peak po kodowaniu: pomiary, zapas i wyjątki

True peak po kodowaniu: pomiary, zapas i wyjątki

Management Summary

Zamiana gotowego nagrania w mniejszy plik do streamingu może zmienić krótkie szczyty sygnału i podnieść je ponad granicę odtwarzania. True peak szacuje takie odtworzone szczyty, a nie ogólną głośność. Eksperyment pokazuje, dlaczego zapas poziomu jest przydatny, lecz nie gwarantuje bezpiecznego wyniku każdej konwersji. Sprawdzenie rzeczywistych formatów dystrybucji pomaga wykryć ryzyko zniekształceń przed publikacją. Wynik jednego formatu nie opisuje automatycznie pozostałych.

Spis treści
  1. Szczyty, głośność i zapas: proste wyjaśnienie
  2. Co zostało zmierzone
  3. Mastery −9 LUFS: szczyty rosną lub spadają
  4. Mastery −14 LUFS zmieniły się w tym teście mniej
  5. Wynik przy −2 dBTP ma ważny wyjątek
  6. Granica próbek 0 dBFS nie ogranicza szczytów między próbkami
  7. Dlaczego dwie metody dają różne szczyty
  8. Dlaczego mniej informacji może oznaczać wyższy szczyt
  9. Formaty streamingowe i zalecenia dotyczące masterów
  10. Przydatna kontrola rzeczywistego mastera
  11. Pytania i odpowiedzi
  12. Źródła

Stratne kodowanie dźwięku może zmienić szczyty mastera. Po dekodowaniu plik AAC, MP3, Ogg Vorbis lub Opus może mieć wyższe albo niższe szczyty niż źródło. Samo ustawienie limitera nie gwarantuje więc, że wersja dostarczona przez serwis pozostanie poniżej pełnej skali. Kilka serwisów oferuje również odtwarzanie bezstratne; badana tutaj ścieżka stratna jest tylko jedną z możliwości.

Eksperyment obejmował dwa syntetyczne miksy, cztery wersje mastera każdego miksu oraz jedenaście ustawień przetwarzania: dziewięć kodowań stratnych i dwie próby kontrolne. Archiwum zawiera 88 wyników. Najważniejsze są różnice między plikami: niektóre szczyty spadły. Jeden plik AAC z mastera o poziomie około −2 dBTP osiągnął natomiast +2,93 dBTP w pierwotnym pomiarze. Zalecenia takie jak −1 lub −2 dBTP stanowią punkt wyjścia, ale nie gwarancję dla każdego enkodera i nagrania.

Master to gotowa wersja dźwięku przygotowana do publikacji. Kodowanie zamienia dźwięk na format przeznaczony do dostarczenia. Kodeki stratne zmniejszają pliki między innymi przez odrzucanie części informacji. Dekodowanie odtwarza z zapisanych danych próbki dźwięku. Przepływność w kbit/s oznacza ilość danych na sekundę.

Szczyty, głośność i zapas: proste wyjaśnienie

Próbka to jedna zapisana wartość amplitudy. Sample peak oznacza największą wartość bezwzględną, więc liczą się także wychylenia ujemne. Przebieg odtworzony między próbkami może sięgać wyżej. Miernik true peak szacuje ten szczyt. Jednostka dBTP opisuje poziom względem pełnej skali cyfrowej. Wynik −1 dBTP pozostawia około 1 dB zapasu, a wynik dodatni przekracza tę granicę.

LUFS opisuje odczuwaną głośność w czasie, a nie tylko najwyższy moment. Głośność zintegrowana obejmuje całe nagranie. Według tej miary master −9 LUFS jest głośniejszy niż master −14 LUFS. Limiter obniża szczyty. Silniejsze ograniczanie może zwiększyć głośność nagrania bez podnoszenia najwyższej próbki. Niski sample peak nie dowodzi zatem niskiego true peak.

Clipping oznacza obcięcie szczytu, którego dany etap przetwarzania nie może przedstawić. Dźwięk w formacie zmiennoprzecinkowym może zachować wartości powyżej pełnej skali. Późniejszy etap nadal może je obciąć, zależnie od formatu liczb, wzmocnienia i dostępnego zapasu. Dodatni szczyt ostrzega więc przed możliwym problemem w torze odtwarzania, ale nie dowodzi słyszalnych zniekształceń w każdym odtwarzaczu.

Co zostało zmierzone

  • Materiał: dwa syntetyczne miksy stereo po 32 sekundy, z częstotliwością próbkowania 44,1 kHz i tempem 120 BPM. Drugi miks ma głośniejsze hi-haty i lead oraz więcej wysokich częstotliwości w padach. Oba powstały w Pythonie i przeszły przez kompresor sumy.
  • Cele masteringu: A: −8 LUFS z granicą próbek 0 dBFS. B: −9 LUFS i oszacowanie true peak poniżej −1 dBTP. C: −9 LUFS i oszacowanie poniżej −2 dBTP. D: −14 LUFS i oszacowanie poniżej −1 dBTP. Ustawienia filtra alimiter z FFmpeg były wielokrotnie korygowane. Jasny miks C osiągnął tylko −9,2 LUFS, więc nie spełnił dokładnego celu głośności.
  • Kodowanie: FFmpeg 7.1.5, wbudowany enkoder AAC przy 128/256 kbit/s, libmp3lame przy 128/320, libvorbis przy 96/160/320 oraz libopus przy 128/256. Dekodowanie do 32-bitowego WAV zmiennoprzecinkowego zachowało szczyty powyżej pełnej skali.
  • Próby kontrolne: FLAC i zmiana częstotliwości próbkowania na 48 kHz przy użyciu soxr. Pliki FLAC zawierają 24-bitowe próbki całkowitoliczbowe przeliczone z masterów zmiennoprzecinkowych. Bezstratna kompresja zachowuje te próbki, ale poprzedzająca konwersja nie jest bitowo identyczna z plikiem źródłowym. Zmiany szczytów po zaokrągleniu wyniosły 0,00 dB. Opus był tutaj dekodowany do 48 kHz; interfejs Opus obsługuje także 8, 12, 16 i 24 kHz.
  • Pierwotne obliczenie szczytów: implementacja w Pythonie z 48 współczynnikami filtra z załącznika 2 do ITU-R BS.1770-5 i czterokrotnym nadpróbkowaniem. Głośność pochodzi z filtra ebur128 w FFmpeg. Szczyty nie zostały zmierzone tym filtrem.
  • Obliczenie porównawcze: FFmpeg z 16-krotnym nadpróbkowaniem przez soxr i filtrem astats, z zachowaniem formatu zmiennoprzecinkowego. Zmienia się tu zarówno liczba punktów pośrednich, jak i filtr.

Ograniczenie metody: czterokrotne nadpróbkowanie 44,1 kHz daje 176,4 kHz. Załącznik 2 opisuje wejście 48 kHz i co najmniej 192 kHz po nadpróbkowaniu dla wskazanego oznaczenia miernika. Archiwalne liczby zachowują poniżej pierwotną jednostkę dBTP, ale są wyraźnie opisane jako oszacowania 4× z tego eksperymentu. Nie oznacza to certyfikowanej zgodności miernika z normą. Obliczenie 16× jest drugim oszacowaniem, a nie dokładną rekonstrukcją każdego urządzenia odtwarzającego.

Nagrania i zakodowane pliki pochodzą z eksperymentu z września 2026 roku. Podczas przeglądu redakcyjnego wybrane pliki archiwalne zostały ponownie zdekodowane i zmierzone, w tym oba odstające wyniki AAC. Nie był to nowy test enkoderów serwisów streamingowych. Dwa krótkie syntetyczne miksy nie wystarczają do ogólnego rankingu kodeków ani do wykazania, że samo limitowanie powoduje zmianę szczytów.

Dwa wykresy przedstawiają mastery B i D po kodowaniu. Oddzielny wyjątek C widnieje pod wykresami: +2,93 dBTP po AAC 256.
Archiwalne oszacowania szczytów 4× dla B i D. Kontrprzykład C jest oddzielony od punktów wykresu; ograniczenia metody opisano powyżej.

Mastery −9 LUFS: szczyty rosną lub spadają

Przed kodowaniem mastery B miały −1,02 dBTP w pierwszym miksie i −1,05 dBTP w jasnym miksie. Tabela zawiera pierwotne oszacowania 4×. Zmiany obliczono przed zaokrągleniem, dlatego odejmowanie wyświetlonych liczb może dać różnicę o 0,01 dB.

Kodek miks po Zmiana jasny miks po Zmiana
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

Piętnaście z osiemnastu kodowań stratnych zwiększyło szczyt. MP3 128 obniżyło wynik w obu miksach, a Vorbis 320 w pierwszym miksie. AAC 128 zwiększyło szczyt o 0,81 i 0,98 dB. Jasny plik AAC 256 zawierał większy pojedynczy szczyt: +1,37 dBTP, czyli wzrost o 2,42 dB. Ponowne dekodowanie pliku archiwalnego potwierdziło wynik. Dotyczy to enkodera FFmpeg i tego pliku, a nie automatycznie enkodera Apple.

W masterach B MP3 128 obniżyło głośność zintegrowaną o 0,5 LU w obu miksach. Pozostałe ustawienia stratne zmieniły głośność o najwyżej 0,2 LU. Usunięcie wysokich częstotliwości nie musi zmniejszyć najwyższego szczytu: inna kombinacja składowych może również dać wyższe szczyty.

Mastery −14 LUFS zmieniły się w tym teście mniej

Mastery D zaczynały od −1,51 i −1,05 dBTP. Najwyższy wynik spośród osiemnastu kodowań stratnych wyniósł −0,84 dBTP dla Opus 128 w jasnym miksie. MP3 320 osiągnęło tam −0,86 dBTP. W pierwszym miksie najwyższy wynik to −1,48 dBTP dla Vorbis 320.

Te dwie wersje wymagały słabszego limitowania i wykazały mniejsze wzrosty niż wersje B. Ta zależność jest przydatna, lecz nie dowodzi, że przy −14 LUFS granica −1 dBTP zawsze wystarcza. Inne nagrania, filtry i enkodery mogą zachować się inaczej.

Wynik przy −2 dBTP ma ważny wyjątek

Pierwszy master C osiągnął −9 LUFS i −2,05 dBTP. Najwyższy szczyt po kodowaniu wyniósł −0,89 dBTP dla AAC 128. Wszystkie pozostałe ustawienia pozostały na poziomie najwyżej −1,57 dBTP.

Jasny master C był wcześniej pominięty w głównym porównaniu, ponieważ osiągnął tylko −9,2 zamiast −9 LUFS. Uniemożliwia to porównanie przy dokładnie równej głośności. Plik nadal ma jednak znaczenie dla oceny zapasu: pierwotny szczyt wynosił −2,05 dBTP, a wersja AAC 256 osiągnęła +2,93 dBTP. Ponowne dekodowanie pliku archiwalnego potwierdziło +2,93 metodą 4× oraz +2,96 w obliczeniu 16×. Nawet sample peak był dodatni i wyniósł +2,34 dBFS.

Archiwum nie potwierdza więc twierdzenia, że master −2 dBTP zawsze pozostaje poniżej zera po kodowaniu. Ten wyjątek nie określa też częstości takiego zachowania. Praktyczny wniosek to pomiar zakodowanych wersji rzeczywistego mastera, z uwzględnieniem pojedynczych krótkich szczytów.

Granica próbek 0 dBFS nie ogranicza szczytów między próbkami

Mastery A osiągnęły −8 LUFS. Już przed kodowaniem oszacowania 4× wynosiły +0,37 i +1,03 dBTP, mimo granicy próbek 0 dBFS. AAC 128 osiągnęło +2,29 dBTP w pierwszym miksie, a AAC 256 +2,23 dBTP w jasnym miksie. Pliki po stratnym kodowaniu i dekodowaniu zawierały od 14 do 411 wartości próbek powyżej pełnej skali, licząc oba kanały.

AES TD1008 opisuje możliwość clippingu w dekoderach stałoprzecinkowych i obniżania poziomu w niektórych torach odtwarzania systemów operacyjnych. To możliwe skutki na późniejszych etapach, a nie zmierzone tutaj właściwości konkretnego odtwarzacza. Nie przeprowadzono testów odsłuchowych ani pomiarów poszczególnych urządzeń.

Dlaczego dwie metody dają różne szczyty

Wartość Pierwotne oszacowanie 4× Porównanie 16× z soxr
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
Jasny master C przed kodowaniem (−9,2 LUFS) −2,05 dBTP −1,69 dBTP
Jasny master C po AAC 256 (nowa kontrola archiwum) +2,93 dBTP +2,96 dBTP

Większe nadpróbkowanie wylicza więcej punktów między zapisanymi próbkami. Może dzięki temu wykryć wcześniej pominięty szczyt. Filtr również wpływa na wynik: w masterze D pierwszego miksu oszacowanie 16× było niższe o 0,15 dB. Nie jest to zatem stała korekta o najwyżej 0,5 dB.

W jasnym masterze B obliczenie 16× wykazało przekroczenie zera także dla Vorbis 160, z wynikiem +0,21 dBTP. Pozorny wzrost po samej zmianie częstotliwości próbkowania stał się w tej metodzie bardzo mały. Pokazuje to zależność od metody pomiaru. Nie dowodzi, że zmiana częstotliwości próbkowania nigdy nie zmienia szczytów.

EBU Tech 3343 opisuje możliwe zaniżenie o około 0,5 dB dla miernika 4× przy 48 kHz. Nie jest to uniwersalny maksymalny błąd każdego sygnału i filtra. Ta informacja nie potwierdza też bezpośrednio poprawności użytej tutaj implementacji dla 44,1 kHz.

Dlaczego mniej informacji może oznaczać wyższy szczyt

Szczyt zależy od sumowania składowych sygnału w danej chwili. Usunięcie składowej może zmniejszyć nie tylko energię, ale także wzajemne znoszenie się składowych. AES podaje prosty przykład: podstawowa sinusoida fali prostokątnej ma amplitudę 4/π, czyli około 1,27 amplitudy prostokąta. Usunięcie pozostałych harmonicznych pozostawia sinusoidę ze szczytem wyższym o około 2,1 dB, choć całkowita energia spada.

Kodeki stratne zmieniają składowe częstotliwościowe, a przez filtry również ich położenie w czasie. Konwersja częstotliwości próbkowania także wykorzystuje filtry. Takie operacje mogą podnosić lub obniżać szczyty. Wyższa przepływność nie gwarantuje zatem niższych szczytów, co pokazują jasne pliki AAC 256 oraz wyniki MP3 w tym archiwum.

Formaty streamingowe i zalecenia dotyczące masterów

Rzeczywiście dostarczany format zależy od serwisu, abonamentu, urządzenia i ustawionej jakości. Zestawienie przedstawia udokumentowane możliwości, a nie pomiary plików dostarczonych przez serwisy.

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 ALAC bezstratnie; zależnie od urządzenia i ustawień
YouTube Music AAC i Opus z przepływnością najwyżej 48, 128 lub 256 kbit/s Brak poziomu bezstratnego w przywołanych ustawieniach jakości
Amazon Music Opus 48, 192 lub 320 kbit/s (SD) FLAC (HD i Ultra HD)
Deezer MP3 64, 128 lub 320 kbit/s FLAC, jakość CD (16 bitów/44,1 kHz)

Deezer opisuje poziom FLAC jako „1411 kbit/s”. Odpowiada to nieskompresowanemu stereo PCM o rozdzielczości 16 bitów i częstotliwości 44,1 kHz. Skompresowany plik FLAC nie musi mieć tej stałej przepływności. Tabela deweloperska Amazon jest wyraźnie oznaczona jako dokumentacja wstępna. Żadna z tabel nie ustala dokładnego enkodera pojedynczego strumienia.

  • Spotify: zaleca −14 LUFS głośności zintegrowanej i true peak poniżej −1 dBTP, a dla głośniejszych masterów poniżej −2 dBTP. Są to zalecenia, nie gwarancja dla każdego szczytu po kodowaniu.
  • Apple Digital Masters: zaleca co najmniej 1 dB zapasu i udostępnia między innymi afclip do sprawdzania zakodowanych wyników.
  • AES TD1008: zaleca najwyżej −1 dBTP na wejściu stratnych kodeków streamingowych. Konkretny tor przetwarzania może wymagać większego zapasu.
  • EBU R 128 i Tech 3343: dotyczą produkcji i dystrybucji radiowo-telewizyjnej. Granica produkcyjna nie gwarantuje automatycznie zapasu dla każdego stratnego serwisu muzycznego.

Przydatna kontrola rzeczywistego mastera

Kodowanie próbne pokazuje wpływ jednego enkodera i ustawienia na nagranie. Przykładowo polecenie ffmpeg -n -i master.wav -c:a aac -b:a 128k probe.m4a tworzy próbkę AAC i odmawia nadpisania istniejącego pliku wynikowego. Pomiar po dekodowaniu odpowiednim miernikiem true peak pokazuje największy szczyt oraz pozostały zapas. Inne formaty i przepływności wymagają osobnych kontroli. Przykład z FFmpeg nie odtwarza wewnętrznego przetwarzania serwisu streamingowego.

Miernik LUFS i True Peak na tej stronie umożliwia kontrolę w przeglądarce. Dekodowanie przeglądarki i zmiana częstotliwości próbkowania mogą wpływać na wynik. Odczyt nie musi więc odpowiadać wtyczce masteringowej ani historycznemu obliczeniu z tego eksperymentu.

Pytania i odpowiedzi

Czy granica −2 dBTP gwarantuje bezproblemowy plik po kodowaniu?

Nie. Daje większy zapas niż −1 dBTP, a Spotify zaleca tę granicę dla głośniejszych masterów. Archiwalny jasny przykład C mimo to przekroczył zero po kodowaniu AAC 256. Decydująca pozostaje kontrola zdekodowanej wersji rzeczywistego nagrania.

Czy wystarcza próbka MP3 128?

Nie. W przykładach B MP3 128 obniżyło szczyty, natomiast AAC 128 je podniosło. Wynik jednego kodeka nie określa zachowania innego. Nawet dwa ustawienia tego samego kodeka mogą dać inne wysokości i położenie szczytów.

Czy normalizacja głośności zapobiega clippingowi?

Obniżenie poziomu może zmniejszyć zachowany szczyt. Proste ściszenie o 5 dB zmieniłoby +1,37 dBTP na −3,63 dBTP. Nie odtworzy jednak szczytu już wcześniej obciętego. Normalizacja musi też być aktywna: Spotify opisuje wyjątki dla odtwarzacza internetowego i urządzeń innych firm, różne ustawienia głośności oraz wspólne dopasowanie poziomu albumu.

Czy niższa granica szczytów kosztuje głośność?

Obniżenie całego sygnału o 1 dB zmniejsza także głośność zintegrowaną o około 1 LU. Zachowanie tej samej głośności przy niższej granicy szczytów wymaga zmiany przebiegu, na przykład mocniejszego limitowania. Pierwsze mastery B i C osiągnęły po −9 LUFS, ale przy innych ustawieniach limitera. Jasny master C nie osiągnął tego dokładnego celu. Wybór wpływa także na brzmienie i dynamikę, których sam pomiar szczytów nie ocenia.

Lukas Wójcik

Lukas Wójcik

Systems architect and technology enthusiast specializing in scalable tracking solutions, GMP Stack (GA4 & GTM), and robust backend architectures. Advocate for clean code and privacy-first design.

Kontakt

Masz pytanie lub pomysł na projekt internetowy? Napisz krótko, o co chodzi. Formularz korzysta z reCAPTCHA do ochrony przed spamem.

Napisanie komentarza

Doświadczenia z innymi programami DAW i wtyczkami, odmienne wyniki pomiarów oraz pytania są tu mile widziane.

Adres e-mail nie jest publikowany. Pola obowiązkowe oznaczono gwiazdką.