Kopírování hudebních CD
Předpokládejme, že CD/DVD-ROM mechanika je /dev/cdrom. Nejprve vytvořte adresář, vekterém budete pracovat.
---------------------------TERMINAL:
mkdir CopyCD
cd CopyCD
---------------------------
Dále stáhněte balíček cdparanoia.
Pod root v terminali: alebo v synaptic
apt-get install cdda2wav
apt-get install cdparanoia
------------------------------
V dalším kroku stáhněte informace o CD buď přímo ze samotného CD (jedná-li se o tzv. Text-CD) nebo ze serveru freedb.org a extrahujte všechny zvukové stopy do formátu .wav. Přepínač cddb=0 Vám umožňuje ručně vybrat nejvhodnější názvy alba, skladeb apod. V případě, že chcete, aby výběr nejvhodnějšího jména proběhl automaticky, použijte přepínač cddb=1. Jestliže se potřebné informace nacházejí přímo na CD (tj. jedná se textové CD), zadejte
TERMINAL:
cdda2wav dev=/dev/cdrom -vall -cddb=0 -B -Owav
----------------------------------------------------------
popř. chcete-li informace o CD stáhnout z freedb.org4)
TERMINAL:
cdda2wav dev=/dev/cdrom -vall -cddb=0 -cddbp-server=freedb.org -B -Owav
------------------------------------------------
Jestliže chcete extrahovat například pouze 1 až 3 zvukovou stopu, modifikoval by se první z výše uvedených příkazů do následujícího tvaru
TERMINAL:
cdda2wav dev=/dev/cdrom -vall -cddb=0 -B -t 1+3 -Owav
Výsledkem budou soubory v pracovním adresáři pojmenované audio_xx.wav, kde xx představuje pořadové číslo zvukové stopy, soubory typu .inf obsahující informace o jednotlivých zvukových stopách a soubory audio.cddb a audio.cdindex.
---------------------------------------------
Samotné hudební CD pak vypálíte pomocí příkazu
cdrecord -eject -v dev=/dev/cdrom speed=16 -dao -useinfo -text *.wav
-------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------
Ripování hudebních CD:
Pro převod souborů .wav na formát MP3 použijeme enkodér lame. Jestliže chcete převést soubor audio_xx.mp3 na MP3 a chcete, aby se výsledný soubor jmenoval jmeno_skladby.mp3 a měl konstantní datový tok 192 kbps, zadejte do příkazové řádky
terminal:
lame -b 192 audio_xx.wav jmeno_skladby.mp3
------------------------------
Převod souboru .wav do formátu Ogg Vorbis je analogický.
TERMINAL:
oggenc -b 192 audio_xx.wav jmeno_skladby.ogg
-----------
Poznámka: Kvalitu komprese je možné ovlivnit pomocí parametru -q. V případě lame jsou povolené hodnoty od 0 do 9, v případě oggenc hodnoty od -1 do 10. Platí, že čím vyšší hodnota, tím vyšší kvalita výsledného souboru a delší doba komprese.
TERMINAL:
lame -b 192 -q 9 audio_xx.wav jmeno_skladby.mp3
oggenc -b 192 -q 9 audio_xx.wav jmeno_skladby.ogg
--------------
--------------------------------------------------------------------
-----------------------------------------------------------------
---------------------------------------------------------------------
Skript pro převod CD do formátu MP3 a Ogg Vorbis
Následující skript slouží k převodu CD na soubory formátu MP3 popř. Ogg Vorbis.
# Skript pro prevod hudebniho CD do formatu MP3 a Ogg Vorbis
# Michal Mackanic
# 9.5.2007, v 1.0
#
# Priklad pouziti:
# ---------------
# convertCD mp3 freedb m
# - vystupnim formatem je MP3
# - informace o CD stahne ze serveru freedb.org
# - nazev alba, umelce a skladby urcen automaticky
#
# convertCD ogg text a
# - vystupnim formatem je Ogg Vorbis
# - informace jsou stazeny primo z CD (musi se jednat o Text-CD)
# - uzivatel voli jmeno alba, umelce a skladby z nabidky
#
# convertCD mp3 freedb m /dev/scd0
# - vystupnim formatem je MP3
# - informace o CD stahne ze serveru freedb.org
# - nazev alba, umelce a skladby urcen automaticky
# - pro extrahovani zvukovych stop pouzij mechaniku /dev/hdc (standardne se pouziva hodnota promenne $defaultCDDevice)
# Nastaveni pomocnych promennych
copyCD="CopyCD"
defaultCDDevice="/dev/cdrom"
bitrate=192
qualityrate=9
###########################################################################################
# Vymazani obrazovky
clear
# Kontrola zadanych parametru
invalidparameter=0
case $1 in
'mp3' ) codec='lame';;
'ogg' ) codec='oggenc';;
*) echo $1" - invalid audio codec. Use values 'mp3' or 'ogg' instead.";invalidparameter=1;;
esac
case $2 in
'freedb' ) infosource='-cddbp-server=freedb.org';;
'text' ) infosource='';;
*) echo $2" - invalid information source. Use values 'freedb' or 'text' instead.";invalidparameter=1;;
esac
case $3 in
'm' ) editinfo='-cddb=0';;
'a' ) editinfo='-cddb=1';;
*) echo $3" - invalid value. Use 'm' for manual editing or 'a' for automatic album, artist and song name recognition.";invalidparameter=1;;
esac
if test $invalidparameter = "1"
then
echo "Exiting..."
exit
fi
# Nastaveni CD/DVD-ROM mechaniky
if test "$4" = "$empty"
then
CDdevice=$defaultCDDevice
else
CDdevice=$4
fi
# Vytvoreni a nastaveni pracovniho adresare
echo "Creating folder "$copyCD"..."
if test -d "$copyCD"
then
echo "Folder "$copyCD" already exists!"
echo "Do you want to delete the content of the folder? (y/n)"
read deletefolder
if test "$deletefolder" = "y"
then
cd $copyCD
echo "Deleting all files in folder "$copyCD"..."
rm -f *
cd ..
else
echo "Exiting..."
exit
fi
else
mkdir $copyCD
fi
echo "Setting "$copyCD" as a working folder..."
cd $copyCD
# Vyextrahovani hudebnich stop z CD do pracovniho adrease
echo
cdda2wav dev="$CDdevice" -B -Owav
# Konverze do MP3 nebo Ogg Vorbis
for x in `ls *.wav`
do
filename=`echo $x | cut -f1 -d"."`
albumperformer=`cat "$filename.inf" | grep "Albumperformer=" | cut -f2 -d"'"`
albumperformer=`echo $albumperformer`
performer=`cat "$filename.inf" | grep "Performer=" | cut -f2 -d"'"`
performer=`echo $performer`
albumtitle=`cat "$filename.inf" | grep "Albumtitle=" | cut -f2 -d"'"`
albumtitle=`echo $albumtitle`
tracktitle=`cat "$filename.inf" | grep "Tracktitle=" | cut -f2 -d"'"`
tracktitle=`echo $tracktitle`
tracknumber=`cat "$filename.inf" | grep "Tracknumber=" | cut -f2`
tracknumber=`echo $tracknumber`
albumgender=`cat audio.cddb | grep "DGENRE" | cut -f2 -d"="`
albumgender=`echo $albumgender`
albumyear=`cat audio.cddb | grep "DYEAR" | cut -f2 -d"="`
albumyear=`echo $albumyear`
# Uprava tagu
if test "$albumperformer" != "$empty"
then
performer=$albumperformer
fi
if test "$performer" = "$empty"
then
echo "No data on CD available. MP3/Ogg Vorbis files will not be tagged!"
willbetagged=0
else
willbetagged=1
fi
if test "$albumgender" = "Unknown"
then
albumgender="Other"
fi
if test "$albumgender" = "$empty"
then
albumgender="Other"
fi
if test "$albumyear" = "$empty"
then
albumyear=`date +d%Y`
fi
# Samotna konverze
if test "$codec" = "lame"
then
if test "$willbetagged" = "1"
then
lame -b $bitrate -q $qualityrate --ta "$performer" --tl "$albumtitle" --tt "$tracktitle" --tn $tracknumber --tg "$albumgender" --ty $albumyear "$filename".wav "$tracktitle".mp3
else
lame -b $bitrate -q $qualityrate "$filename".wav "$filename".mp3
fi
else
if test "$willbetagged" = "1"
then
oggenc -b $bitrate -q $qualityrate -a "$performer" -l "$albumtitle" -t "$tracktitle" -N $tracknumber -G "$albumgender" -d $albumyear "$filename".wav "$tracktitle".ogg
else
oggenc -b $bitrate -q $qualityrate "$filename".wav "$filename".ogg
fi
fi
done
# Vymazani pomocnych souboru
echo
echo "Do you want to delete auxiliary files? (y/n)"
read deleteauxiliaryfiles
if test "$deleteauxiliaryfiles" = "y"
then
echo "Deleting all auxiliary files in folder "$copyCD"..."
rm -f *.wav
rm -f *.inf
rm -f audio.*
fi
exit
-------------------
Vytvořte soubor convertCD pomocí
gedit convertCD
do kterého nakopírujete výše uvedený skript. Pro soubor convertCD nastavte práva spouštění.
chmod u+x convertCD
Jestliže budete chtít převést audio CD, které se nachází v zařízení /dev/cdrom, do formátu MP3 stačí zadat
./convertCD mp3 freedb a /dev/cdrom
Skript vytvoří v pracovním adresáři adresář CopyCD, kam extrahuje audio stopy, které následně převede do formátu MP3. Výsledné MP3 soubory jsou pojmenovány stejně jako příslušná skladba a navíc jsou opatřeny tagy, jsou-li k dispozici.
Převod audio CD na Ogg Vorbis lze provést podobně pomocí přikazu
./convertCD ogg freedb a /dev/cdrom