CD -rippaus automaattiseksi

Virittelin cd -levyn muuttamisen mp3-tiedostoiksi tapahtumaan aika kätevästi. Kun cd -asemaan ilmestyy cd -levy, levyn kappaleet muutetaan mp3-tiedostoiksi automaattisesi, kopioidaan kansioon jossa muukin musiikki on ja kun homma on ohi niin sen merkiksi levykelkka avautuu. Lisäksi Abcde hakee levyn ja kappaleiden nimet tiedostoille automaattisesti cd -tietokannasta.
Järjestelmään tarvitaan:

Abcde (A Better CD Encoder).
asennus: sudo apt-get install abcde

CDDA Paranoia
asennus: sudo apt-get install cdparanoia

LAME MP3 Encoder
asennus: sudo apt-get install lame

Automaattiseen cd -rippaukseen tarvittavat skriptit löytyy asennuksen jälkeen /usr/share/doc/abcde/examples/ -kansiosta. Kansiosta kopioidaan abcde.init -tiedosto /etc/init.d/ -kansioon. Lisäksi abcded -tiedoston kopioin /usr/local/bin kansioon ja muutin omistajaksi rootin (chown root abcded).

/etc/abcde.conf -tiedostoon muokkasin hieman lame -asetuksia, koska oletusasetuksilla mp3 -tiedostojen laaduksi tulee 128kbps. Muutettu rivi näyttää tältä: LAMEOPTS='-v --vbr-new'. Muu oleellinen tieto annetaan abcde:lle käynnistyskäskyn yhteydessä: /usr/bin/abcde -o mp3 -x -N -f. (optioiden merkitys selviää abcde -manuaalista man abcde).

Taustaprosessi käynnistyy komennolla /etc/init.d/abcde.init start.

/usr/local/bin/abcded:

#!/bin/sh
DATE=`date +%Y-%m-%d_%Hh%Mm%S`
DELAY=10
CDPARANOIA=”cdparanoia -Q 2>&1 | grep ‘audio only’”

while true; do
sleep $DELAY
GO=$CDPARANOIA
RET=$?
if [ $RET = "0" ] ; then
/usr/bin/abcde -o mp3 -x -N -f > /tmp/rip_abcde.log.$DATE 2>&1
fi
done

/etc/init.d/abcde.init:

#!/bin/sh

##########
# The first argument tells what to do.
##########

RUNNING=`ps -ef|grep [a]bcded|awk ‘{ print $2 }’`

state=$1

case $state in
start)

if [ -n "$RUNNING" ]; then
echo “abcde daemon already running.”
exit 0
fi

echo “Starting abcde daemon”
abcded &
echo “Done.”
;;
stop)
if [ -n "$RUNNING" ]; then
/bin/kill -9 $RUNNING > /dev/null
if [ $? = 0 ]; then
echo “abcde daemon killed”
fi
fi
;;
restart)
$0 stop
$0 start
;;
*)
echo “Usage: $0 {start|stop|restart}”
exit 1
esac

Leave a Reply