[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Переконвертирование аудио.



В Втр, 20/12/2011 в 01:49 +0400, Dmitrii Kashin пишет:
> Господа, мне просто хочется полюбопытствовать - никто из здесь
> присутствующих не озаботился ли созданием Makefile для
> переконвертирования музыки между различными форматами и контейнерами?
> 
> Особенно унтересует flac+cue -> splitted_flacs/oggs/mp3s


Где-то гуглем находил, не makefile, но меня устраивает.


#!/bin/bash
 
# Разбивает ape или flac файл на отдельные песни в соответствии с cue
файлом.
# Песни будут записаны в формате flac. Ибо нефиг.
# в flac-файлах будут заполнены теги ( из cue-файла )
# все теги будут в utf-8
# flac-файлы будут переименованны в "<номер песни> - <название
песни>.flac"
# Входные параметры:
#   - тип разбиваемого файла, ape или flac
#   - кодировка cue-файла.
# Требования:
#   - в каталоге должен быть только один ape либо flac файл
#   - в каталоге должен быть только один cue файл
#
#   - наличие recode, cuetool, shntools, flac и mac
 
ftype=$1; #"ape" "flac" "wv"
fcoding=$2;
if [ -z "$ftype" ] ; then ftype="flac" ; fi
if [ -z "$fcoding" ]  ; then fcoding="utf-8"; fi
 
 
# разобъём исходный файл на части
cuebreakpoints *.cue |  shnsplit -o wav *.${ftype} ;

for a in split*.wav ; do
    flac --best --delete-input-file "$a";
done;
 
# пропишем корректные теги
recode ${fcoding}..utf-8 *.cue;
cuetag *.cue split*.flac;
 
# переименуем файлы
recode utf-8..${LANG#ru_RU.} *.cue;
let a=1;
for b in split*.flac; do
    mv "$b" "$(printf '%.2d - %s\n' "$(cueprint -t %n -n $a *.cue )" \
            "$(cueprint -t %t -n $a *.cue)").flac";
    let a=$a+1;
done;



-- 
С уважением,
Лев Аржанов,
ООО "СЕЙХО-МОТОРС",
+7 351 77 99 076
+7 351 799 79 76
+7 90 30 88888 6

Reply to: