Komprese do MP3

DREAMFACE.NET je, či spíše byl, název dalšího zaniklého serveru, kde jste si v minulosti mohli přečíst články z oblasti tvorby a úpravy hudby a také její historie. Tento server byl svého času velice populární a ačkoliv z jeho původního obsahu mnoho nezbylo a články se dohledávají velice těžko, dostal jsem od jeho tehdejšího šéfredaktora, Michala Škrabálka, dochované střípky přetisknout zde na FADER.cz

 

Většina „eMPétrojek“ dostupných na internetu se zvukovou kvalitou moc chlubit nemůže. Málokdo ovšem ví, že kvalita eMPétrojky vyjádřená v bitrate, tedy průtoku dat, je velmi jednoduše ovlivnitelná a snadno ji lze zvýšit, a to bez vedlejších účinků v podobě větší datové náročnosti. V článku se budu také zabývat extrahováním souboru MP3 zpět do WAVu, což je velmi častá otázka, i když řešení je v podstatě triviální.

Popisovat, co je to MP3, je asi zbytečné, takže ve zkratce: jedná se o ztrátovou kompresi zvukového souboru, která může zmenšit originál až v poměru 1:12 se „zachováním kvality“. Dnešní codery (tedy programy, které kompresi provádějí) k tomu používají různých fint: 

Maskování, kdy jsou vypuštěny frekvence, které lidské ucho neslyší, nejčastěji nevýrazné části skladby, které jsou přehlušovány hlasitějšími nástroji. 

Joint stereo, kde program převádí na mono to frekvenční spektrum, u kterého nerozeznáme jeho prostorovou polohu. Používání malého kousku paměťového prostoru kolem určité malé části zvukového spektra je také často používanou metodou variabilní birtate.

Variabilní bitrate je plynulá změna bitrate ve skladbě – když je potřeba, hraje empétrojka např. při 256 kbps (akustická sóla aj.) a pokud by bylo snížení bitrate uchem nepostřehnutelné, jednoduše je ubráno. Je asi zbytečné se tomuto tématu věnovat obšírněji, kdo má zájem, může si přečíst článek o mp3 technologii. Standardní bitrate dnešních empétrojek je 320 kbps (kilobits per second), ovšem slyšel jsem již nesčetněkrát a z několika zdrojů, že bohatě stačí bitrate 128 kbps a v podstatě je takto kódovaná empétrojka totožná s originálem (tedy nekomprimovaným souborem, např. typu *.wav).

Z mých zkušeností to ovšem ani zdaleka neodpovídá skutečnosti, protože zkreslení zvuku JE zřetelné a výrazně jej lze pozorovat například na bicích, kdy často chybí citelně výšky od 10 khz a výš (lidské ucho vnímá frekvence zhruba 20Hz až 20kHz, přičemž malé děti toho slyší více a staří lidé naopak méně). Je sice pravda, že nejhorší je to u vážné hudby, kdy chvíli hraje dvacet nástrojů současně a během chvilky vše vystřídá smyčcové sólo, což je doprovázeno typickým šustěním, které je způsobeno právě kompresí do mp3, ale také na tanečních skladbách je často poznat, že to člověk, který kódování obstarával, nedomyslel a s vidinou menšího výsledného souboru při kompresi použil menší bitrate než 128 kbps. Nevím, jak druhým, ale mně tyto nekvalitní a zvukově zmrvené empétrojky nějak nejdou přes uši, a proto jsem se rozhodl napsat pár rad a postřehů, jak zabránit „zmršení“ původního zvukového souboru do neposlouchatelné bezvýškové patlaniny.

Budu předpokládat, že nemáte kýžený soubor ještě přichystán v souboru WAV a budu se tedy zabývat také grabbováním (rippováním) z cédéčka. Nahráváním audio signálu se zabývá Pavel Kappler ve svém článku, takže tuto pasáž přeskočím. Základem pro tvorbu komprimované nahrávky je správný výběr coderu. Doporučuji vyhýbat se freewarovým programům a pokud už je to nutné, používat alespoň ty prověřené a kvalitní, protože coder je základ všeho a díky němu může zvuk znít dobře, ale také velmi ořezaně. Pozor na některé ne-freewarové codery s neuplatněnou registrací, protože bývají velice často omezeny na kódování jen do určitého bitrate – dělat mp3 max v 96 kbps je zmrzačení původní skladby! Z vlastních zkušeností vím, že některé codery používají velmi zvláštní algoritmy, které sice zaručují o pár desítek kb menší velikost empétrojky, ale zato s výraznou ztrátou qality, kdy například znatelně chybí sykavky, které jsou nahrazeny „šykavkami“… Budu se zabývat především AudioCatalystem, který jako jeden z mála dokáže kódovat ve variabilním bitrate, což je pro mnohé ( pro mě 🙂 ) klíčová výhoda…

Po otevření AudioCatalystu na nás vybafne hlavní okno (obr. 1). První, co doporučuji udělat, je kliknout na záložku Settings (viz. A, obr. 1) a následně na General, kde je spousta, většinou užitečného, nastavení. Vyskočí okno (obr. 2), kde můžeme změnit umístění, kam se bude grabbovat požadovaná skladba, zvolit metodu, jakou se bude přistupovat k CD-Rom mechanice (doporučuji neměnit, snad jen v případě problémů s cédéromkou je možné grabbovat analogově), druh mechaniky, metoda grabbování (opět doporučuji nechat defaultní nastavení) a rychlost grabbování, u které se trochu zastavím. Je důležité znát, kolikarychlostně vaše mechanika dokáže bezchybně grabbovat a nehnat se zbytečně za maximálními rychlostmi, protože často mechanika při grabbování na její maximální rychlosti dělá (resp. neopravuje) chyby a přeskakuje škrábance na disku, což se projeví různým praskáním a lupáním zvuku.

Mám vyzkoušeno, že nejlépe grabují vypalovačky, které si poradí i s poškrábaným CD, které běžné céderomky nepřečtou, nebo přečtou s chybami. Proto doporučuji nastavit rychlost grabování na nějaké rozumné hodnotě, podle typu a schopností cédéromky někde mezi 6x až 15x. Stejně moc času neušetříte… Ve spodní části okna lze nastavit dalších pár věcí, z nichž nejzajímavější je možnost nechat roztočit disk před početím grabbování (záložka Ripp Offset – viz. B, obr. 2) a vypnout počítač po dokončení grabbování v záložce Misc. (viz. C, obr. 2), což se hodí, jdete-li pryč a necháte počítač grabbovat za vaší nepřítomnosti. Máme tedy nastaveny základní možnosti, zavřeme okno a klikneme na tlačítko Mp3 (viz. D, obr. 1), kde se nám otevřou další možnosti, tentokrát klíčové pro požadovaný výsledek (obr. 3).

První z možností je, do jakého souboru chceme nahrávku z CD dostat. Můžeme si vybrat nekomprimovaný wav (pro ten nemá vliv nastavení rozepsané níže), Mp3 a obojí. Zaškrtnutím políčka Use intermadiate WAV file povolíme kompresi až po vygrabbování. Tuto volbu doporučuji neodškrtávat, protože při grabbování a zároveň komprimování do mp3 dochází k chybám při čtení, jelikož je mnohem více zaměstnáván procesor a ušetření času je stejně minimální. Dále je možnost použít ID Tag, což jsou vlastně vložené informace o autorovi, názvu songu a dalších věcech souvisejících s nahrávkou. Chcete-li vytvořit mp3 z již přichystaného WAVu, klikněte na „Create an mp3 now“ (viz E, obr. 3), kde stačí na harddisku nalistovat song a začít komprimovat. Nepřeskočte ale nejdůležitější možnost, kterou je výběr druhu komprese mezi klasickým konstantním bitrate a variabilním bitrate. Druhá možnost je několikanásobně lepší, i když ji málokdo používá, takže bezpodmínečně zaškrtněte toto políčko. Spousta lidí se mě ptá, proč v mých skladbách (ke stažení v sekci Download) skáče bitrate, domnívajíc se, že je něco špatně a nevědouc, že se jedná právě o variabilní bitrate. Jeho princip jsem vysvětloval na začátku článku, takže již asi víte, že je to velice dobrá vychytávka, která zajistí menší velikost empétrojky při vyšší kvalitě nahrávky! Zde už záleží na vás, jakou kvalitu variabilního bitrate zvolíte, pro publikaci na internetu se hodí nastavit Normal, díky které bude výsledný soubor datově menší. Pro domácí použití ale bez rozpaků volte nejvyšší kvalitu (High), protože při této volbě lze už bez uzardění říci, že je song v porovnání s originálem skoro bezeztrátový a rozdíly poznáte jen minimální…

Sám používám maximální kvalitu variabilního bitrate a nelituji toho, že se mi na CD vejde míň empétrojek, protože jsou výrazně kvalitnější a dovolují lepší poslech… To jsem trochu odbočil, takže z5 k nastavení. Po kliknutí na čudl „Advanced“ (viz. F, obr. 3) se otevře další okno (obr. 4), kde první dvě políčka ovlivňují pouze ID Tag, další dvě zajišťují kvalitnější kódvání, takže jediné zajímavé je „Force simple stereo when possible, jehož zašrtnutím přikážete AudioCatalystu kódovat pouze do sterea a zakážete využívání Joint Sterea, popsaného na začátku článku. Čudl „Always Mono“ slouží těm, kteří chtějí mít empétrojku pouze v monu – to se hodí pro původní mono wavy, protože AudioCatalyst je jinak normálně převádí na Joint Stereo, což zbytečně zvětšuje mp3, když je soubor stejně mono… Tak, všechno už máme nastaveno, taď už stačí uložit veškerá nastavení tlačítkem Ok a vrátit se do hlavního menu (obr. 1). Zde si zašrtnětě stopy, které chcete grabbovat a stiskněte tlačítko Grab! (viz. G, obr. 1). Teď už vše záleží jen na SW a HW, takže při slušných podmínkách (rozumějte solidní CD-Romce a dobrému procesoru) bude trvat grabbnutí a komprese celého cédéčka kolem půl hodiny. Na PII 300 trvá tvorba jedné mp3 z wavu asi poloviční dobu jeho délky (čili kódování probíhá 200% rychlostí – šetsiminutový song se komprimuje tři minuty), na PIII 500 už je rychlost opravdu svižná a zkomprimování šestiminutové skladby trvá cca 20-30 sekund…

Další z věcí, na kterou se často ptáte, je způsob, jakým lze dostat z empétrojky zpět soubor wav. Tady je situace ještě jednodušší a stačí jediná věc – mít nainstalovaný Winamp, což je asi nejpoužívanější software pro přehrávání souborů mpx. Tak a teď k samotnému exportu do WAVu. Spustěte Winamp a stiskněte kombinaci kláves CTRL+P. Otevře se vám dialogové okno se spoustou nastavení. Záložka, která zajímá nás, se skrývá pod označením „Output„. Zde je seznam plugin přes které probíhá přehrávání zvukových souborů. Zapamatujte si, která je označena a přepněte na plugin „Nullsoft Disk Writer“. Jeho jméno se může trochu lišit v závislosti na používané verzi Winampu, ale určitě jej poznáte. Dvojitým poklepáním na něj se zobrazí nastavení, kde nechte všechno tak, jak je, pouze si zvolte adresář, do kterého se budou WAVy extrahovat. Teď už stačí jen zavřít menu preferencí, nalistovat příslušné empétrojky a spustit přehrávání. Vše bude probíhat rychleji, než je běžné přehrávání (v závislosti na kmitočtu vašeho CPU) a nebude slyšet zvuk. Doporučuji nemít zaškrtlou položku repeat, jinak se bude dekomprimovat vše stále dokola:-) Až bude práce hotova, nezapomeňte vrátit nastavení z5 na původní hodnotu, (proto jsem psal, abyste si zapamatovali, přes jaký plugin Winamp přehrával zvuk dříve) jinak nebudou v budoucnu spouštěné soubory hrát, alébrž se dekomprimovat do WAVu.

Na závěr bych snad jen dodal, že tento postup (a vlastně jakýkoliv jiný použitý pro extrahování wavu z Mp3) je ztrátový, protože nelze vrátit ty frekvence, které byly odebrány při kompresi do Mp3! Pokud tedy uděláte z nějaké skladby empétrojku, poté ji vyextrahujete do wavu a převedete znovu do Mp3, kvalita se stále zhoršuje, protože codery odebírají další a další části zvukového spektra. Toť vše, máte-li jakékoliv dotazy ohledně tohoto tématu, nebojte se využít komentáře k tomuto článku.

Michal Škrabálek – http://michal.skrabalek.cz

(5.07. 2002)

Napsat komentář