#!/bin/bash
# convert .m4a to
.mp3 recursively
# be sure to run
this only on a backup
# copy of your
music
#
# cd to the
directory which is above
# the artist
names
#
# Author: Dan
Srebnick
# All rights
retained
# Free to use for
personal use
######################################
shopt -s nullglob
for ARTIST in *;
do
if [ -d "$ARTIST" ] ; then
cd "$ARTIST"
for ALBUM in *; do
if [ -d "$ALBUM" ] ; then
cd "$ALBUM"
DISC1=0; DISC2=0; MULTI=0
DISC1=`find . -name
"1-[0-9][0-9]*.m4a" | wc -l`
DISC2=`find . -name
"2-[0-9][0-9]*.m4a" | wc -l`
if [ $DISC1 -ge 1 ]; then
DISC1=1
fi
if [ $DISC2 -ge 1 ]; then
DISC2=1
fi
let MULTI=$DISC1+$DISC2
echo "Multi is $MULTI"
for i in *.m4a; do
TMPFILE="/tmp/ffmpeg$RANDOM.txt"
ffmpeg -i "$i" 2>$TMPFILE
line="`grep ' artist ' $TMPFILE`"
if
[ -n "$line" ] ; then
ARTIST="`echo $line | awk -F':' '{print $2}' | cut -c2-`"
fi
line="`grep ' track ' $TMPFILE`"
if
[ -n "$line" ] ; then
TRACK="`echo $line | cut -d ":" -f2 | cut -d
"/" -f1 | tr -d " "`"
fi
line="`grep ' disc ' $TMPFILE`"
if
[ -n "$line" ] ; then
DISC="`echo $line | cut -d ":" -f2 | cut -d "/"
-f1 | tr -d " "`"
fi
line="`grep ' title ' $TMPFILE`"
if
[ -n "$line" ] ; then
TITLE="`echo $line | awk -F':' '{print $2}' | cut -c2-`"
fi
line="`grep ' album_artist ' $TMPFILE`"
if
[ -n "$line" ] ; then
ALBUM_ARTIST="`echo $line | awk -F':' '{print $2}' | cut
-c2-`"
fi
echo "Artist: $ARTIST"
echo "AlbArt: $ALBUM_ARTIST"
echo " Disc: $DISC"
echo " Track: $TRACK"
echo " Title: $TITLE"
echo
rm
"$TMPFILE"
if
[ -z "$ARTIST" ] ; then
ARTIST="$ALBUM_ARTIST"
fi
if
[ $MULTI -eq 2 ]; then
if [ $DISC -eq 2 ]; then
let TRACK=$TRACK+25
elif [ $DISC -eq 3 ]; then
let TRACK=$TRACK+50
elif [ $DISC -eq 4 ]; then
let TRACK=$TRACK+75
fi
fi
if
[ $TRACK -lt 10 ]; then
TRACK="0$TRACK"
fi
TITLE="`echo $i | cut -d " " -f2- | rev | cut -c 5- |
rev`"
MP3SONG="$TRACK-$ARTIST -
$TITLE.mp3"
echo -e "$MP3SONG\n"
ffmpeg -i "$i" -vsync 2
-acodec libmp3lame -ac 2 -aq 0 -ar 44100 -write_id3v1 1 "$MP3SONG"
done
cd ..
fi
done
cd ..
fi
done
No comments:
Post a Comment