Перейти к содержанию

Скрипт преобразования flac в MP3

Пришлось разбирать свою "аудиотеку", где часть файлов была сохранена в формате flac. Так как я не слух все-равно не понимаю разницу между этим форматом и MP3 от 48 кГц, то решил сэкономить дисковое пространство, переконвертировав файлы.

flac2mp3.sh
#!/bin/sh
flac_dir="$1"
if [ "$1" = "-h" ] || [ "$1" = "--help" ] ; then
    echo "USAGE: $0 [DIRECTORY_CONTAING_FLAC_FILES]"
    exit 1
fi
if [ ! -d "$flac_dir" ] ; then
    flac_dir="."
fi
flac_files=$(ls "$flac_dir"/*.[Ff][Ll][Aa][Cc])
if [ -z "$flac_files" ] ; then
    echo "ERROR: Directory "$flac_dir" contains no .flac files"
    exit 1
fi
for file in "$flac_dir"/*.[Ff][Ll][Aa][Cc]; do     
    title=`metaflac        "$file" --show-tag=TITLE       | sed s/.*=//g`
    album=`metaflac        "$file" --show-tag=ALBUM       | sed s/.*=//g`
    artist=`metaflac       "$file" --show-tag=ARTIST      | sed s/.*=//g`
    genre=`metaflac        "$file" --show-tag=GENRE       | sed s/.*=//g`
    date=`metaflac         "$file" --show-tag=DATE        | sed s/.*=//g`
    track_number=`metaflac "$file" --show-tag=TRACKNUMBER | sed s/.*=//g`
    flac -cd "$file" | lame -h - "${file%.[Ff][Ll][Aa][Cc]}.mp3"; 
    id3 -t "$title" -A "$album" -a "$artist" -g "$genre" -y "$date" -T "$track_number" "${file%.[Ff][Ll][Aa][Cc]}.mp3"
done

Если у вас есть образ CD с cue-файлом его разметки, его можно преобразовать так:

cue2tracks -c mp3 -Q 0 -B 320 -M C -o " %N - %t " -R *.cue