вторник, 27 мая 2008 г.

Конвертирование APE/CUE в OGG Vorbis

Есть необходимость конвертировать файл формата Monkey's Audio (APE) в формат OGG Vorbis при этом целевой файл будет необходимо ещё "порезать" на треки. Для этого понадобятся утилиты mac, oggenc и mp3splt, а также собственно файл CUE со схемой разметки треков. Для упрощения использования сего действия был мною собственноручно написан bash-скрипт, я назвал его apecue2ogg:
#!/bin/sh
INPUT_APE=$1
INPUT_CUE=$2
OUT_DIR=$3
MAC="/usr/bin/mac"
OGGENC="/usr/bin/oggenc"
MP3SPLT="/usr/bin/mp3splt"
TMP="/tmp/$(basename "$INPUT_APE")"
progname=$(basename "$0")

help()
{
echo "Использование: $progname ФАЙЛ1.ape ФАЙЛ2.cue [КАТАЛОГ_ДЛЯ_ВЫВОДА]"
echo
}

if test $# -lt 2; then
help >&2
exit 1
fi

if ! [ -e $MAC ]; then
echo "Программа $(basename "$MAC") (Monkey's Audio) не установлена" >&2
echo "Попробуйте скачать её с сайта http://sourceforge.net/projects/mac-port/" >&2
echo >&2
exit 1
fi

if ! [ -e $OGGENC ]; then
echo "Программа $(basename "$OGGENC") не установлена" >&2
echo >&2
exit 1
fi

if ! [ -e $MP3SPLT ]; then
echo "Программа $(basename "$MP3SPLT") не установлена" >&2
echo "Попробуйте скачать её с сайта http://mp3splt.sf.net" >&2
echo >&2
exit 1
fi

if test "$OUT_DIR" == ""; then
OUT_DIR="."
fi

if ! [ -d "$OUT_DIR" ]; then
echo "Каталог $OUT_DIR не существует!" >&2
echo >&2
exit 1
fi

if (! $MAC "$INPUT_APE" "$TMP.wav" -d ); then
exit 1
fi

if (! $OGGENC -q 8 "$TMP.wav" -o "$TMP.ogg" ); then
exit 1
fi

rm "$TMP.wav"

if (! $MP3SPLT -c "$INPUT_CUE" "$TMP.ogg" -o "@n @a - @t" -d "$OUT_DIR" ); then
exit 1
fi

rm "$TMP.ogg"

Сохраним его например в каталоге /usr/bin. Используем например так:
$apecue2ogg 'Пилот - ЧБ.ape' 'Пилот - ЧБ.cue'

И через несколько минут в текущем каталоге можно будет созерцать "нарезанные" треки. Пожалуй остаётся только привести теги в порядок например с помощью easytag

Комментариев нет: