LINUXSOFT.cz Přeskoč levou lištu

ARCHIV



   

> ABCDE - ripujte pohodlně i z terminálu

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 | Články autora | přečteno 8764×

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ý):

  • cdparanoia nebo cdda2wav (pro stažení dat do wav)
  • oggenc nebo vorbize (pro zkomprimování do formátu ogg)
  • lame, gogo, bladeenc, mp3enc, xingmp3enc nebo l3enc (pro zkomprimování do formátu mp3)
  • cd-discid, wget (pro využití CDDB)
  • také podporuje id3 a id3v2
  • samozřejmostí je tvorba playlistů
  • a další funkce

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.

Konfigurace abcde

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í:

ACTIONS=cddb,read,normalize,encode,tag,move,playlist,clean

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:

mungefilename ()
{
echo "$@" | sed s,:,\ -,g | tr / _ | tr -d \'\"\?\[:cntrl:\]
}

Pro zpomalení otáčení CD jen na "4 rychlosti" připište do svého konfiguračního souboru toto:

pre_read ()
{
eject -x 4
}

A nakonec pokud chcete po skončení kopírování vysunout disk připište si ještě EJECTCD=y.

Práce s programem

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:

Getting CD track info... Grabbing entire CD - tracks: 01 02 03 04 05 06 07 08 09 10 11 12 13
abcde: attempting to resume from /home/integer/abcde.b109280d..
Selected: #1
---- Queen / Sheer Heart Attack ----
1: Brighton Rock
2: Killer Queen
3: Tenement Funster
4: Flick Of The Wrist
5: Lily Of The Valley
6: Now I'm Here
7: In The Lap Of The Gods
8: Stone Cold Crazy
9: Dear Friends
10: Misfire
11: Bring Back That Leroy Brown
12: She Makes Me (Stormtrooper In Stilettos)
13: In The Lap Of The Gods... Revisited
Edit selected CDDB data? [y/n] (n):

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.

Is the CD multi-artist? [y/n] (n): n
Creating playlist...
Grabbing track 01: Brighton Rock...
cdparanoia III release 9.8 (March 23, 2001)
(C) 2001 Monty and Xiphophorus

Report bugs to paranoia@xiph.org
http://www.xiph.org/paranoia/

Ripping from sector 0 (track 1 [0:00.00])
to sector 23294 (track 1 [5:10.44])

outputting to /home/integer/abcde.b109280d/track01.wav

(== PROGRESS == [++++!> | 003741 00 ] == :-P . ==)

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.

$ abcde 1 3-6 8

Zkopírovat celé CD do jednoho souboru také není problém, stačí zadat

$ abcde -1

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.

Konfigurační soubor

HELLOINFO="offspring@gmail.com"
CDDBCOPYLOCAL="y"
CDDBLOCALDIR="$HOME/.cddb"
CDDBUSELOCAL="y"

MP3ENCODERSYNTAX=default

NORMALIZERSYNTAX=default

CDROMREADERSYNTAX=cdparanoia

KEEPWAVS=n

PADTRACKS=y

# Paths of programs to use
#LAME=lame
#GOGO=gogo
#BLADEENC=bladeenc
#L3ENC=l3enc
#XINGMP3ENC=xingmp3enc
#MP3ENC=mp3enc
#VORBIZE=vorbize
#OGGENC=oggenc
#FLAC=flac
#SPEEXENC=speexenc
#ID3=id3
#ID3V2=id3v2
#CDPARANOIA=cdparanoia
#CDDA2WAV=cdda2wav
#CDDAFS=cp
#CDDISCID=cd-discid
#CDDBTOOL=cddb-tool
#EJECT=eject
#MD5SUM=md5sum
#DISTMP3=distmp3
#VORBISCOMMENT=vorbiscomment
#NORMALIZE=normalize
#CDSPEED=eject

# MP3:
LAMEOPTS="-v -V 1 -b 64 -B 320"

# Actions to take
# Comma-separated list of one or more of the following:
# cddb,read,normalize,encode,tag,move,playlist,clean
# encode implies read
# normalize implies read
# tag implies cddb,read,encode
# move implies cddb,read,encode,tag
# playlist implies cddb
# The default action list is defined in the following comment.
ACTIONS=cddb,read,normalize,encode,tag,move,playlist,clean

CDROM=/dev/cdrom

OUTPUTDIR=/home/integer/mp3
OUTPUTTYPE=mp3

OUTPUTFORMAT='${ARTISTFILE}/${ALBUMFILE}/${TRACKNUM} - ${TRACKFILE}'
VAOUTPUTFORMAT='Various/${ALBUMFILE}/${TRACKNUM} - ${TRACKFILE}'

LOWDISK=y

PLAYLISTFORMAT='${ARTISTFILE}/${ALBUMFILE}/!${ARTISTFILE} - ${ALBUMFILE}.m3u'

VAPLAYLISTFORMAT='Various/${ALBUMFILE}/!${ARTISTFILE} - ${ALBUMFILE}.m3u'

mungefilename ()
{
echo "$@" | sed s,:,\ -,g | tr / _ | tr -d \'\"\?\[:cntrl:\]
}
pre_read ()
{
eject -x 4
}

EJECTCD=y

Verze pro tisk

pridej.cz

 

DISKUZE

ripování do formátu mp3 1.4.2005 10:10 Dalibor Smolík
  |- Re: ripování do formátu mp3 1.4.2005 10:43 Dalibor Smolík
  | L Re: ripování do formátu mp3 1.4.2005 11:25 Ondřej Švejda
  |   L Re: ripování do formátu mp3 1.4.2005 12:40 Dalibor Smolík
  |     |- Re: ripování do formátu mp3 1.4.2005 13:32 Ondřej Švejda
  |     L Re: ripování do formátu mp3 1.4.2005 14:44 Pavel Kácha
  |       L Re: ripování do formátu mp3 1.4.2005 17:31 Dalibor Smolík
  L Re: ripování do formátu mp3 1.4.2005 11:32 Jan Houštěk




Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

28.11.2018 23:56 /František Kučera
Prosincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
Komentářů: 1

12.11.2018 21:28 /Redakce Linuxsoft.cz
22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
Přidat komentář

6.11.2018 2:04 /František Kučera
Říjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář

4.10.2018 21:30 /Ondřej Čečák
LinuxDays 2018 již tento víkend, registrace je otevřená.
Přidat komentář

18.9.2018 23:30 /František Kučera
Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář

9.9.2018 14:15 /Redakce Linuxsoft.cz
20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business. Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
Přidat komentář

12.8.2018 16:58 /František Kučera
Srpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
Přidat komentář

16.7.2018 1:05 /František Kučera
Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

31.7.2023 14:13 / Linda Graham
iPhone Services

30.11.2022 9:32 / Kyle McDermott
Hosting download unavailable

13.12.2018 10:57 / Jan Mareš
Re: zavináč

2.12.2018 23:56 / František Kučera
Sraz

5.10.2018 17:12 / Jakub Kuljovsky
Re: Jaký kurz a software by jste doporučili pro začínajcího kodéra?

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2024) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze