Difference between revisions of "Audiograb script"

From Maze's wiki
Jump to: navigation, search
Line 1: Line 1:
For this audiograb script to run you need some packages to be installed:
+
#!/bin/bash
* cd-discid
+
cdinfo=`cd-discid /dev/sr0`
* icedax
+
discid=`echo "${cdinfo}" | cut -d\  -f 1`
* vorbis-tools
+
noftracks=`echo "${cdinfo}" | cut -d\  -f 2`
 
+
cdinfocddb=`echo ${cdinfo} | sed 's/ /+/g'`
<pre>
+
cddbcdsummaries=`wget "http://freedb.freedb.org/~cddb/cddb.cgi?cmd=cddb+query+${cdinfocddb}&hello=maze+ma-ze.nl+grab.sh+1.0&proto=6" -O - -q | tail -n +2 | head -n -1`
#!/bin/sh
+
nofcddbcdsummaries=`echo "${cddbcdsummaries}" | wc -l`
cdinfo=`cd-discid /dev/cdrom1`
 
cddbcdsummary=`cddbcmd -m http cddb query $cdinfo`
 
nofcddbcdsummaries=`echo "$cddbcdsummary" | wc -l`
 
 
chosensummary=1
 
chosensummary=1
[ "$nofcddbcdsummaries" -ne "1" ] && echo "$cddbcdsummary" | nl && read -p "Select correct CD [1]:" chosensummarycustom
+
[ "${nofcddbcdsummaries}" -ne "1" ] && echo "${cddbcdsummaries}" | nl && read -p "Select correct CD [1]:" chosensummarycustom
[ "$chosensummarycustom" != "" ] && chosensummary=$chosensummarycustom
+
[ "${chosensummarycustom}" != "" ] && chosensummary=${chosensummarycustom}
cddbcdsummary=`echo "$cddbcdsummary" | head -n $chosensummary | tail -n 1 | cut -d\  -f -2`
+
cddbcdsummary=`echo "${cddbcdsummaries}" | head -n ${chosensummary} | tail -n 1 | cut -d\  -f -2 | sed 's/ /+/g'`
cddbcdfullinfo=`cddbcmd -m http cddb read $cddbcdsummary`
+
cddbcdfullinfo=`wget "http://freedb.freedb.org/~cddb/cddb.cgi?cmd=cddb+read+${cddbcdsummary}&hello=maze+ma-ze.nl+grab.sh+1.0&proto=6" -O - -q`
noftracks=`echo "$cddbcdfullinfo" | grep 'TTITLE' | cut -d= -f 1 | sort -u | wc -l`
+
[ "${noftracks}" -lt "10" ] && noftrackslz=0
[ "$noftracks" -lt "10" ] && noftrackslz=0
+
artistname=`echo "${cddbcdfullinfo}" | grep 'DTITLE' | tr -d "\r" | tr -d "\n" | sed 's/DTITLE=//g' | cut -d/ -f 1 | sed 's/^\ *//' | sed 's/\ *$//'`
artistname=`echo "$cddbcdfullinfo" | grep 'DTITLE' | tr -d "\n" | sed 's/DTITLE=//g' | cut -d/ -f 1 | sed 's/^\ *//' | sed 's/\ *$//'`
+
albumname=`echo "${cddbcdfullinfo}" | grep 'DTITLE' | tr -d "\r" | tr -d "\n" | sed 's/DTITLE=//g' | cut -d/ -f 2- | sed 's/^\ *//' | sed 's/\ *$//'`
albumname=`echo "$cddbcdfullinfo" | grep 'DTITLE' | tr -d "\n" | sed 's/DTITLE=//g' | cut -d/ -f 2- | sed 's/^\ *//' | sed 's/\ *$//'`
 
  
read -p "Enter Artist [$artistname]:" artistnamecustom
+
read -p "Enter Artist [${artistname}]:" artistnamecustom
[ "$artistnamecustom" != "" ] && artistname=$artistnamecustom
+
[ "${artistnamecustom}" != "" ] && artistname=${artistnamecustom}
read -p "Enter Albumname [$albumname]:" albumnamecustom
+
read -p "Enter Albumname [${albumname}]:" albumnamecustom
[ "$albumnamecustom" != "" ] && albumname=$albumnamecustom
+
[ "${albumnamecustom}" != "" ] && albumname=${albumnamecustom}
read -p "Enter Genre [$genre]:" genrecustom
+
read -p "Enter Genre [${genre}]:" genrecustom
[ "$genrecustom" != "" ] && genre=$genrecustom
+
[ "${genrecustom}" != "" ] && genre=${genrecustom}
read -p "Enter Year [$year]:" yearcustom
+
read -p "Enter Year [${year}]:" yearcustom
[ "$yearcustom" != "" ] && year=$yearcustom
+
[ "${yearcustom}" != "" ] && year=${yearcustom}
mkdir -p "$artistname"/"$albumname"
+
mkdir -p "${artistname}"/"${albumname}"
  
 
track=0
 
track=0
while [ "$track" -lt "$noftracks" ]
+
while [ "${track}" -lt "${noftracks}" ]
 
do
 
do
   actualtrack=$(($track+1))
+
   actualtrack=$((${track}+1))
 
   leadingzero=""
 
   leadingzero=""
   [ "$actualtrack" -lt "10" ] && leadingzero=0
+
   [ "${actualtrack}" -lt "10" ] && leadingzero=0
   trackname=`echo "$cddbcdfullinfo" | grep 'TTITLE'$track'=' | tr -d "\n" | sed 's/TTITLE[0-9]*=//' | sed 's/^\ *//' | sed 's/\ *$//'`
+
   trackname=`echo "${cddbcdfullinfo}" | grep 'TTITLE'${track}'=' | tr -d "\r" | tr -d "\n" | sed 's/TTITLE[0-9]*=//' | sed 's/^\ *//' | sed 's/\ *$//'`
   read -p "Enter title for track $leadingzero$actualtrack [$trackname]:" tracknamecustom
+
   read -p "Enter title for track $leadingzero$actualtrack [${trackname}]:" tracknamecustom
   [ "$tracknamecustom" != "" ] && trackname=$tracknamecustom
+
   [ "${tracknamecustom}" != "" ] && trackname=${tracknamecustom}
   trackfilename=`echo "$trackname" | sed 's/\//_/g'`
+
   trackfilename=`echo "${trackname}" | sed 's/\//_/g'`
   icedax -q -D /dev/cdrom1 -O wav -t $actualtrack - | lame --preset standard --quiet --tt "$trackname" --tg "$genre" --ta "$artistname" --tl "$albumname" --ty "$year" --tn "$leadingzero$actualtrack/$noftrackslz$noftracks" --id3v2-only - "$artistname/$albumname/$leadingzero$actualtrack-$trackfilename.mp3"
+
   icedax -q -D /dev/sr0 -O wav -t ${actualtrack} - | oggenc -q 5 -Q -t "${trackname}" -G "${genre}" -a "${artistname}" -l "${albumname}" -d "${year}" -N "${leadingzero}${actualtrack}/${noftrackslz}${noftracks}" -o "$artistname/$albumname/$leadingzero$actualtrack-$trackfilename.ogg" -
   track=$(($track+1))
+
   track=$((${track}+1))
 
done
 
done
</pre>
 

Revision as of 08:42, 10 September 2012

  1. !/bin/bash

cdinfo=`cd-discid /dev/sr0` discid=`echo "${cdinfo}" | cut -d\ -f 1` noftracks=`echo "${cdinfo}" | cut -d\ -f 2` cdinfocddb=`echo ${cdinfo} | sed 's/ /+/g'` cddbcdsummaries=`wget "http://freedb.freedb.org/~cddb/cddb.cgi?cmd=cddb+query+${cdinfocddb}&hello=maze+ma-ze.nl+grab.sh+1.0&proto=6" -O - -q | tail -n +2 | head -n -1` nofcddbcdsummaries=`echo "${cddbcdsummaries}" | wc -l` chosensummary=1 [ "${nofcddbcdsummaries}" -ne "1" ] && echo "${cddbcdsummaries}" | nl && read -p "Select correct CD [1]:" chosensummarycustom [ "${chosensummarycustom}" != "" ] && chosensummary=${chosensummarycustom} cddbcdsummary=`echo "${cddbcdsummaries}" | head -n ${chosensummary} | tail -n 1 | cut -d\ -f -2 | sed 's/ /+/g'` cddbcdfullinfo=`wget "http://freedb.freedb.org/~cddb/cddb.cgi?cmd=cddb+read+${cddbcdsummary}&hello=maze+ma-ze.nl+grab.sh+1.0&proto=6" -O - -q` [ "${noftracks}" -lt "10" ] && noftrackslz=0 artistname=`echo "${cddbcdfullinfo}" | grep 'DTITLE' | tr -d "\r" | tr -d "\n" | sed 's/DTITLE=//g' | cut -d/ -f 1 | sed 's/^\ *//' | sed 's/\ *$//'` albumname=`echo "${cddbcdfullinfo}" | grep 'DTITLE' | tr -d "\r" | tr -d "\n" | sed 's/DTITLE=//g' | cut -d/ -f 2- | sed 's/^\ *//' | sed 's/\ *$//'`

read -p "Enter Artist [${artistname}]:" artistnamecustom [ "${artistnamecustom}" != "" ] && artistname=${artistnamecustom} read -p "Enter Albumname [${albumname}]:" albumnamecustom [ "${albumnamecustom}" != "" ] && albumname=${albumnamecustom} read -p "Enter Genre [${genre}]:" genrecustom [ "${genrecustom}" != "" ] && genre=${genrecustom} read -p "Enter Year [${year}]:" yearcustom [ "${yearcustom}" != "" ] && year=${yearcustom} mkdir -p "${artistname}"/"${albumname}"

track=0 while [ "${track}" -lt "${noftracks}" ] do

 actualtrack=$((${track}+1))
 leadingzero=""
 [ "${actualtrack}" -lt "10" ] && leadingzero=0
 trackname=`echo "${cddbcdfullinfo}" | grep 'TTITLE'${track}'=' | tr -d "\r" | tr -d "\n" | sed 's/TTITLE[0-9]*=//' | sed 's/^\ *//' | sed 's/\ *$//'`
 read -p "Enter title for track $leadingzero$actualtrack [${trackname}]:" tracknamecustom
 [ "${tracknamecustom}" != "" ] && trackname=${tracknamecustom}
 trackfilename=`echo "${trackname}" | sed 's/\//_/g'`
 icedax -q -D /dev/sr0 -O wav -t ${actualtrack} - | oggenc -q 5 -Q -t "${trackname}" -G "${genre}" -a "${artistname}" -l "${albumname}" -d "${year}" -N "${leadingzero}${actualtrack}/${noftrackslz}${noftracks}" -o "$artistname/$albumname/$leadingzero$actualtrack-$trackfilename.ogg" -
 track=$((${track}+1))

done