Очень часто музыка достаётся мне в виде образа диска в форматах flac или ape, иногда даже в wv. Как преобразовать ape и wv во flac я уже писал, а вот о том, как разрезать единый файл flac на отдельные трэки, используя файл *.cue, напишу здесь.
Как правило, файл *.cue всегда сопутствует музыке в форматах сжатия без потерь, так что с этим проблем быть не должно. Так же пригодится пакет shntool, в состав которого входит shnsplit.
# Запускается резалка одной из команд
shnsplit -o flac -f file.cue file.flac
shntool split -o flac -f file.cue file.flac
Описывать все возможные опции shnsplit не буду, их можно всегда посмотреть по shnsplit -h или в безграничной сети.
2 ноября 2009, 12:40
А нарезанные трэки тоже будут во flac?
2 ноября 2009, 20:17
Rouma-HUM писал:
Да. В данном случае flac, ибо стоит “-o flac”, отвечающая за выходной формат.
2 ноября 2009, 23:37
Ага. Осталось понять – читает ли мой плеер flac, или нужно жать в mp3.
3 июня 2010, 12:58
Лучше наверное в мп3 конвертнуть, а потом мп3катом.
3 июня 2010, 19:23
Зачем в mp3, когда нужно оставить flac? ;)
Нас не обмануть.
13 сентября 2010, 23:47
*.cue содержит тайтлы треков и название исполнителя. Как-то можно делать из них имена сплитнутых файлов? Дефолтно они у мен split-trackXX называются.
14 сентября 2010, 10:37
@ Rouma-HUM:
shnconv никак.
Попробуй прикрутить прогу id3v2. Она используется в скрипте flac2mp3, может и тебе поможет. Сам ещё не пользовался, поскольку после разрезания именую файлы и заполняю тэги easytag.
14 сентября 2010, 11:19
Вот нарыл скриптик, юзающий cuetag и lltag. Чтобы не забыть положу пока у тебя:
==========================
#!/bin/bash
clear
# Introduction
echo
echo
echo “FLACCUE2FLAC”
echo
echo
echo
echo “This script will convert, split and tag FLAC files with an associated cue sheet”
echo
echo
echo “WARNING: THIS SCRIPT WILL AUTOMATICALLY INSTALL SOME NECESSARY PACKAGES IF NOT ALREADY INSTALLED”
echo
echo
echo
echo
# This will check if all packages needed are present in the system, and will install them if not.
FLAC=`which flac`
if [ -z $FLAC ]; then
echo “ERROR (Don’t worry) ;-)”
echo “FLAC is not in your system, automatically installing…”
sudo aptitude update && sudo aptitude install flac -y
clear
echo “OK NOW, PROCEEDING…”
echo
fi
CUE=`which cuebreakpoints`
if [ -z $CUE ]; then
echo “ERROR (Wish every error were like this one…) ;-)”
echo
echo “cuetools not present, automatically installing…”
sudo aptitude update && sudo aptitude install cuetools -y
clear
echo “OK NOW, PROCEEDING…”
echo
fi
SHN=`which shntool`
if [ -z $SHN ]; then
echo “ERROR (Not the end of the world, anyway) ;-)”
echo
echo “shntool is not around here, let’s get it…”
sudo aptitude update && sudo aptitude install shntool -y
clear
echo “OK, PROCEEDING…”
echo
fi
LL=`which lltag`
if [ -z $LL ]; then
echo “OH, MY GOD! ;-)”
echo
echo “lltag is not in your computer, installing…”
sudo aptitude update && sudo aptitude install lltag -y
clear
echo “AT LAST, PROCEEDING…”
echo
fi
# Now it will check if we have chosen a cue file
for i in $*; do
case $i in
*.[cU][uU][eE])
echo “Checking if file $i is a .cue file…”;;
*)
echo “Warning: File $i is not a .cue file. Aborting.”
continue
esac
# Processing files
FILENAME=”$(basename $i)”
FILENAME=”${FILENAME%.[cC][uU][eE]}”
echo “Splitting files…”
cuebreakpoints $FILENAME.cue
shnsplit -o flac -f $FILENAME.cue $FILENAME.flac
echo “Adding tags…”
cuetag $FILENAME.cue split-track*.flac
# This will rename files using the strucure “track-number title”, the one I like, but it can be easyly changed using common parameters. Please read lltag manual for more information.
echo “Renaming files…”
lltag –yes –no-tagging –rename ‘%n %t’ `ls split-track*.flac`
echo
echo
echo “Process ended.”
done
==========================