#!/usr/bin/env bash # Joe Gillotti - 3/8/2012 set +o posix if [ $# -ne 2 ]; then echo usage $0 sourceFolder destFolder exit 1 fi metaflac=/usr/bin/metaflac flac=/usr/bin/flac lame=/usr/bin/lame quality="-V 0" folder=$1 out=$2 mkdir -p "$out" while read -rd $'\0' file; do echo Starting `basename "$file"` while read line; do key=`echo $line | cut -d\ -f 2 | cut -d= -f 1` val=`echo $line | cut -d= -f 2` case $key in ARTIST) artist=$val ;; TITLE) title=$val ;; ALBUM) album=$val ;; GENRE) genre=$val ;; DATE) year=$val ;; TRACKNUMBER) num=$val ;; esac done < <($metaflac --list --block-type VORBIS_COMMENT "$file" | grep 'comment\[' | tr \" \') outfile="$out/$num $title.mp3" $flac -d "$file" -c | $lame $quality -r --tt "$title" \ --ta "$artist" --tl "$album" --ty "$year" --tn "$num" --tg "$genre" - "$outfile" echo done < <(find "$folder" -type f -iname '*.flac' -print0)