2011/05/23

..это Чак Берри! (с)

Уральские пельмени - Экзамен на кафедре штанги

ape2flac - Форматы для звукозаписей без потерь

Иногда музыка приходит в формате Monkey’s Audio, при этом в одном файле *.ape содержится целый альбом (диск) с оглавлением в отдельном файле *.cue. Не все проигрыватели обеспечивают доступ по записям, да и лицензия у этого формата мутная, мне удобно хранить звукозаписи в формате FLAC с разбивкой альбома по композициям в отдельных файлах. Преобразовать звукозаписи из одного формата в другой можно так:

  • Установить необходимое ПО (для Ubuntu)
    $ sudo aptitude install ffmpeg cuetools shntool flac wavpack
    
  • Преобразовать для дальнейшей обработки файл оглавления *cue в кодировку UTF-8.
  • Преобразовать образ диска, нарезать по композициям, прописать теги.
    $ ffmpeg -i CDImage.ape CDImage.flac
    $ cuebreakpoints CDImage.cue | shnsplit -a "Track" -o flac CDImage.flac
    $ cuetag CDImage.cue Track*.flac
    
  • Проверить/поправить теги, переименовать файлы согласно названиям композиций в EasyTAG.

flac2mp3 как-то так (c):

#! /bin/sh

for a in *.flac; do
    OUTF=${a%.flac}.mp3

    ARTIST=`metaflac "$a" --show-tag=ARTIST | sed s/.*=//g`
    TITLE=`metaflac "$a" --show-tag=TITLE | sed s/.*=//g`
    ALBUM=`metaflac "$a" --show-tag=ALBUM | sed s/.*=//g`
    GENRE=`metaflac "$a" --show-tag=GENRE | sed s/.*=//g`
    TRACKNUMBER=`metaflac "$a" --show-tag=TRACKNUMBER | sed s/.*=//g`
    DATE=`metaflac "$a" --show-tag=DATE | sed s/.*=//g`

    flac -c -d "$a" | lame --preset extreme \
        --add-id3v2 --pad-id3v2 --ignore-tag-errors --tt "$TITLE" --tn "${TRACKNUMBER:-0}" \
        --ta "$ARTIST" --tl "$ALBUM" --ty "$DATE" --tg "${GENRE:-12}" \
        - "$OUTF"
    RESULT=$?
    if [ "$1" ] && [ "$1" = "-d" ] && [ $RESULT -eq 0 ]; then
        rm "$a"
    fi
done