Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:перекодирование_аудио [2013/10/22 15:51] [Алгорит действий] |
wiki:перекодирование_аудио [2015/09/30 21:14] [Примечание] |
||
---|---|---|---|
Строка 54: | Строка 54: | ||
<code>cuebreakpoints sample.cue | shnsplit -a "sample" -o wav sample.flac</code> | <code>cuebreakpoints sample.cue | shnsplit -a "sample" -o wav sample.flac</code> | ||
======Flac в MP3====== | ======Flac в MP3====== | ||
- | =====Пофайловая конвертация без переноса ID тэгов===== | + | =====Пофайловая конвертация c переносом ID тэгов===== |
====Зависимости==== | ====Зависимости==== | ||
Для конвертации понадобятся программы flac и lame | Для конвертации понадобятся программы flac и lame | ||
- | <code>sudo apt-get instal flac lame</code> | + | <code>sudo apt-get install libav-tools</code> |
====Скрипт==== | ====Скрипт==== | ||
Скрипт для конвертации (сохранен в ~/bin/) | Скрипт для конвертации (сохранен в ~/bin/) | ||
<code bash flac-mp3.sh> | <code bash flac-mp3.sh> | ||
- | #!/bin/sh | + | #!/bin/bash |
- | # Для всех .flac-файлов в данном каталоге: | + | for f in *.flac; do |
- | for flac in *.flac; | + | avconv -i "$f" -qscale:a 0 "${f[@]/%flac/mp3}" |
- | 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</code> | done</code> | ||
- | 320-битрейт | ||
- | =====Пофайловая конвертация с переносом ID тэгов===== | ||
- | <code bash 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 | ||
- | </code> | ||
- | <note important>Скрипт выдаёт ошибки в двух строках- чтение mp3 тэгов- видимо не экранированы пробелы.</note> | ||
=====Алгоритм действий===== | =====Алгоритм действий===== | ||
Переходим в папку с flac файлами | Переходим в папку с flac файлами | ||
Строка 131: | Строка 86: | ||
shntool split -f /tmp/list.cue *.flac -t %n | shntool split -f /tmp/list.cue *.flac -t %n | ||
- | for((I=1;I<=NUMBER;I++)); | + | for((I=1;I<=$NUMBER;I++)); |
do | do | ||
cueprint -n $I -t "ARTIST=\"%p\"\nALBUM=\"%T\"\nTRACKNUMBER=\"%n\"\nTITLE=\"%t\"\n" /tmp/list.cue > /tmp/tags | cueprint -n $I -t "ARTIST=\"%p\"\nALBUM=\"%T\"\nTRACKNUMBER=\"%n\"\nTITLE=\"%t\"\n" /tmp/list.cue > /tmp/tags | ||
Строка 152: | Строка 107: | ||
rm /tmp/list.cue /tmp/tags | rm /tmp/list.cue /tmp/tags | ||
</code> | </code> | ||
+ | ====Примечания==== | ||
+ | ===Ошибки=== | ||
+ | Если получаете ошибку | ||
+ | <code>iconv: convert from ASCII/CRLF is not supported</code> | ||
+ | значит необходимо сконвертировать CRLF переносы строки при помощи dos2unix | ||
+ | <code>sudo apt-get install dos2unix | ||
+ | dos2unix *.cue</code> | ||
+ | ===Советы=== | ||
+ | Для правильного распознования тэгов загляните в файл CUE и проверьте, что названия полей совпадают с теми, что будут использоватся в скрипте. | ||
===== Другие программы ===== | ===== Другие программы ===== | ||
* [[wiki:flacon|Flacon audio converter]] — программа на Qt 4.x | * [[wiki:flacon|Flacon audio converter]] — программа на Qt 4.x |