aac in mp3 konvertieren

aac_to_mp3.sh

#!/bin/bash
#
# Shell script for aac to mp3 conversion
#
# The scripts reads all aac files recursively from a directory tree
# It creates the mp3 file from the aac, and removes the aac file
#
# Please run the script from the Base Directory in which your Music is stored
# make sure, that you have the appropriate permissions to create and delete files
# in the directory tree

# ------------------------------------------------------------------------------
# function to list all aac files into a file
# ------------------------------------------------------------------------------

list_songs(){

  echo "creating list of aac files...."
  sleep 2
  find . -type f -name \*.aac > $FILE
  echo "added `wc -l $FILE` entries"
  echo "done."
  sleep 2
 
}

# ------------------------------------------------------------------------------
# function to convert a single file from aac to mp3
# ------------------------------------------------------------------------------

aac_to_mp3(){

  aac_file="$@" # get all args
  echo "processing file $aac_file ..."

  # convert aac file to wav
  faad "$aac_file"

  # generating filenames
  wav_file=`echo "$aac_file"|sed -e 's/.aac/.wav/'`
  mp3_file=`echo "$aac_file"|sed -e 's/.aac/.mp3/'`

  #echo "wav file: $wav_file"
  #echo "mp3 file: $mp3_file"

  # preserve track info, lame will use it for id3 tagging
  faad -i "$aac_file" 2>.id3info.txt
  title=`grep 'title: ' .id3info.txt|sed -e 's/title: //'`
  artist=`grep 'artist: ' .id3info.txt|sed -e 's/artist: //'`
  album=`grep 'album: ' .id3info.txt|sed -e 's/album: //'`
  track=`grep 'track: ' .id3info.txt|sed -e 's/track: //'`
  year=`grep 'year: ' .id3info.txt|sed -e 's/year: //'`

  # convert wav to mp3
  lame -h -b 192 --tt "$title" --ta "$artist" --tl "$album" --tn "$track" --ty "$year" "$wav_file" "$mp3_file"
  #lame --alt-preset 160 --tt "$title" --ta "$artist" --tl "$album" --tn "$track" --ty "$year" "$wav_file" "$mp3_file"

  # cleaning up
  #echo "cleaning up ..."
  rm .id3info.txt
  #echo "removing trackinfo.txt done."
  rm "$wav_file"
  #echo "removing $wav_file done."
  rm "$aac_file"
  #echo "removing $aac_file done."

}

################################################################################
# Main
################################################################################
FILE="songlist.txt"

# create list of aac Files (> songlist.txt)
list_songs
    
# check file songlist.txt
  if [ ! -s $FILE ]; then
    echo "$FILE does not exists, or list is empty"
    echo "nothing to do."
    exit 1
  elif [ ! -r $FILE ]; then
    echo "$FILE is not readable"
    exit 1
  fi

# process $FILE line by line (< songlist.txt)
exec 3<&0
exec 0<$FILE
while read line
do
   aac_to_mp3 $line
done
exec 0<&3

exit 0