Инфа не моя,сам когда-то разыскивал в гугле...Если есть что-то на эту тему - постите сюда.А модераторы,надеюсь,поставят это в шапку(не знаю - будет ли у меня пермезишн

).Ну начнем:
Затронутые темы:
1.Перегон APE->flac
2.Музыкальный bin -> flac
3.Резка флака
4.Перекодировка тэгов мп3 -> уникод
1.Все мы знаем формат АПЕ.Все знаем какой он тормазной(а если не знаем - то всегда можем глянуть в диспечер процессов и заценить - сколько плеер тратит ЦП при воспроизведении флака и апе.Ужаснутся - и возненавидить апе

.А также неслабонервные могут глянуть на скорость кодирования.).А также - воспроизводит его только BMP-like плееры(мой любимый амарок+ксайн-в Ж).А в сети - часто можно встретить музыку в апе...Вот какое я нашел решение(помоему на ЛОРе нарыл),просто перекодировать:
Код:
#!/bin/sh
#
# @(#) ape2flac 0.1b 23/01/2007 by BaBL
# Checking for mac & flac
# Checking for input directory
#
# @(#) ape2flac 0.1a 14/01/2007 by BaBL
# Fixed a bug identifying filenames with more then one "." symbol
#
# @(#) ape2flac 0.1 26/09/2003 by Peo Karlsson
#
# Recursively convert APE-files to FLAC.
# Directory recursion adapted from the 'tree' script by Jordi Sanfeliu (see below).
#
#
# @(#) tree 1.1 30/11/1995 by Jordi Sanfeliu (mikaku@fiwix.org)
#
# Initial version: 1.0 30/11/95
# Next version : 1.1 24/02/97 Now, with symbolic links
#
# which extension to look for when browsing the tree
myext="ape"
declare -a prog_needed=(mac flac)
search () {
xx=0
for dir in *
do
if [ -f "$dir" ]; then
ext=`echo "$dir" | sed -ne 's!^.*\.!!p' | tr '[:upper:]' '[:lower:]'` &> /dev/null
base=`echo "$dir" | sed -e 's!\.[^.]*$!!'` &> /dev/null
if [ "$ext" = "$myext" ]; then
echo -n ".";
mac "$dir" - -d | flac - -o "$base.flac" &> /dev/null
rm -f "$dir" &> /dev/null
xx=`expr $xx + 1`
numfiles=`expr $numfiles + 1`
fi
else
if [ $xx > 0 ]; then
echo " -> [$xx files converted]"
xx=0
fi
fi
if [ -d "$dir" ]; then
zz=0
while [ $zz != $deep ]
do
echo -n "| "
zz=`expr $zz + 1`
done
if [ -L "$dir" ]; then
echo -n "+---$dir" `ls -l $dir | sed 's/^.*'$dir' //'`
else
echo -n "+---$dir"
if cd "$dir"; then
deep=`expr $deep + 1`
search
numdirs=`expr $numdirs + 1`
fi
fi
fi
done
cd ..
if [ "$deep" ]; then
swfi=1
fi
deep=`expr $deep - 1`
}
if [ $# = 0 ]; then
cd `pwd`
elif [ -e "$1" ]; then
cd $1
else
echo "Path \"$1\" not found"
exit 0
fi
for i in ${prog_needed[@]}
do
echo -n "Checking for $i..... "
if which "$i" &> /dev/null; then
echo "Yes"
else
echo "No"
echo "Programm $i is not installed. Please install $i first"
exit 0
fi
done
echo
echo "ape2flac 0.1b"
echo
echo "bash script to convert files compressed by Monkey's Audio into FLAC files."
echo
echo "Converting all files in directory = `pwd` and recurse indefinitely."
echo
swfi=0
deep=0
numdirs=0
numfiles=0
zz=0
xx=0
while [ "$swfi" != 1 ]
do
search
done
echo
echo "Summary:"
echo
echo "Total directories = $numdirs"
echo "Total files converted = $numfiles"
echo
exit 0
Называем скрипт,например,"ape2flac" и кидаем в /usr/bin.Не забываем зделать ему chmod +x.Потом переходим в папку с апе-музыкой и орем в консоль:"ape2flac WHAT_TO_CONVERT".Да и еще надо поставить
http://etree.org/shnutils/shntool/support/formats/ape/unix/mac-3.99-u4-b5.tar.gz .
2.Если у нас образ bin+cue(встречается редко) - то можно bin конвертить во flac.
Код:
flac --force-raw-format --channels=2 --sample-rate=44100 --bps=16 --sign=signed --endian=little data.bin
3.Так...Во флак мы сконвертили.Теперь нам надо все это дело порезать на треки.Итак.Скрипт для нарезки флака:
Код:
#!/usr/bin/perl
#
# spltflac.pl
# Copyright (C) 2007 AgBr <jabber:agbr@jabber.ru>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
use strict;
#
# usage: ./splitflac.pl image.flac image.cue
#
my ($filename, $cuefile) = @ARGV;
open(C,$cuefile);
my @cue = <C>;
close(C);
my %tracks;
my ($performer,$title,$track,$track_performer,$track_title,$track_start,$next_track);
while( (scalar @cue) ){
my $next = shift @cue;
if( $next =~ /PERFORMER \"(.*?)\"/ ){
$performer = $1;
}
if( $next =~ /TITLE \"(.*?)\"/ ){
$title = $1;
}
if( $next =~ /TRACK (\d+) AUDIO/ ){
$track = $1;
while( !( ($next_track) = ($cue[0] =~ /TRACK (\d+) AUDIO/) ) && (scalar @cue) ){
$next = shift @cue;
if( $next =~ /PERFORMER \"(.*?)\"/ ){
$track_performer = $1;
}
if( $next =~ /TITLE \"(.*?)\"/ ){
$track_title = $1;
}
if( $next =~ /INDEX 01 (\d{2}):(\d{2}):(\d{2})/ ){
$track_start = "$1:$2.$3";
}
}
$tracks{$track}={ title => $track_title, performer => $track_performer, album => $title, offset => $track_start, next_track => $next_track };
}
}
foreach my $t ( keys %tracks ){
my $cmd;
print "--------------------------------\n";
$cmd = "flac -d --skip=".$tracks{$t}->{offset}.($tracks{$t}->{next_track} ? " --until=".$tracks{$tracks{$t}->{next_track}}->{offset} : "" ). " -o _track_$t.wav $filename";
print "+ $cmd\n";
system($cmd);
$cmd = "flac -8 --no-lax _track_$t.wav";
print "+ $cmd\n";
system($cmd);
$cmd = "rm _track_$t.wav";
print "+ $cmd\n";
system($cmd);
$cmd = "metaflac --set-tag=\"ALBUM=".$tracks{$t}->{album}."\" --set-tag=\"TITLE=".$tracks{$t}->{title}."\" --set-tag=\"ARTIST=".$tracks{$t}->{performer}."\" _track_$t.flac";
print "+ $cmd\n";
system($cmd);
$cmd = "mv _track_$t.flac \"$t - ".$tracks{$t}->{title}.".flac\"";
print "+ $cmd\n";
system($cmd);
}
4.Отодвинемся немнога от темы лосслес.Перекодируем тэги мп3 в уникод.Ставим пакет "mutagen" менеджером пакетов или сливаем от седа
http://www.sacredchao.net/quodlibet/wiki/Download .
Код:
find -iname '*.mp3' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1
Рипить советую с помощью k3b.Иба удобнее рипалки ни на гноме,ни на кутэ не видел(еще не смотрел гуишку выше ;))...