Это старая версия документа.
Содержание
Универсальные
Способ 1
Понадобится установить три пакета. Скачиваем первый пакет:
wget http://members.iinet.net.au/~aidanjm/mac-3.99-u4_b3-1_i386.deb
И устанавливаем его командой:
sudo dpkg -i mac-3.99-u4_b3-1_i386.deb
Потом еще два пакета:
sudo apt-get install flac sudo apt-get install shntool
Допустим, нужно сделать преобразование APE ⇒ FLAC В терминале заходим в директорию, где лежат файлы APE:
cd ~/Music/Shopen
После чего набираем команду:
shnconv -o flac *.ape
Результатом выполнения команды будет переконвертация всех файлов APE в формат FLAC
А эта команда преобразовывает APE в WAV:
shnconv -o wav *.ape
И так далее.
Способ 2 (подходит для amd64)
Ставим пакеты
sudo aptitude install cuetools shntool flac wavpack
Отсюда (т.к. репозиторий, который был указан в статье на Opennet, не хотел добавляться) ставим
libmac2
иmonkeys-audio
Выделяем треки из sample.flac на основании индекса sample.cue, результат кодируем кодеком без потерь flac:
cuebreakpoints sample.cue | shnsplit -a "sample" -o flac sample.flac
При желании вместо «-o flac» можно указать «-o wav», «-o mp3» или «-o ogg». Опция «-a sample» задает имя префикса для сохраняемой группы файлов.
Заполняем теги:
cuetag sample.cue sample*.flac
Если файл *.cue в неправильной кодировке, то сохраните его в правильной (geditom, например). Правильная — UTF-8.
Проверено на ubuntu 9.04 amd64
Кодирование в mp3
Вариант «-o mp3» не сработает, выдав ошибку:
shnsplit: error: invalid file format: [mp3] shnsplit: shnsplit: type 'shnsplit -h' for help
Смотрим man shnsplit, касательно ключа -o
:
-o -o ’cust ext=mp3 lame --quiet - %f’ (create mp3 files using lame)
Он говорит, что конвертирование в mp3 делается через lame, т.е. нам нежен еще пакет lame
:
sudo aptitude install lame
И, следовательно, команда будет выглядеть примерно так:
cuebreakpoints sample.cue | shnsplit -a "sample" -o 'cust ext=mp3 lame --quiet - %f' sample.flac
По другим форматам вывода смотрите man, например для вывода в wav достаточно -o wav
:
cuebreakpoints sample.cue | shnsplit -a "sample" -o wav sample.flac
Flac в MP3
Пофайловая конвертация без переноса ID тэгов
Зависимости
Для конвертации понадобятся программы flac и lame
sudo apt-get instal flac lame
Скрипт
Скрипт для конвертации (сохранен в ~/bin/)
- flac-mp3.sh
#!/bin/sh # Для всех .flac-файлов в данном каталоге: for flac in *.flac; do # Новое имя файла -замена расширения с '.flac' на '.mp3' newname=`echo $flac | sed s/\.flac$/\.mp3/` # Собственно конвертирование flac -d -c --totally-silent "$flac" | lame -S --cbr -b 320 - "$newname" # Раскомментировать, если нужно удалять оригинальные .flac-файлы rm "$flac" done
320-битрейт
Пофайловая конвертация с переносом ID тэгов
- flac-mp3tags.sh
#!/bin/bash OUT_DIR="." [ ! -d ${OUT_DIR} ] && mkdir -p ${OUT_DIR} # modify the lame options to your # preference lame_opts=" --vbr-new -V 2 -B 256 " for FLAC in *.flac; do MP3=`basename "${FLAC%.flac}.mp3"` [ -r "$FLAC" ] || { echo can not read file \"$FLAC\" >&1 ; exit 1 ; } ; metaflac --export-tags-to=- "$FLAC" | sed 's/=\(.*\)/="\1"/' > tmp.tmp . ./tmp.tmp rm tmp.tmp [ -z $TITLE ] && TITLE="$Title" [ -z $TRACKNUMBER ] && TRACKNUMBER="$Tracknumber" [ -z $GENRE ] && GENRE="$Genre" [ -z $DATE ] && DATE="$Date" [ -z $COMMENT ] && COMMENT="$Comment" [ -z $ARTIST ] && ARTIST="$Artist" [ -z $ALBUM ] && ALBUM="$Album" echo "Converting ${FLAC} to MP3 format" flac -c -d "$FLAC" | lame ${lame_opts} \ --tt "$TITLE" \ --tn "$TRACKNUMBER" \ --tg "$GENRE" \ --ty "$DATE" \ --tc "$COMMENT" \ --ta "$ARTIST" \ --tl "$ALBUM" \ --add-id3v2 \ - ${OUT_DIR}/"$MP3" rm "$FLAC" done
Алгоритм действий
Переходим в папку с flac файлами запускаем скрипт в виде ~/bin/flac-mp3.sh
Flac-образ в mp3 c разбивкой на трэки
Зависимости
sudo apt-get install shntool cuetools lame enca
Скрипт
- flac-image-mp3.sh
#!/bin/sh FROMCP=`enca -e *.cue` iconv -f $FROMCP -t UTF-8 *.cue > /tmp/list.cue DATE=`grep "REM DATE" /tmp/list.cue | sed -e 's/REM DATE \(.*\)/\1/g'` GENRE=`grep "REM GENRE" /tmp/list.cue | sed -e 's/REM GENRE \(.*\)/\1/g'` COMMENT=`grep "REM COMMENT" /tmp/list.cue | sed -e 's/REM COMMENT \(.*\)/\1/g'` NUMBER=`cueprint -d "%N" /tmp/list.cue` shntool split -f /tmp/list.cue *.flac -t %n for((I=1;I<=NUMBER;I++)); do cueprint -n $I -t "ARTIST=\"%p\"\nALBUM=\"%T\"\nTRACKNUMBER=\"%n\"\nTITLE=\"%t\"\n" /tmp/list.cue > /tmp/tags . /tmp/tags J=`printf "%02d" $I` lame -b 192 --cbr \ --ty "$DATE" \ --tg "$GENRE" \ --tc "$COMMENT" \ --ta "$ARTIST" \ --tl "$ALBUM" \ --tn "$TRACKNUMBER" \ --tt "$TITLE" \ --add-id3v2 \ --id3v2-only \ $J.wav $J.mp3 rm $J.wav done rm /tmp/list.cue /tmp/tags
Другие программы
- Flacon audio converter — программа на Qt 4.x
- gCue2tracks — ещё одна графическая программа, написана на python
- Cueek — скрипт для конвертирования образов музыкальных альбомов в другой формат потреково, с переносом тэгов.
- cue2tracks — скрипт для Nautilus для конвертирования и разбития на дорожки по cue
- SoundConverter - для GNOME
- soundKonverter - для KDE
и множество подобных.
Ссылки
- APE => FLAC, APE =>WAV, WAV=>FLAC и другие комбинации перекодировок аудио — статья на форуме. Кроме прочего, содержит ссылки на другие программы.