Перекодирование одиночного lossless аудиофайла во FLAC по CUE-таблице
Материал из Linux Wiki
Версия от 17:02, 15 октября 2008; Rain (обсуждение | вклад)
Скрипт для преобразования одиночного ape-файла, представляющего собой копию диска в отдельные FLAC-файлы с заполнением тегов и именованием файлов в соответствии с CUE-таблицой
- Использование
- cueape2flac "AUDIO FILE.ape" "TEXT FILE.cue"
- Зависимости
- monkeys-audio, flac, shntool
#!/bin/bash
# last change: 2008-04-17
outdir="output"
error() {
echo "$1"
exit $2
}
[ -e $outdir ] && echo "Warning: $outdir already exist"
[ -e "${1%.ape}.wav" ] && error "Error: "${1%.ape}.wav" already exist, aborting" 1
test $(which mac) || error "Error: Monkey Audio convertor not found" 1
test $(which flac) || error "Error: FLAC convertor not found" 1
test $(which shnsplit) || error "Please, install shntool first" 1
echo "Creating output directory"
mkdir -p "$outdir"
echo "Converting "$1" to WAV-format"
mac "$1" "${1%.ape}.wav" -d
echo "Splitting "${1%.ape}.wav" to multiple files"
cd $outdir ; cat ../"$2" | shnsplit -t %n_:_%p_:_%a_:_%t ../"${1%.ape}.wav"
rm -f ../"${1%.ape}.wav"
ls -1 *.wav |
while read i;
do
tracknum=$(echo "${i%.wav}" | awk -F'_:_' '{print $1}')
artist=$(echo "${i%.wav}" | awk -F'_:_' '{print $2}')
album=$(echo "${i%.wav}" | awk -F'_:_' '{print $3}')
title=$(echo "${i%.wav}" | awk -F'_:_' '{print $4}')
$(flac --best "$i" --delete-input-file -V --replay-gain \
-T title="$title" \
-T album="$album" \
-T artist="$artist" \
-T tracknumber="$tracknum" \
-o "$tracknum-$artist-$album-$title.flac")&:
done