Oryginał czy nie oryginał.doc

(830 KB) Pobierz

Oryginał czy nie oryginał?

 

Metoda analizy...

 

Jak wiadomo, stratne formaty kompresji dźwięku opierają się przede wszystkim, na wycięciu z utworu częstotliwości, które należą do pasma niesłyszalnego dla człowieka lub tzw. pasma obojętnego czyli takiego, którego ludzkie ucho nie potrzebuje do pełni odczuwania esencji nagrania - to tylko teoria.

Pomimo, iż częstotliwości poniżej pewnego progu i powyżej innego, są dla ludzkiego ucha niesłyszalne a niektóre prawie nieodczuwalne - pomysł wycięcia tych częstotliwości wydaje się być dobry, jednak tylko na pierwszy rzut... ucha?

Rozwiązanie takie niesie ze sobą dwa fundamentalne problemy:

1) Każdy człowiek ma inną granicę słyszalności dźwięków o niskiej i wysokiej częstotliwości, więc nie da się jednoznacznie wybrać tych, które "można obciąć bez straty jakości dla słuchacza", chyba, że wycięłoby się te, których nie może usłyszeć ani odczuć ich braku, żaden (bez wyjątku) człowiek - ale takich częstotliwości płyty CD nie zawierają.

Przeciętna płyta Audio-CD, zawierająca utwory zróżnicowane pod względem dźwięków niskich i wysokich zawartych na niej - np. muzyka klasyczna - po zbadaniu jej widma "malowała by" się gdzieś pomiędzy częstotliwością 100Hz przy dolnej granicy a 20kHz przy granicy górnej. (Wartości te są różne dla różnych stylistyk gatunkowych)

Różne gatunki muzyczne, różniłyby się od siebie tym zakresem, jednak największe różnice byłyby widoczne gdzieś w połowie tego przedziału, tam gdzie mieści się melodia, czyli w okolicach 10-15kHz (wartość uogólniona dla różnych gatunków muzycznych).

Stąd wyciągnięto wniosek, że można z sygnału audio wyciąć to co "niepotrzebne" - i to był błąd, który kosztował nas utratę jakości nagrań - jednak zyskaliśmy coś innego: zmniejszenie objętości nawet kilkudziesięciokrotnie.

W przypadku formatu MP3, dla różnych jakości obcinane są różne zakresy częstotliwości. Dla zobrazowania tematu przeprowadziłem doświadczenie z utworem zróżnicowanym pod względem częstotliwościowym na tyle, żeby oryginalny plik bez kompresji zawierał w miarę pełną paletę częstotliwości składowych (widmo częstotliwości).

Oto obraz widma częstotliwości utworu nieskompresowanego:

Opis: Przykład



Następnie skompresowałem ten sam utwór do formatu MP3, z kilkoma najpopularniejszymi ustawieniami bitrate:

Opis: Przykład

 

Opis: Przykład

 

Opis: Przykład




          Jak widać, wraz z kompresją sygnał odchudzany jest zauważalnie już w paśmie od 5kHz! Widoczne wycięcie wysokich częstotliwości widoczne jest przy około 18-20kHz.

Taka oto właściwość stratnych formatów kompresji pozwoliła stworzyć aplikacje pomagające odróżnić nam płyty nagrane ze źródła oryginalnego od tych, które nagrane zostały ze źródła stratnego. Analiza widma sygnału wspomagana przez skomplikowane obliczenia matematyczne, pozwala na obliczenie prawdopodobieństwa pochodzenia nagrania ze stratnego lub oryginalnego źródła.

Nie we wszystkich jednak przypadkach procedura oparta na sprawdzaniu widma okaże się wiarygodna ponieważ spotkać mozna albumy, których jakość lub brzmienie, nawet na oryginalnym nośniku posiada charakterystykę zbliżoną do charakterystyk widma, rozpoznawanych jako stratny format kompresji audio.
Zdarza się to jednak niezbyt często, a jeżeli ma już miejsce, to jesteśmy świadomi specyfiki danego albumu i możemy wziąć poprawkę na program sprawdzający autentyczność nagrania.

 

Aplikacje sprawdzające...

 

Jako aplikacje sprawdzające "autentyczność" nagranej płyty, posłużą nam dwa programy oparte o ten sam silnik sprawdzający, jednak jeden z nich jest narzędziem obsługiwanym w trybie tekstowym a drugi posiada graficzny interfejs użytkownika.

Są to TauAnalyzer oraz auCDtect stworzone przez społeczność True Audio znaną także ze stworzenia algorytmu bezstratnej kompresji TTA.

Więcej informacji o True Audio Community znaleźć można na na stronie domowej społeczności.

Silnikiem sprawdzającym "autentyczność" jest silnik auCDtect będący matematycznym algorytmem analizującym widma Fouriera w segmentach czasowych nagrania pod względem częstotliwości granicznych i przesunięcia fazy sygnału. Obliczenia te przeprowadzane są w oparciu o dwa wzory opisujące algorytm:

Opis: Przykład



oraz:

Opis: Przykład



auCDtect w swojej naturalnej formie - obsługiwany z wiersza polecenia przeznaczony jest dla osób lubiących ten typ interfejsu lub dla potrzeb połączenia silnika auCDtect z innymi aplikacjami.
Pomimo tekstowego interfejsu aplikacja jest łatwa i przyjemna w obsłudze. Nie przytacza użytkownika zbędną mnogością dostępnych opcji czy skomplikowanej składni polecenia.
Nie wymaga także instalacji, co pozwala na użycie jej jako narzędzia przenośnego w formie "portable" - umieszczonego np. na karcie flash, czy pen-driv'ie.

Jedynym mankamentem auCDtect'a jest to, iż przedmiotem badanym są pliki .WAV, co oznacza, że przed badaniem trzeba zgrać płytę Audio na dysk twardy do formatu .WAV.

TauAnalyzer bazujący na silniku auCDtect, jest aplikacją "okienkową" i wymagającą instalacji. Jest jednak bardzo prostą i intuicyjną aplikacją z którą poradzi sobie nawet najmniej doświadczony użytkownik oraz wykonuje test wprost z nośnika optycznego - co niewątpliwie wpływa pozytywnie na czas wykonania testu jednej płyty oraz na wygodę użytkowania.
TauAnalyzer, w odróżnieniu od auCDtect, poza zwróceniem informacji na temat "autentyczności" nagrania daje nam możliwość odczytania informacji na temat samego nośnika i kodów ISRC. Ponadto daje nam możliwość obejrzenia w formie graficznej widma sygnału badanego oraz wykresu częstotliwości z podziałem na kanały.
Wyniki zwracane zarówno przez auCDtect jak i przez TauAnalyzer są czytelne, zrozumiałe i co najważniejsze - jednoznaczne.

auCDtect zwraca wynik kalkulacji w formie prawdopodobieństwa (liczonego w procentach) na to, że źródłem nagrania był nieskompresowany stratnie dźwięk.

TauAnalyzer zwraca wynik kalkulacji w formie dwóch znaczników: CDDA (co oznacza, że płyta została nagrana z bezstratnego źródła) lub MPEG (co oznacza, że płyta została nagrana ze źródła stratnego jakościowo).
 

auCDtect

 

Jak już wcześniej wspominałem, auCDtect jest narzędziem operującym na plikach .WAV, więc zanim użyjemy go do sprawdzenia autentyczności nagrań musimy zgrać płytę na dysk twardy (polecam do tego celu aplikację EAC).

Ważne jest abyśmy znali pełną ścieżkę do plików .WAV, które chcemy przetestować - najlepiej umieścić pliki w katalogu o krótkiej i łatwej nazwie a ten w głównym katalogu partycji (np. D:\wav).

Aby ułatwić sobie pracę z auCDtect dobrze jest umieścić jego plik wykonywalny w katalogu z plikami .WAV - lub stworzyć zmienną środowiskową zawierającą ścieżkę do pliku auCDtect.exe, jednak dla mniej zaawansowanego użytkownika może być to problemem.

Uruchamiamy wiersz poleceń następnie przenosimy się do naszego katalogu, w którym umieściliśmy pliki, które chcemy sprawdzić oraz plik wykonywalny auCDtect.

Na początek sprawdźmy jakie opcje do wyboru daje nam auCDtect. Aby to sprawdzić wpisujemy w wierszu poleceń aucdtect -h:

Opis: Przykład



Z wyświetlonych komend i opcji interesują nas dwie: -v oraz -mS. Pierwsza gwarantuje nam wgląd w aktualnie wykonywane zadanie a druga z opcji pozwala nam określić dokładność badania - użyjemy największej skuteczności, czyli S=0.
Wśród wyświetlonych informacji dostajemy także podpowiedź odnośnie tego, jaka jest składnia polecenia: auCDtect [commands/options] (track.wav|*.wav)

Zgodnie z tymi wytycznymi, wydajemy polecenie:aucdtect -v -m0 *.wav

Opis: Przykład



Po wydaniu polecenia auCDtect "przebada" wszystkie pliki .WAV obecne w katalogu:

Opis: Przykład



Wynik, dla wszystkich utworów prezentowany jest w takiej samej formie:

Opis: Przykład



This track looks like CDDA with probability 100%

Poza informacją na temat pochodzenia materiału dostajemy zbiór charakterystyk materiału:
- średnia, górna częstotliwość graniczna
- średnia, dolna częstotliwość graniczna
- średnia, górna częstotliwość odcięcia
- średnia, dolna częstotliwość odcięcia
- maksymalna, przypuszczalna częstotliwość graniczna
- współczynnik nieliniowości fazy
- pierwszy pomiar tłumienia
- drugi pomiar tłumienia

Wszystkie te wyniki podawane są w mało czytelnej mierze logarytmicznej opartej o stałą Eulera (e).

Jak widać, silnik auCDtect w swojej czystej formie nie jest ani skomplikowany w użyciu, ani trudne nie są do rozszyfrowania jego wyniki - jednak wygodniejszą formą sprawdzenia autentyczności nagrań jest TauAnalyzer, przedstawiony w dalszej części artykułu...
 

 

Tau Analyzer

 

Tau Analyzer jest to swoisty "frontend" programu auCDtect opisanego w poprzednim rozdziale. Aplikacja z interfejsem graficznym, intuicyjna i prosta w obsłudze:

Opis: Przykład

 

Opis: Przykład



Po umieszczeniu płyty w napędzie, wyborze litery napędu z menu i odczytaniu zawartości nośnika, otrzymujemy zbiór wstępnych informacji o kompilacji:

Informacje o ścieżkach (ich długości, rozmiary i czasy startu) (zakładka tracks):

Opis: Przykład




Informacje o napędzie i nośniku (zakładka CD Info):

Opis: Przykład



TEST
W trakcie testowania poszczególnych ścieżek mamy wgląd w stopień postępu wyrażony w procentach, ilość błędów odczytu oraz czas testu:

Opis: Przykład




Gdy zostanie ukończony test wszystkich ścieżek otrzymamy podsumowanie:

Opis: Przykład



Kolumna Status informuje nas o tym, jak silnik ocenił pochodzenie badanych ścieżek - w tym przypadku, ocenił źródło na płytę audio, czyli CDDA. Wynik jest prawidłowy, gdyż nośnikiem użytym do testu była oryginalna płyta Audio-CD. Jak widać program bez pomyłki ocenił każdą ścieżkę i ogół dysku jako CDDA.

Aby przedstawić różne możliwości wyniku, ten sam album został zgrany do formatu MP3 w jakości 320kb/s a następnie nagrany na płytę CD w postaci kompilacji Audio. Wynik jest następujący:

Opis: Przykład




Kolejna płyta testowa została przygotowana z plików nie poddanych kompresji (WAV) oraz z plików MP3 użytych w poprzednim przykładzie (ścieżki 1-5 są z pochodzenia WAV, ścieżki 6-10 zaś pochodzą od MP3):

Opis: Przykład



Jak widać w tym przypadku użycie jedynie dwóch znaczników informujących o przypuszczalnym pochodzeniu ścieżek (CDDA i MPEG) nie zdaje egzaminu. O ile w przypadku pojedynczych ścieżek program zwraca informację o potencjalnej stracie na jakości, o tyle w podsumowaniu informuje nas, iż album pochodzi najprawdopodobniej z oryginalnych, bezstratnych ścieżek. Skąd ten błąd?
Błąd wziął się z ułamka procenta który przechylił szalę na stronę CDDA. Chodzi mianowicie o to, że mniej więcej połowę stanowiły ścieżki stratne i połowę ścieżki bezstratne - okazało się jednak, że te bezstratne stanowią więcej niż 50% - tak więc program, pracujący według algorytmu auCDtect uznał, że jeżeli ponad 50% materiału wydaje się być bezstratnego to można uznać całość jako "prawdziwą".

W tym momencie warto zauważyć, iż nie można raczej ufać wynikowi sprawdzania Tau Analyzera, a jedynie poszczególnym jego wskazaniom w odniesieniu do konkretnych ścieżek.
Ponadto radziłbym w przypadku zwrócenia przez Tau Analyzera oceny konkretnej ścieżki jako MPEG, zgranie jej na dysk twardy do postaci pliku .WAV i sprawdzenie go za pomocą auCDtect. Dzięki temu będziemy wiedzieli jakie jest prawdopodobieństwo, iż utwór pochodzi z kompresowanego stratnie źródła - poznamy je dokładnie!

 

Ponownie odrobina teorii...

 

Pozostałe zakładki programu Tau Analyzer nie zostały opisane celowo w poprzednim rozdziale po to, byśmy w tym mogli przyjrzeć się jednej z nich nieco bardziej szczegółowo...

O ile zakładka Spectrum może udzielić nam niezbyt wiele czytelnych i pomocnych informacji, o tyle zakładka Frequency pomoże podeprzeć nam ponownie teorię z rozdziału pierwszego odrobiną praktyki muzycznej.

Wykres częstotliwości składowych ścieżki nr.1 (lewy i prawy kanał) z oryginalnej płyty Audio-CD wygląda następująco:

Opis: Przykład



Wykres częstotliwości składowych dla płyty CD nagranej z MP3 natomiast tak:

Opis: Przykład



Jeżeli nałożymy jeden wykres na drugi otrzymamy dobrze widoczną różnicę jakości.

Na obrazie zaznaczono:
białą linią: umowną, przyjętą ogólnie granicę słyszalności dźwięku przez ludzkie ucho (-60dB)
zielonymi liniami:
- graniczną częstotliwość sygnału, przy której można zauważyć różnicę w przebiegach wykresów
- częstotliwość odcięcia, powyżej której w przypadku przebiegu sygnału ścieżki stworzonej z MP3, składowe zostały obcięte
 

Opis: Przykład

Bez problemu możemy więc poznać, po samym przebiegu czy ścieżka pochodzi ze źródła stratnego, czy bezstratnego - podkreslić trzeba jednak ponownie, że może zdarzyć się sytuacja, w której ścieżka pochodząca z źródła bezstratnego charakterystyką przypominać będzie pochodzenie stratne.

          Warto zwrócić uwagę na jeszcze jeden szczegół, który rzuca się w oczy podczas testowania tego samego materiału pochodzącego z różnych źródeł. Chodzi o czas, w jakim program dochodzi do wyniku CDDA i MPEG - czasy są różne. Ścieżki wykazujące zdolność do przypominania w charakterystyce stratnego źródła, badane są szybciej.
 

Podsumowanie

 

          Mam nadzieję, że opisany silnik auCDtect oraz oparta na nim aplikacja Tau Analyzer pomogła rozwiać wątpliwości co do źródła pochodzenia płyt, które znajdują się w kolekcjach naszych czytelników, a do których to mieli oni pewno "podejrzenia".
Pamiętać należy, że zanim zdecydujemy się na usunięcie podejrzanej płyty ze swojej kolekcji, warto sprawdzić za pomocą auCDtect jakie jest procentowe prawdopodobieństwo na to, że ścieżki pochodzą ze stratnego źródła oraz, jeżeli mamy taką mozliwośc - poprosić kogoś, kto posiada oryginalną płytę którą badaliśmy aby przeprowadził podobne badanie.

Dziękuję za czas poświęcony na przeczytanie powyższego artykułu oraz namawiam do czytania innych artykułów na stronie cdrlab.pl, w których znaleźć można wiele cennych informacji. Michał Smereczyński.

 

 

Zgłoś jeśli naruszono regulamin