Viszlát, FLAC!

Veszteségmentes vagy pszichoakusztikus tömörítés? Megvizsgáltam a kódolási veszteségeket. – írta: szaszlaci, 4 éve

CD FLAC és 320 MP3

Közel tíz éve – ami valójában kilenc évet takar, de hát a kerek szám mindig nagyobb presztízsértékkel bír, ahogy így reményeim szerint a mondat megszerkesztője is – olyan mértékben meg voltam már győződve arról, hogy a veszteségmentesnek titulált hangformátumok (FLAC, WAV stb.) minősége hallhatóan meghaladja a 320 kbps információtartalmú MP3 gagyi, pszichoakusztikus irányelveit, hogy egy cikkecske megírására vetemedtem. Természetszerűleg teljesen saját elhatározásból.

Úgy döntöttem, hogy felülvizsgálom ezt a tényállást, valóban hallom-e.
Eredmény: nem hallok eltérést a 320 kbps MP3 fölött. Sőt, alatta sem.

Azonban ez így elég rövid írás lenne, szemmel is látni szeretném.
CD-flac hanganyagot konvertáltam 320 kbps MP3 formátumba, LAME 3.99 MPEG Audio Layer III enkóderrel, utána mindkettő hanghullámába mintavételezési pontig belenagyítottam, és összehasonlítottam őket. Ez digitális forrás, ha egyezik, akkor az ugyanúgy fog szólni, ha pedig nem, akkor látható kell legyen az eltérés.
Három különböző zene, egy másodperc alatt 44100 ilyen mintavételi pont van, így a legmagasabb leképezhető frekvencia 22.05 kHz.

Nem sok eltérést látok, pedig változatos részeket kerestem és közben sokat átnéztem. Michael Jackson zenéje igen sok összetevőből áll, amik hallgatva nem feltétlen sejtetik magukat. Alatta a lankás hullám a hegedű alapfrekvenciájának sokadik felharmonikusaiból összetett rész, amiről könnyen hihetnénk, hogy ide kell a nagy mintavételezés, hogy szépen visszaadja.

Ide kívánkozik, hogy ha ilyen pontos a tömörített állapot, akkor értelemszerűen az MP3 esetén egymástól teljesen független két csatornán sem lesz másképp, azaz a színpadkép épp olyan jó vagy rossz lesz, mint eredetileg. Ami azt illeti, ez az egészen alacsony bitrátán is megmaradt.

A spektrogram megmutatja, hogy az adott frekvencia összetevőkből mennyi található meg benne. Az összehasonlítás láttatja a létező, de még a „nem létező” eltéréseket is. Az érzékenységét egy példával szeretném bemutatni.

A következőkben látottakat ezek fényében tessék értékelni! Nézzük, mit mutat a formátumok közötti konverzió esetén.

Ránézésre jelentős veszteségnek tűnik, a kérdés, hogy ez mennyire számít.
Mint tudjuk, vitán felül áll, hogy ezt bizony egy jóféle „hifista” polgár azonnal és kétségek nélkül meghallja. Kész szerencse, hogy én nem tartom magam annak, ezért büntetlenül elmélkedhetek azon, hogy szükség van-e erre. Mert a 20 kHz közelében levő, de főleg ez fölötti részeket érdemben nem halljuk. Mondom ezt úgy, hogy nagyon közelről, megfelelő szögben én érzékelem a 20 kHz-et is és még fölötte is egy kicsit, de olyan gyengén, hogy e zenei információ tárolásának értelmét nem látom. Hallgatási távolságból ennek érzékeléséhez olyan hangerő szükséges, amitől legfeljebb a fejem fájdul meg.

A főbb magyarázat ezek létjogosultságára nem is ez, hanem hogy ezek adják a felharmonikusok egy részét, ettől lesz az a hangszer olyan hangú, amilyen. Akkor is, ha az nem hallható, az alacsonyabb frekvenciákat módosítja, így az változik és hallható lesz. Vajon mit adhat hozzá ez a zenéhez, egyáltalán módosulnak-e ennek meglétekor, elhagyásakor vagy eltávolításakor az alsóbb, érdemben hallható frekvenciák?
Mivel az elmélet úgy tartja, hogy minden hullámforma leírható különböző frekvenciájú szinuszok vegyítésével, ezért elvileg nem számít, nem módosít. Csak hozzátesz, de ha nem halljuk, akkor minek? A Fourier-transzformáció pedig működik a gyakorlatban, amivel szét lehet választani az adott jelet összetevőire.

Ezt azonban valahogy láttatni is kellene, ezért az alábbiakat követtem el:
• A korábbi érzékeny zenerészletről eltávolítottam mindent 11 kHz fölött.
• Ezután hozzáadtam egy 12 kHz-es szinusz jelet, ez szimulálja a felharmonikusokat, amik esetleg módosítanák az alsóbb frekvenciákat.
• Ezt utána átalakítottam 22 kHz mintavételezésűvé, ezzel ismét eltávolítva a 11 kHz fölötti részeket. Így modellezve azt, amikor az MP3 kódolás elveszi a 20 kHz fölötti részek legtöbbjét.
• Ha minden igaz, akkor a kiindulási állapotot kapom vissza.

Ez gyakorlatilag ugyanaz, még ilyen irreálisan nagymértékű és közel eső jel hozzáadásakor majd elvételekor is. Vagyis élesben a 20 kHz feletti kevéske információ jelentős részének eltávolítása ennél is sokkal jobban megkíméli a többi tartalmat.
Ami nem mellesleg beállítás függő, igény esetén megtartható minden 22 kHz-ig.

Ha a 20 kHz feletti hang eltárolása miatt mégis történt valami nagyon apró változás a hallható tartományban, elképzelhető, hogy a digitalizálás folyamán hallhatóvá vált alacsonyabb frekvencián ez a felső tartomány. Hiszen az ilyesfajta hanganyag rögzítésénél elhagyták az aluláteresztő szűrőt. Ez viszont így már nem távolítható el, vagyis jobb nem lett ettől a felvétel, de legalább rosszabb igen.

Megjegyzés: a hangkártya konfigurálásánál a 44,1 kHz-es beállításon nem megy át a 20 kHz, ezért legalább 48 kHz-et érdemes választani. A legjobb viszont megmérni, mert elképzelhető, hogy fentebb ez a tulajdonság romlik! Észrevenni ezt sem lehet, de még mindig sokkal többet számít, mint amikért sokan vagyonokat képesek elkölteni.

A tárgyalt 44,1 kHz mintavételezésnek van egy elméleti hátránya, mégpedig az, hogy a legnagyobb eltárolható 22 kHz közelében egyre inkább szögletes lesz a jel, függetlenül a kódolástól.

Ezek a ránézésre borzalmas háromszög alakú szinuszok valójában épp oly jók, mint a hullámos. A magyarázat egyszerű, a 22 kHz-nél rövidebb hullámhosszt biztosan nem érzékelő emberi fül azt sem lehet képes feldolgozni, ha az adott jelalak felharmonikusai vagy jelalakja nem írható le, csak 22 kHz-nél nagyobb frekvenciájú összetevővel. Ha hallanánk a különbséget, akkor a sokkal magasabb hangokat is érzékelni tudnánk.

Ami viszont lényegesebb, és teljesen gyakorlati magyarázat, hogy ezek az analóg hanghullámmá konvertáláskor visszaalakulnak szép szabályos szinusszá. Ezek saját mérések, ezekből az össze-vissza szögletes valamikből tényleg ilyen szép szinuszt kapunk vissza, bármilyen hihetetlen is.

Megjegyzés: a hangerősítő frekvencia átvitele nem véletlenül 100 kHz körüli, mert ennyi kell hozzá, hogy az analóg áramköri elemek a 20 kHz-es összetevőket is tartalmazó jelalakot pontosan leképezzék amplitúdó csökkenés és egyéb torzulások nélkül.

A cikk még nem ért véget, kérlek, lapozz!