Blog (3)
Komentarze (39)
Recenzje (0)
@AdalbertTeoria zgrywania ścieżek CD-Audio i kompresji dźwięku

Teoria zgrywania ścieżek CD‑Audio i kompresji dźwięku

08.04.2011 20:23, aktualizacja: 09.04.2011 15:03

Ale zanim do tej teorii cyfrowego dźwięku dojdziemy, kilka zdań z teorii analogowego dźwięku się przyda.

Co to jest dźwięk?

Fizycznie są to lokalne zmiany ciśnienia ośrodka (np. powietrza) które rozchodzą się falowo tworząc fale akustyczne. W rzeczywistości fale te nie są falami prostymi (podstawowa fala sinusoidalna), ale falami złożonymi z wielu fal podstawowych o różnych częstotliwościach i różnych amplitudach tworząc dźwięk złożony (o udziale poszczególnych zakresów częstotliwości fal podstawowych w fali złożonej czyli w np. konkretnym momencie utworu, możemy dowiedzieć się obserwując spektrum sygnału, w programie foobar2000 View ->Visualizations ->Spectrum). [image=img1]

Co słyszymy? Zmysł słuchu u człowieka posiada pewne ograniczenia. Człowiek słyszy składowe dźwięku (fale podstawowe) tylko w pewnym zakresie ich częstotliwości. Nie da się jednak podać dokładnej granicy ludzkiego słuchu, zależna jest ona od wielu czynników jak np. wieku danej osoby, stopnia zniszczenia słuchu czy wielkości przewodu słuchowego. Przyjmuje się jednak że zakres słyszalności zdrowego młodego człowieka mieści się w przedziale od 16Hz do 16000Hz, podawany jest też zakres 20Hz-20000Hz. Fal o częstotliwości poniżej tych umownych 16Hz (20Hz) nazywanych infradźwiękami jak i powyżej 16kHz (20kHz) nazywanych ultradźwiękami statystyczny człowiek już po prostu nie słyszy bez względu na ich natężenie. Podobnie i z amplitudą, fal o natężeniu dźwięku poniżej pewnej wartości (zmieniającej się wraz z częstotliwością fali) również nie słyszymy. Próg słyszenia przez doskonałe ucho przy maksimum czułości wynosi ok. 10^‑12W/m2 natężenia dźwięku (co daje 20µPa ciśnienia akustycznego - 0dB poziom ciśnienia SPL). Górna granica natężenia dźwięku (nazywana granicą bólu) jest indywidualna dla każdego człowieka, ale jako że badania kończą się głuchotą ochotników, nie jest tak dobrze wyznaczona. :) [image=img2] Nie jesteśmy również w stanie wykryć bardzo szybkich zmian amplitudy sygnału, co przekłada się na maksymalną dynamikę dźwięku jaką jesteśmy w stanie usłyszeć.

Co jest na płycie CD‑Audio? [image=img3] Ścieżki na płycie CD‑Audio to tak na prawdę cyfrowa reprezentacja sygnału analogowego (wspomnianych wyżej fal dźwiękowych) metodą PCM o częstotliwości próbkowania 44,1 kHz na kanał i rozdzielczości 16 bitów na próbkę. Czyli w uproszczeniu to taki nieskompresowany plik WAV o stałej przepływności 1 411,2 kbps (sekunda ścieżki dzielona jest na 44100 równych części i wartość chwilowa sygnału - fali dźwiękowej, reprezentowana jest na 16 bitach na kanał, co w przypadku standardowo spotykanego sygnału dwukanałowego daje nam 2 kanały * 44100 próbek w sekundzie na kanał * 16 bitów na próbkę = 1411200bitów/sek = 1411,2kbps).

Co to oznacza?

Każda sekunda ścieżki zajmuje zawsze dokładnie tyle samo (1411,2kb=176,4kB), bez względu na zakodowany sygnał. Bez znaczenia jest, czy nagrana jest cisza, lektor czytający książkę czy muzyka, wszystkie te ścieżki zajmują dokładnie tyle samo bitów na jednostkę czasu. Z częstotliwości próbkowania wynika maksymalna częstotliwość dźwięku jaką możemy odwzorować i wynosi ona dokładnie 44,1kHz/2=22,05kHz (jest to częstotliwość Nyquista). Łatwo zaobserwować na włączonej wcześniej wizualizacji spektrum sygnału, że w dźwięku z CD‑Audio nie ma składowych fal o częstotliwości powyżej tej wartości granicznej. Z rozdzielczości próbkowania (głębokości bitowej) wynika natomiast ile różnych wartości amplitudy fali dźwiękowej na próbkę możemy zakodować i jest to dokładnie 2^16 = 65536 różnych wartości (próbka może przyjmować wartości z przedziału od -32768 do +32767). Czyli na CD‑Audio teoretycznie jesteśmy w stanie zakodować dźwięk o częstotliwości od 0 do 22,05kHz z rozdzielczością 65536 wartości co pokrywa cały teoretyczny zakres pasma częstotliwości słyszalnych przez przeciętnego człowieka oraz prawie cały zakres rozpiętości dynamicznej słyszalnych dźwięków. Audiofilom jednak to nie wystarczy, stąd standardy Super Audio Compact Disc (SACD) czy DVD‑Audio, które pozwalają nagrywać dźwięki z większego pasma częstotliwości, z większą głębokością bitową, większą dynamiką i na większej ilości kanałów.

Co można zrobić z płytą CD‑Audio? Oczywiście mając na myśli chęć zrzucenia (zgrania, zripowania) ścieżek znajdujących się na CD‑Audio mamy kilka opcji do wyboru, ale na samym początku zawsze trzeba:

0. zgrać z płyty na pamięć komputera ścieżki CD‑Audio do tego wspomnianego wyżej oryginalnego, nieskompresowanego, bezstratnego formatu WAV. Operację tę wykonuje każdy program do ripowania płyt nawet jeżeli o tym nie wiemy (robi to "po cichu", w tle, w locie). Dopiero tak zgrane ścieżki można:

1. zostawić w tym surowym formacie, w efekcie czego otrzymamy idealną kopię ścieżek, zajmujących jednak dużo miejsca (analogia do plików BMP i RAW, gdzie przechowujemy nieskompresowany obraz) (przykładowa płyta z Koncertami Brandenburskimi w nieskompresowanym WAV zajęła 454 MB - 100% albo:

2. skompresować ścieżki za pomocą jednego z enkodera do któregoś:

a) z bezstratnych formatów jak np. FLAC, ALAC, Monkey's Audio, WavPack czy WMA Lossless, dzięki czemu nie utracimy żadnych danych (dźwiękowo będzie to identyczna kopia), a zaoszczędzimy na miejscu (analogia do plików PNG i GIF albo archiwów zip, pliki zajmują mniej miejsca, a po otworzeniu mamy dokładnie to samo co przed kompresją; przykładowa płyta z Koncertami Brandenburskimi skompresowana do FLAC (stopień kompresji 5) zajęła 225 MB - 49,6%

b) ze stratnych formatów jak np. AAC, MP3, Ogg Vorbis czy WMA, dzięki czemu uzyskamy małe pliki wynikowe, jednak kosztem utracenia pewnych informacji o dźwięku. Traconych jednak informacji o dźwiękach często nie słyszymy w ogóle (w przypadku wysokich przepływności plików) albo ubytki są prawie nie do wychwycenia przy standardowym odsłuchu. Dopiero przy spokojnym odsłuchu na dobrej klasy sprzęcie bądź dla niskich przepływności pojawiają się słyszalne zniekształcenia dźwięku. Jest to analogia do plików JPEG, gdzie pewne dane najmniej istotne dla oglądającego (często niedostrzegalne) są tracone bezpowrotnie, jednak na standardowym monitorze komputera czy telewizora różnic nie dostrzeżemy, chyba że powiększymy obraz aż będzie widać poszczególne piksele. przykładowa płyta z Koncertami Brandenburskimi skompresowana do MP3 (przełącznik -V 2, ok. 190kbps) zajęła 61,3 MB - 13,5%

Co wybrać?

To zależy od celu. Jeżeli chcemy zarchiwizować muzykę z naszej kolekcji oryginalnych płyt muzycznych, mamy sporo wolnej przestrzeni dyskowej, zależy nam na oryginalnej jakości, to najlepszym wyjściem będzie kompresja zgranych ścieżek do któregoś z bezstratnego formatu. Ogólnie wszystkie wymienione wyżej formaty (najbardziej popularne) prezentują podobny stopień kompresji (średnio 55‑60%, najlepszy Monkey's Audio średnio 55.50%), trochę bardziej różnią się prędkością kodowania (najszybszy jest WavPack) i dekodowania (najszybsze to FLAC i WavPack). To jakim enkoderem będziemy kompresować ścieżki z CD‑Audio będzie jednak zależało głównie od zastosowania. I tak użyjemy WavPack, gdy będzie nam zależało na prędkości kodowania, FLAC będzie najbardziej uniwersalny, Monkey's Audio użyjemy gdy będzie nam zależało bardzo na jak najmniejszym zajmowanym miejscu przez pliki wynikowe, fani Apple wybiorą oczywiście ALAC, a fani Microsoftu WMA Lossless. Gdy jednak zgrywamy ścieżki tylko po to by nie żonglować płytami w napędzie optycznym komputera, wrzucić je na przenośny odtwarzacz muzyczny, wypalić płytkę do radia samochodowego, które odtwarza np. MP3, nie mamy zbyt wiele wolnej przestrzeni dyskowej, nie zależy nam na idealnej kopii czy mamy do czynienia z CD‑Audio nagranymi z formatów stratnych (np. składanka z MP3‑trójek), to najlepszym wyjściem będzie kompresja zgranych ścieżek do któregoś ze stratnego formatu. I tutaj ponownie, to jakiego enkodera użyjemy, zależy od tego czego oczekujemy po plikach wynikowych. MP3 jest niekwestionowanym liderem uniwersalności - pliki odtworzymy praktycznie na każdym komputerze, systemie operacyjnym, programie czy odtwarzaczu, ale gdy będziemy chcieli uzyskać lepszą jakość pliku przy podobnej wielkości pliku, bądź podobną jakość z mniejszego pliku wynikowego, powinniśmy wybrać formaty takie jak AAC, Ogg Vorbis czy WMA w zależności od tego co np. odtwarza nasz przenośny grajek.

Mity

Przy okazji kodeków warto od razu zaznaczyć 2 kwestie: Wszystkie pliki skompresowane z oryginalnych CD‑Audio do któregokolwiek z bezstratnego formatu będą grały identycznie - będą generowały taki sam strumień dźwiękowy co CD‑Audio (oczywiście pod warunkiem prawidłowo napisanych enkoderów i dekoderów, które nie wprowadzają dodatkowych błędów, jednak przypadki wadliwych kodeków praktycznie nie występują). Nie ma więc różnicy w jakości dźwięku pliku skompresowanego do np. FLAC czy Monkey's Audio o ile źródło było to samo. Kodeki różnią się prędkością kodowania, dekodowania, stopniem kompresji czy sposobem tagowania, ale nie generowanym dźwiękiem. Jedyny sens konwersji plików dźwiękowych do innych formatów jest uzasadnione tylko chęcią zmniejszenia objętości plików przy pewnym (często niesłyszalnym) pogorszeniu jakości, bądź chęcią uzyskania pliku wynikowego w formacie, który wspiera jakiś z naszych odtwarzaczy. Nie ma takich sztuczek, które z MP3 128kbps zrobią bezstratnego FLACa, po konwersji całej kolekcji MP3‑trójek do OGG Vorbis nie uzyskamy lepszej jakości tak jak i po nagraniu na CD nie będziemy mieli jakość jak z oryginalnej płyty. Przy konwersji plików do innych formatów prawie zawsze tracimy jakieś dane i jakość. Wyjątek to oczywiście konwersja pomiędzy formatami bezstratnymi i samą CD‑Audio - możemy zgrywać ścieżki oryginalnej CD‑Audio, kompresować je do FLACa, potem konwertować je do WavPacka, następnie wypalać płytę audio z tych plików i tak tysiąc razy, a generowany dźwięk będzie dalej identyczny co do bita (bit-perfect) jak na oryginalnym krążku.

Skoro już uporaliśmy się z teorią i mitami czas przystąpić do drugiej części opisu zgrywania i kompresji ścieżek CD‑Audio w programie foobar2000... ale to temat na kolejny wpis. :)

Wybrane dla Ciebie
Komentarze (26)