Při zálohování vašich CD nemusíte již volit mezi jednoduchostí grafického prostředí nebo relativní nepochopitelností stejného postupu v příkazové řádce.
1.4.2005 06:00 | Pavel Kácha | přečteno 9134×
V linuxu máme spoustu skvělých malých programů, které perfektně plní svůj účel, ale pro nic jiného se nedají využít. Tato filosofie má svoje nesporné výhody, ale pro nezasvěceného nováčka to může být docela tvrdý oříšek zjistit, jak správně mezi sebou propojit jednotlivé programy tak, aby dělaly přesně to, co od nich očekává. Z tohoto důvodu se často uchylují ke grafickým nadstavbám, které poskytují většinou jen okleštěné funkce původních programů.
Netvrdím, že je na grafických programech něco špatného, ale já dávám přednost programům pro příkazovou řádku. Už třeba jen proto, že jsou všeobecně méně náročné na výkon počítače a nevyžadují spousty grafických knihoven a nastavený X server. Nedocenitelné jsou pro mě hlavně programy links, centericq, irssi, mp3blaster a od nedávné doby i abcde, se kterým bych vás chtěl dnes seznámit.
abcde
je textový frontend pro několik programů, které se hodí při tvorbě záloh vašich drahocenných CD.
Tento program ale není jen obyčejný frontend. Dokáže vás velice jednoduše provést i celým procesem komprimace hudby.
abcde
docela pravděpodobně najdete ve formě balíčku ve své oblíbené distribuci. Pokud
by tento postup selhal, můžete si stáhnout
zdrojové kódy (v době psaní článku byla k dispozici verze 2.2.3.
Další informace jako třeba seznam pochvalných článků o tomto softwaru si můžete přečíst na jeho domovské stránce.
Shellový script abcde
sám o sobě nepotřebuje žádné další programy, ale pokud ho chcete
nějak rozumně používat, budete potřebovat programy, pro které tvoří abcde
nadstavbu. Konkrétně
to budou například tyto (možností je mnoho, tento script je velice tvárný):
Používání abcde
je velice snadné (to si ostatně za chvíli ukážeme) a celým procesem nás
script jasně vede. Základem jednoduchého používání je ale správné nastavení, na které právě teď podíváme.
Základní konfigurační soubor je /etc/abcde.conf
. Pro lepší personalizaci je lepší si tento soubor překopírovat do
~/.abcde.conf
nebo si tento soubor vytvořit po svém od začátku. Výhodou je, že v základním
nastavení jsou všechny řádky zakomentované, takže stačí jen přenastavit ty hodnoty, jejichž výchozí nastavení
vám nevyhovuje. Probereme si postupně všechny důležité hodnoty, které můžeme nastavit. Pokud byste potřebovali něco speciálního, program má velice dobrou dokumentaci nebo se můžete zeptat v diskuzi.
Proměnná CDDBURL
překvapivě nastavuje URL adresu CDDB serveru, který chceme používat pro zjišťování názvů skladeb.
Výchozí hodnota http://freedb.freedb.org/~cddb/cddb.cgi
není nijak problémová, proto nevidím důvod ji měnit.
Další proměnné spojené s CDDB si shrneme v následující tabulce.
Proměnná | Popis |
---|---|
HELLOINFO | Jelikož CDDB vyžaduje jistou informaci o uživateli - konkrétně řetězec ve formátu uzivatel@hostname. Upravovat není třeba nebo můžete nastavit zdánlivě nesmyslnou hodnotu. |
CDDBSUBMIT | Adresa, kterou používáte pro přidávání vlastních záznamů do CDDB. |
CDDBCOPYLOCAL | Mají se stažené údaje ukládat na lokální disk? Povolené hodnoty "y" nebo "n". |
CDDBLOCALDIR | Proměnná určuje, kam se mají ukládat data z CDDB na lokálním disku, např. $HOME/.cddb |
CDDBUSELOCAL | Zda používat lokálně uložené a případně pozměněné údaje stažené z CDDB. Povolené hodnoty "y" nebo "n". |
Do proměnné MP3ENCODERSYNTAX
nebo OGGENCODERSYNTAX
zapíšeme jméno programu-encoderu, který chceme používat.
Nejspíše nám ale bude stačit výchozí volba default
, která znamená pro tvorbu mp3 použít encoder lame
a
pro tvorbu ogg používat oggenc
.
NORMALIZESYNTAX
nastavuje jakou syntaxi chceme použít pro normalizování hlasitosti. Zatím jsem nepotřeboval ji nějak měnit.
CDROMREADERSYNTAX
určuje, který program bude použit pro stažení obsahu CD do wav. Povolené jsou tyto možnosti: cdparanoia
, cdda2wav
, dagrab
a cddafs
.
Pokud chcete po encodování ponechat zdrojové wav soubory, nastavte proměnné KEEPWAVS
hodnotu y
, jinak nastavte n
.
Další nastavení je poměrně důležité, pokud si chcete zachovat správné číslování písní z alba. Proměnná PADTRACKS
, pokud má hodnotu
y
, působí, že čísla písní budou "odsazeny" nulami. Takže soubor s první písní se bude jmenovat "01-Nazev_prvni_pisne.wav" a nikoli "1-Nazev_prvni_pisne.wav".
V další části původního konfiguračního souboru jsou uvedeny programy, které se dají používat. Tento seznam prakticky nemá cenu měnit, jedině, pokud byste vyžadované programy neměli uvedené v cestě ke spustitelným souborům.
Dále si nastavíte s jakými parametry se má volat encodér. K tomu slouží proměnná složená z názvu encodéru a zkratky OPTS. Já požívám například pro kódování souborů mp3 encodér lame
, proto nastavuji proměnnou LAMEOPTS
.
Konkrétně používám parametry -v -V 1 -b 64 -B 320
(VBR 1, od 64 do 320 kbps).
S abcde
nejste odsouzeni k jednou danému postupu, ale sami si můžete zvolit které kroky chcete při tvorbě záloh vaší hudby provádět. Jenom musíte dát pozor, protože některé akce vyžadují, aby jim předcházely jiné.
Například pokud chcete encodovat, je docela logicky vyžadováno, že musíte mít nejdříve načtená nějaká data z CD.
Zde je ukázka, jak může vypadat řádek definující jednotlivé kroky kódování:
A tento řádek říká abcde
, že se má nejdříve zeptat CDDB serveru a pokusit se zjistit názvy písní,
načíst data z CD a uložit do wav, normalizovat píseň, zkomprimovat ji, přiřadit k ní tagy, přesunout na správné místo (doteď se pracovalo v pomocném adresáři, vytvořeném právě pro toto kopírování),
vytvořit playlist a odstranit zbytky dat, které po sobě mohl proces v systému zanechat.
Velice důležitou proměnnou je CDROM
, která určuje, z jakého zařízení se má číst.
Proměnnou OUTPUTDIR
sdělíte systému, kam chcete hotově kopie písní ukládat.
Pro určení typu vytvořených souborů je tu proměnná OUTPUTTYPE
, její hodnotou může být i několik
souborů oddělených čárkou.
Pro přesnější určení místa, kam chcete výsledky encodování ukládat je proměnná OUTPUTFORMAT
její hodnota může být například následující '${ARTISTFILE}/${ALBUMFILE}/${TRACKNUM} - ${TRACKFILE}'
. Totéž se dá nastavit speciálně pro CD, které vytvořilo několik umělců (soundtracky a podobně), proměnná se ale musí jmenovat VAOUTPUTFORMAT
.
Pokud máte malý disk nebo z jakéhokoli jiného důvodu dáváte přednost postupu, kdy nejdříve naripujete jednu skladbu, kterou encodujete a teprve potom začnete ripovat další, tak nastavte proměnné LOWDISK
hodnotu y
, jinak nemusíte nastavovat nic, výchozí nastavení je n
.
Ještě pomocí proměnné PLAYLISTFORMAT
, resp. PLAYLISTFORMAT
nastavíme informace pro přesné umístění playlistu, například takto:
PLAYLISTFORMAT='${ARTISTFILE}/${ALBUMFILE}/!${ARTISTFILE} - ${ALBUMFILE}.m3u'
Program ošetřuje "nebezpečné znaky" v názvech souborů, mezi tyto nebezpečné znaky počítá i mezery, které nahrazuje podtržítky, pokud nechcete o své mezery v názvech souborů přijít (ale další nebezpečné znaky odfiltrovat), přidejte si do konfiguračního souboru toto:
Pro zpomalení otáčení CD jen na "4 rychlosti" připište do svého konfiguračního souboru toto:
A nakonec pokud chcete po skončení kopírování vysunout disk připište si ještě EJECTCD=y
.
Všechno potřebné máme nastavené, tak se můžeme pustit do práce. :)
Vložíme CD do mechaniky, kterou jsme si v konfiguraci nastavili a stačí napsat abcde
a dál už se script zeptá na všechno potřebné. Zálohování jednoho CD si pro jistotu, ale přeci jen ukážeme.
Nyní si program zjistí, kolik je na CD stop, jaký použije pracovní adresář a zjistí názvy písní z CDDB serveru a podá vám o tom zprávu podobnou této:
Na posledním řádku předchozího výpisu se nás script ptá, zda chceme názvy nějak upravit. Pokud zadáme y
, otevře se nám editor vim a v něm můžeme názvy patřičně poupravit. Při editaci názvů je třeba dát pozor na to, že číslování skladeb pro CDDB začíná od Track0
a tudíž je číslo poslední skladby o jednu nižší než máte asi uvedeno na obalu CD.
Poté budeme dotázáni zda je CD od jednoho umělce nebo jde o "multi-artist CD" (tedy soundtrack k filmu, výběr rockových balad a podobně). Podle toho bude script používat pro ukládání hodnoty uvedené buď v proměnné OUTPUTFORMAT
, PLAYLISTFORMAT
nebo VAOUTPUTFORMAT
, VAPLAYLISTFORMAT
. A potom už se rozběhne kopírování a už se o celý proces nemusíme dál starat. Jednoduché, že?
Na následujícím výpisu je vidět, co všechno se ještě zobrazí, než program už zcela převezme vládu a už se nás na nic neptá. Poslední řádky jsou už v režii riperu cdparanoia
.
Může se stát, že nebudete chtít stáhnout celé CD. To není žádný problém, stačí jenom za jméno programu dopsat čísla stop, které chcete zkopírovat. stopy můžete zadávat jako interval nebo i jako jednotlivá čísla. Následující příklad zkopíruje stopy číslo 1, 3,4,5,6 a 8.
Zkopírovat celé CD do jednoho souboru také není problém, stačí zadat
Pokud máte konfigurační soubor v nestandardní cestě (tzn. není ani v /etc/abcde.conf a ani v ~/.abcde.conf) můžete zadat cestu k němu pomocí parametru -c /cesta/ke/konfiguračnímu/souboru
.
V případě, že je CD v jiné mechanice než která je uvedena v konfiguračním souboru, použijeme parametr -d zařízení
.
Další volby programu najdete v manuálových stránkách, které mají velice dobrou úroveň a rychle v nich najdete to, co hledáte.
Doufám, že vás tento šikovný skript zaujal a třeba ho i někdy použijete. Na závěr ještě přidám výpis mého konfiguračního souboru.