std.tech: INSTEAD технологии

Reply to: yCohw4jzTqScu4R3CGy2
From: lnp3 (syscall,35) 08.08.18 09:34 UTC
To: Andrew Lobanov
Subject: Re: Освоение BASH, The Super Dimension Fortress (SDF)
> Кстати, как с тегами обходишься? Карсишь ли cuesheet-файлы? Можешь куда-нить в develop.16 покидать соответствующие скрипты с комментариями?

Не знаю, что такое develop.16, поэтому напишу здесь. Надеюсь, не сильно отругают за оффтопик. В случае чего - мы геологи)

Если исходник, например, в формате wav, разбиваем его на отдельные flac-файлы:

====
mkdir -p ./out
cuebreakpoints "file.cue" | shnsplit -d "./out" -a "outf-" -o flac "file.wav"
====


Если нужно заполнить теги, делаем так:

====
cuetag "file.cue" ./out/outf-*.flac
====


Файлы flac лежат в папке out и теги уже заполнены, осталось их переименовать по тегам:

====
cd ./out
for i in `ls -1 *.flac`; do mv "$i" "`metaflac --show-tag=TRACKNUMBER $i | awk '{print sprintf("%02d", substr($0, 1+index($0, "=")))}'` - `metaflac --show-tag=TITLE $i | awk '{gsub("/", "#", $0); print substr($0, 1+index($0, "="))}'`.flac"; done
====


Самое простое перекодировать flac в mp3 с сохранением тегов:

====
for i in *.flac; do file=`basename "$i" .flac`; ffmpeg -i "$i"  -ab 192k "$file".mp3; done
====


Если нужно убрать flac-файлы после получения mp3-файлов, немного модифицируем строку:

====
for i in *.flac; do file=`basename "$i" .flac`; ffmpeg -i "$i"  -ab 192k "$file".mp3; rm "$file".flac; done
====
[138 / 182]