МузыкаРежем альбом на треки

Согласитесь, что мимо такой раздачи пройти нельзя. Я не только о содержании, но и о работе релизера, достойной самых высоких похвал. Тем не менее, и тут можно найти над чем поработать дополнительно.
Итак, посмотрим на первый альбом: Vladimir_Vysockij__Vse_pesni._Disk_01._1960-1963_(2008_[BoMB_02-43],_NL+0802)_by.Oleg39.wv.iso.wv. Теорию, разумеется, я трогать не буду. Поскольку сам в ней изрядно плаваю. Сразу перехожу к практическим аспектам.

Вопрос первый – чем это слушать? Ответ – например, плейером DeadBeeF. Если вы используете дистрибутив Mandriva, то эта программа есть в репозитории EduMandriva.



Кстати, неплохой проигрыватель. Из тех, которые с графическим интерфейсом. Без всякого псевдоискусственного интеллекта. У меня с ним была только одна заморочка – он страшно заикался. Вылечил это сменой модуля вывода с Alsa на PulseAudio в настройках.

Но это, так сказать, программа-минимум. Поскольку всю lossless-коллекцию я храню в формате flac, причем потреково, хотелось бы сделать то же самое. Приступаю.

Первым делом, надо сделать из .wv обычный .iso. Делается это обычным удалением последнего расширения. ISO-файл, в свою очередь, следует распаковать. Получится вот что:



Подчеркиваю, раздача действительно очень хорошая. Это означает, что в ней содержится избыточная информация. Например, 11 фотографий и инструкция для пользователя (правда, системы Windows). Мне всего этого не надо, но из этого не вытекает, что это не надо никому.

Итак, имеются два файла:
— Vladimir_Vysockij_-_Vse_pesni._Disk_01._1960-1963_(2008_NL+0802)_by.Oleg39.wv
— Vladimir_Vysockij_-_Vse_pesni._Disk_01._1960-1963_(2008_NL+0802)_by.Oleg39.wv.cue
Это уже можно разрезать на flac-треки.

Сперва надо установить дополнительные пакеты – su, пароль, urpmi cuetools shntool flac wavpack enca.

Затем понадобится вот такой скрипт:

#!/bin/bash

INPUT=${PWD##*/}

# Программа сама находит CUE-файл в текущем каталоге.
# Это надо для запуска из Наутилуса и чтобы на таб несколько раз не жать при указании имени файла.
CUEFILE=$(find . -maxdepth 1 -iname "*.cue" | head -n 1)

# Конвертация тегов в UTF8.
enconv -L ru -x UTF8 "$CUEFILE"

# Резка файла.
BIGONE=$(ls -S | grep -i --regex="\.ape\|\.flac\|\.wv" | head -n 1)
if [ -n "$BIGONE" ]
then
cuebreakpoints "$CUEFILE" | shnsplit -o flac "$BIGONE"
else
exit 1
fi

# Программа вытаскивает теги из CUE-файла и пишет их во Флаки.
cuetag.sh "$CUEFILE" split-track*.flac ;

# Поскольку структура всех альбомов дискографии одинакова, но в каждой раздаче своя, сюда вписать все, что надо удалить.
# Вариант - вообще убрать эту секцию, а лишние файлы потом удалить руками.
rm -f "$BIGONE"
rm *.log
rm *.cue

# Переименование файла в соответствии с тегами.
for SLICE in split-track*.flac; do
ARTIST=$(metaflac "$SLICE" --show-tag=ARTIST | sed s/.*=//g)
TITLE=$(metaflac "$SLICE" --show-tag=TITLE | sed s/.*=//g)
TRACKNUMBER=$(metaflac "$SLICE" --show-tag=TRACKNUMBER | sed s/.*=//g)
mv "$SLICE" "`printf %02g $TRACKNUMBER` - $ARTIST - $TITLE.flac"
done

exit 0

Я его не сам написал, а в соответствии с буквой и духом GPL утянул отсюда. А потом удалил из текста все то, что посчитал лишним. Хотя исходник роскошный – хоть в учебник вставляй.

Скрипт, естественно, универсальный – он режет любой альбом на flac-треки. Вот результат:



Комментарии (2)

  • avatar
  • h31
  • 13 мая 2011, 23:20
  • #
  • 0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.