Linux E X P R E S

Facebook

Hudební CD na minimum, 1. část

S ripováním a následným enkódováním audio CD vám poradí Tomáš Hanusek.


Přehrávače audio CD disků jsou dnes v domácnostech již naprostou samozřejmostí stejně jako přenosné discmany. Hudební formát MP3 je zase naprostou samozřejmostí v oblasti počítačové hudby. Stále častěji se také setkáváme s přenosem počítačových technologií do běžných spotřebičů a tak již CD přehrávače a discmany umějí přehrávat MP3 soubory. A spolu s tím vyvstává požadavek na zálohování či převod hudebních CD do těchto datově úspornějších počítačových formátů.

Následující několikadílný článek vás s touto problematikou seznámí podrobněji, naučíte se zvládnout celý proces převodu audio CD na jejich počítačový ekvivalent. Povíme si o celé záležitosti jednak v rovině obecné, teoretické, která je platná pro všechny platformy, a následně se podíváme na konkrétní nástroje v prostředí Linuxu - jak klasické, konzolové (pro příkazovou řádku), tak ty moderní, grafické, klikací.

Obrázek: 10.jpg

Ukážeme si taky, že MP3 není jedinou možností komprimace hudebních dat, a rovněž neopomineme problematiku ochrany audio CD proti čtení a kopírování v počítačích a jak se s tímto problémem v Linuxu vyrovnat.

Každý majitel audio CD disku má právo vytvořit si jednu kopii tohoto média pro případ ztráty či zničení originálu, případně pro potřeby časového či prostorového přesunu (k přehrávání v autě či přenosném přehrávači digitálního zvukového záznamu) nebo vytvářet si z legálně držených médií kompilace. K tomuto účelu se skvěle hodí počítač vybavený CD-ROM mechanikou a softwarem pro zpracování audio CD disků a zvuku. V následujícím textu se dozvíte, jak celý tento proces probíhá a jak jej může provést v Linuxu.

Obrázek: 9.jpg

Během procesu komprimace hudebního záznamu (tzv. encoding) je využíváno různých psychoakustických modelů - jde o to, že lidské ucho není běžně schopno rozlišit všechny zvuky zachycené v nahrávce a lze je tedy relativně bez ztráty výsledné kvality vypustit. Aplikovány jsou mnohé zvukové vlastnosti, což vede ke konečnému snížení objemu a zjednodušení dat, což usnadňuje jejich následnou kompresi.

Obrázek: 7.jpg

Převod audio CD na přehrávatelné soubory několikanásobně menší velikosti sestává v zásadě ze dvou kroků. Tím prvním je vyextrahování hudebních dat z CD nosiče, tzv. ripping (počeštěně též ripování), druhým pak zmenšení objemu zvukových dat uložených na disku, tzv. encoding (enkódování). Oba tyto kroky si nyní podrobně projdeme a podíváme se na některé nástroje, jichž můžeme v prostředí Linuxu k těmto účelům použít.

Audio CD má odlišnou strukturu uložení informací než datové CD, které je rozděleno na sektory/bloky, které musí být ve struktuře CD disku nějak označeny, a tak v případě datového CD je vždy několik bajtů na začátku a na konci takového sektoru (ten má několik set bytů) vyhrazeno pro jeho identifikaci. Audio CD takovéto uspořádání nemá, z toho mimo jiné vyplývá, že ho nelze připojit jako souborový systém, a také že pojme více hudebních dat než datové CD běžných dat. Na dnes nejpoužívanější 700MB/80min CD-R médium lze standardně zapsat/vypálit cca 736400000 bytů. Naproti tomu audio CD může obsahovat daleko více dat z důvodů, které jsme zmínili výše. Hudební záznam na Digital Audio Compact Disc je standardizován jako 16bitový, stereo a se vzorkovací frekvencí 44,1 kHz.

Vzorkovací frekvence 44,1 kHz znamená, že jedna sekunda zvuku je popsána 44100 daty (záměrně nepíši bajty), v případě sterea pak nezávisle pro dva kanály. Každá tato elementární informace je 16bitová, tzn. že může nabývat právě jedné hodnoty z 65536 možností (0-65535, což je dvě na šestnáctou). Jedna sekunda hudebního záznamu tedy spotřebuje 2*2*44100 = 176400 bytů. V případě 80minutového záznamu na audio CD je to pak cca 807 MB dat, což je přes 100 MB více, než se na toto médium vejde běžných dat.

Audio CD tedy není možné připojit jako běžný datový zdroj, informace z něj musíme získat za pomoci specializovaného softwaru pro extrakci digitálního audia, samozřejmě musí CD-ROM mechanika tuto funkci poskytovat. K ripování v Linuxu můžeme použít jak konzolové tak grafické nástroje, těch druhých je k dispozici takřka nepřeberné množství. Z první skupiny se zmíníme o programu cdparanoia a cdda2wav, z grafických nástrojů to budou GRip a RipperX - tyto pomůcky umožňují kromě ripování také enkódování.

Cílem enkódování hudebních dat je zmenšení jejich objemu, který v surové podobě zabírají. Jedná se o ztrátovou kompresi, kdy data jsou zjednodušována pro vyšší účinek jejich komprese. Ke kompresi lze použít různé algoritmy, kterým se říká kodeky (codec - COder/DECoder). Jedním z nejznámějších hudebních kodeků je bezpochyby MPEG-1 Layer III codec (MP3 kodek). Jedná se však o proprietární algoritmus a jeho použití podléhá zpoplatnění.

Z otevřených (open-source) hudebních kodeků bych se zmínil o LAME (Lame Ain't MP3 Encoder), který představuje plnohodnotnou, ne-li lepší alternativu k MP3. Dalším je audio kodek Ogg z projektu Vorbis, který se vyznačuje vyšší kvalitou výsledného zvukového dojmu při kompresi na stejný objem dat a v poslední době získává stále více na popularitě. Těmto dvěma kodekům se budeme později také věnovat.

CD chráněná proti přehrávání na PC

Někteří výrobci audio CD disků se snaží zabránit jejich kopírování různými ochrannými technikami. V zásadě se jedná o výrobu záměrně poškozených CD, která jsou přehrávatelná v co největším počtu stolních CD přehrávačů a zároveň na co nejméně počítačích. To je možné proto, že CD-ROM mechanika v počítači se v kombinaci s operačním systémem chová "inteligentně" a je tak mnohem citlivější na správnost dat uložených na CD.

Jedním z prvních (a primitivních) způsobů "ochrany" audio CD byla výroba takových CD, která se tvářila jako multisession (vypalovaná na vícekrát), avšak poslední session byla neúplná či jinak záměrně poškozená. CD-ROM mechanika v počítači nebyla schopna kvůli nastavení operačního systému takovýto CD disk načíst, jelikož nebyla korektně ukončena poslední session (kterou CD-ROM čte jako první a z ní získává napojení na dřívější záznamy), a CD bylo odmítnuto jako vadné.

Naproti tomu stolní CD přehrávače načítají pouze první session, takže si této "ochrany" vůbec nevšímaly. Výrobci CD-ROM toto vyřešili funkcí "First session only", kdy je mechanika přinucena načíst jen první vypalovací seanci (session) a zbytek ignorovat.

Jiným způsobem "ochrany" může být zápis záměrně vadných audio dat spolu s chybnými korekčními kódy, takže CD je mechanikou vnímáno jako poškrábané. Tyto chyby jsou neopravitelné a v případě CD přehrávačů nastupují interpolační mechanismy. Počítačové CD-ROM mechaniky však obvykle takovéto možnosti nemají (resp. jsou naprogramovány na bezchybné čtení dat) a výsledkem jsou nesmyslná audio data nebo je rychlost čtení snížena na neúnosnou úroveň. Jindy je záměrně poškozena TOC (Table Of Contents - tabulka obsahu CD) a audio stopy jsou vydávány za data.

Tato záměrná poškozování/změny digitálního audio CD záznamu došla tak daleko, že firma Philips - tvůrce tohoto formátu - spolu se Sony požádala výrobce takových audio CD nosičů, aby své výrobky přestali označovat oficiálním logem "COMPACT DISC DIGITAL AUDIO - CDDA". Kritici takovéto ochrany navíc argumentovali, že snižuje kvalitu a trvanlivost záznamu, jeho odolnost vůči chybám a celkový účel jakéhokoli standardu - interoperabilitu.

V dnešní době samozřejmě existuje celá řada poměrně sofistikovaných způsobů takovéto "ochrany". Zbraní proti ní je v prvé řadě kvalitní/správný/nejnovější hardware a v druhé řadě operační systém. Pokud se vám pomocí uvedeného návodu nepodaří nějaké CD ripnout, můžete vyzkoušet několik "fint".

Jednou z nich, i když poměrně drastickou, je pomocí tmavého fixu překrýt vnější okraj CD - začněte tenčí soustřednou kružnicí po vnějším okraji CD a vyzkoušejte výsledek v CD-ROM mechanice počítače. Pokud stále nepůjde přečíst, udělejte čáru tlustší (více do středu) a opět vyzkoušejte. Tento způsob však funguje pouze u způsobu ochrany, kdy poslední session začíná těsně před koncem záznamové oblasti CD a není ukončena.

Narazil jsem již také na CD, které jak cdparanoia tak cdda2wav tvrdohlavě ripovaly s chybami (chrčení), avšak KsCD tento nosič přehrál čistě, bez jakýchkoli problémů. Na řadu přišel software pro nahrávání audia (použil jsem Audacity) a CD jsem nahrál postupně ze zvukové karty (kanál CD) při přehrávání v KsCD.

Poněkud zoufalým řešením by také mohlo být připojení stolního CD přehrávače do vstupu zvukové karty a zachytávání vstupního audia pomocí odpovídajícího software. Posledním řešením je pak výměna hardwaru (CD-ROM).

Bez dalšího otálení se pustíme rovnou do ripování pomocí grafických nástrojů, ti zvídavější si jistě rádi počkají na 2. část, kde se budeme podrobněji věnovat práci v konzoli s programy cdparanoia, cdda2wav, lame a oggenc.

Enkodér oggenc najdete v balíčku vorbis-tools, lame najdete v balíčku lame, balíček petit obsahuje gogo, což je velmi rychlý MP3 enkodér založený na lame a využívající technologie MMX, 3D Now! a SSE, bezeztrátový flac se nachází ve stejnojmenném balíčku.

Grip

GRip je plnohodnotný přehrávač, ripper a encoder v jednom, podle názvu primárně určený pro GNOME. Funkce coby přehrávače zde rozebírat nebudeme, zaměříme se na jeho ripovací schopnosti. Standardně disponuje GRip vlastní vestavěnou verzí programu cdparanoia, což naznačuje jeho schopnosti, ke kterým přidává ještě mnohé další vlastnosti. Umí však používat i externí rippery jako pouhá grafická nástavba těchto programů.

Obrázek: 2.jpg

Po spuštění programu je záhodno nejdříve provést jeho konfiguraci. Pokud máte v počítači nainstalováno více mechanik CD/DVD-ROM, pak v záložce Config a podzáložce CD nastavte požadované zařízení. V mém případě je to druhá mechanika DVD-ROM, tedy /dev/cdrom1, viz Obr.2. Jsou zde i další možnosti rozličných nastavení.

V důležité podzáložce Rip máte na výběr z několika možností ripperů a jejich nastavení. V případě vlastního Grip cdparanoia máte na výběr z několika zaškrtávacích políček, která do různé míry omezují využití paranoidního režimu digitální extrakce audia.

Obrázek: 5.jpg

Paranoidní režim čtení dat z hudebního CD představuje dodatečné algoritmy ověřování správnosti obsahu čteného z audio CD, což se pozitivně projeví zejména u nekvalitních CD mechanik, které mohou ve výsledném hudebním záznamu generovat skoky, praskání, tiché pauzy, chyby plynulosti datového doku atp.

Dalšími rippery na výběr mohou být externí programy, jako jsou cdparanoia, cdda2wav a další. Grip dokáže poznat, který ripper či enkóder máte v systému nainstalován, a sám k němu nastaví cestu (položka Encoder executable). Pokud si některý z nich vyberete, změní se nabídka nastavení na několik vstupních textových polí, do nichž se zadávají parametry pro tyto programy - o některých z nich si povíme příště.

Ponechte tedy volbu na grip (cdparanoia). Paranoidní režim však znatelně zpomaluje proces ripování, a tak pokud dáváte přednost kvantitě před kvalitou, zaškrtněte položku Disable paranoia. Na vedlejší záložce Options můžete například snížit prioritu ripovacího procesu (Rip 'nice' value) a některé další, méně významné vlastnosti.

Pokud chceme záznam z CD nejen uložit na disk, ale také převést na MP3, OGG či jiný formát, je nutné nastavit parametry externího ripovacího programu v podzáložce Encode. Primární je rozhodnout se, jaký ripper využijeme. V drtivé většině to bude buď lame pro MP3 formát nebo oggenc pro OGG. Abyste však mohli tuto funkci využít, musíte mít příslušný enkodér nainstalován, samotný Grip žádný takový neobsahuje. Co však Grip zahrnuje, je základní a ve většině případů postačující nastavení pro volání těchto programů.

Obrázek: 4.jpg

Ve vedlejší záložce Options v rámci Encode lze nastavit obecné parametry pro enkódování - zda-li mají být nakonec vymazány nekomprimované .wav soubory, systémová priorita enkódování a velmi důležitá položka Encoding bitrate, která představuje výslednou kvalitu po komprimaci. Nejdůležitější část konfigurace máme tímto za sebou.

Encoding bitrate představuje datový tok, tedy objem dat, který je spotřebován na daný časový úsek záznamu. Udává se v kbit/sec (též kbps) - 1000 bitů za sekundu. Čím je tento datový tok vyšší, tím lepší je výsledná kvalita po komprimaci. Pro MP3 se nejběžněji používá 128 kbit/sec. Náročnější posluchači však vyžadují 160 kbps popř. 192 kbit/sec.

Obrázek: 6.jpg

Grip podporuje také zápis ID3 značek (ID3 tags) do komprimovaných souborů, které pro každý soubor nesou informaci o názvu alba, číslu a názvu skladby, jménu interpreta, žánru, roce vydání popř. i další. Mnohé audio přehrávače jako např. XMMS zobrazování těchto dodatečných informací podporují. K nastavení vlastností pro ID3 značky slouží podzáložka ID3.

Obrázek: 3.jpg

Grip dále podporuje načítání informací o CD z internetu - tzv. CDDB (CD DataBase). Po vložení CD do mechaniky je z údajů na audio CD vypočítán (téměř) unikátní kód, ten je zaslán CDDB serveru, který jako odpověď vrátí název alba, interpreta, seznam skladeb, případně další informace. K nastavení slouží záložka DiscDB.

Kromě toho, že Grip podporuje stahování informací z CDDB, je možné rovněž v případě, že není nalezen odpovídající záznam, vyplnit tyto informace ručně a zaslat je serveru k doplnění databáze. Formulář pro vyplnění informací zobrazíte pomocí tlačítka v podobě tužky Toggle disc editor a záznam nakonec odešlete pomocí ikonky obálky.

Pokud pro připojení k internetu využíváte proxy server, je možné jej nastavit v podzáložce Proxy. Další nastavení se nacházejí v podzáložce Misc - znaková sada používaná systémem (pro správná zápis názvů souborů a ID3 značek), nakládání s velikostí písmen souborů, povolení národních znakových sad, nahrazovaní mezer aj.

Kompletní nastavení máme tedy za sebou a můžeme se pustit do ripování a enkódování. V záložce Tracks, obr. 3, vybereme skladby (kliknutím na záhlaví sloupce Rip se vyberou všechny), následně se přepneme do záložky Rip. V této záložce máme na výběr z několika akcí. Můžeme buďto audio CD pouze uložit na disk pomocí tlačítka Rip Only, nebo spustit ripování současně s enkódováním (Rip+Encode), v tom případě Grip dopředu naripuje část CD a pak současně s ripováním spustí i enkódování - vytížení počítače je poté maximální.

Obrázek: 8.jpg

Pokud chcete nejprve celý obsah CD naripovat (uložit na disk v podobě .wav souborů) a až následně spustit proces enkódování, použijte v záložce Config-Rip-Options volbu Delay encoding until disc is ripped. Další tlačítka slouží k přerušení enkódování a/nebo ripování.

V záložce Config-Rip-Ripper můžete v položce Rip file format specifikovat pojmenování a místo ukládání zrojových/surových .wav souborů, v záložce Config-Encode-Encoder pak v položce Encode file format lze specifikovat názvy a umístění výsledných enkódovaných souborů. Z dalších grafických aplikací pro ripování a enkódování hudebních CD lze uvést ripperX, KAudioMaker, jRipper.

Grip nabízí také možnost "stáhnutí" libovolné části CD pomocí volby Rip partial track. V tom případě však musíte znát počáteční a koncový sektor bloku. Mnohem pružnější jsou v tomto konzolové nástroje, o kterých bude řeč v příštím pokračování tohoto článku.

Grip disponuje také přehlednou nápovědou (záložka Help), která je zatím k dispozici jen v angličtině, a dále informačním oknem o činnosti programu, které se skrývá pod záložkou Status.

Diskuze (0) Nahoru