Nice clean script to convert FLAC to MP3. Nice thing is that it leaves it alone if you've already done it... So you can run it again if you've added a few FLACs. Also, for those albums that I have as MP3 rather than FLAC anyway (e.g. Amazon autorip CDs) the script copies the MP3 across to the copy directory tree, which is just what I want.
Works very nicely on Ubuntu 17.10. Idea is to convert my CD collection (stored as FLAC) into MP3 format for playing in the car on a USB stick.
build_convert_job.sh
#!/bin/bash FLAC_PATH=$1 CONV_PATH=$2 DEBUG=0; function usage { echo ""; echo " This script convert all flac files from a folder to mp3 files to a second folder"; echo ""; echo " Usage :"; echo " ./conv.sh {Source Folder} {Destination Folder}"; echo " note : booth folder must exist before starting this script"; echo " files other than flac are copied to the destination folder"; echo ""; } if [ ! -d "$2" ]; then echo ""; echo " ERROR : [$2] is not a directory."; usage exit 1 fi; if [ ! -d "$2" ]; then echo ""; echo " ERROR : [$2] is not a directory."; usage exit 1 fi; COMMANDS="run.sh" echo "" > run.sh echo " convert from $FLAC_PATH to $CONV_PATH "; find "${FLAC_PATH}" -type f |while read myFile; do SRC_DIR=${myFile%/*} SRC_FILE=${myFile##*/} DST_DIR=$CONV_PATH/$SRC_DIR mkdir -p "${DST_DIR}" # TEST if the file is a flac .... metaflac --show-md5sum "${myFile}" 2>/dev/null 1>/dev/null if [ $? -eq 0 ]; then echo -n " *** $myFile [FLAC !] : " DST_FILE=${myFile%.*} OUT_PATH="${DST_DIR}/$( echo $SRC_FILE | sed -e 's/.flac$/.mp3/')" if [ $DEBUG == 1 ]; then echo " SRC = $myFile"; echo " OUT = $OUT_PATH" fi; if [ -f "$OUT_PATH" ]; then echo " exist, do nothing !"; else echo " add to compress list !"; echo "ffmpeg -y -i \"${myFile}\" -codec:a libmp3lame -q:a 0 -map_metadata 0 -id3v2_version 3 \"${OUT_PATH}\" " >> $COMMANDS fi; else echo -n " *** $SRC_FILE [NOT FLAC] : " if [ -f "${CONV_PATH}/${myFile}" ]; then echo " exist, do nothing !" else echo " copy." cp "${myFile}" "${CONV_PATH}/${myFile}" fi fi done; echo " And now, CONVERT THE FLAC's!!! " echo sh run.sh
No comments:
Post a Comment
Spammers: please stop wasting my time. All comments are moderated before publication.