Буду краток. Monkey Audio сакс: коммерческий протокол, коммерческое ПО, жрёт много проца (декодирование занимает больше времени, чем кодирование в FLAC!) Да ещё и не играется в mplayer и Amarok. Но виндузятники его любят. Поэтому изготовил такой скрипт для перегона MAC (.ape) в FLAC, как обычно, на PHP, потому что на всякие перлы у меня моск с большим трудом переключается.
#!/usr/bin/php -Cq
3) && ctype_digit($noext{0}) && ctype_digit($noext{1}) && $noext{2}=="-")
$noext=substr($noext, 3);
$parts=explode(" ", $noext, 2);
if(sizeof($parts)>1)
if(strval(intval($parts[0]))==strval($parts[0]) || $parts[0]=="00")
$noext=$parts[1];
return trim($noext);
}
for($i=4; $i<$argc; $i++){
$fn=$argv[$i];
echo "Processing \"$fn\"...\n";
$dot=strrpos($fn, ".");
if(!$dot) die("ERROR: Filename extension not detected!\n");
$noext=trim(substr($fn, 0, $dot));
$track=fn2name($noext);
echo "Track name: \"$track\"\n";
$oldext=strtolower(substr($fn, $dot+1));
if($oldext!="ape") die("ERROR: Filename extension is not '.ape'!\n");
$wav=$noext.".wav";
echo "Wav name: \"$wav\"\n";
if(file_exists($wav)) die("Wav file already exists!\n");
if(file_exists($noext."flac")) die("FLAC file already exists!\n");
if(file_exists($noext."mp3")) die("MP3 file already exists!\n");
$cmd1="nice -n19 mac \"$fn\" \"$wav\" -d";
echo "Decompressing: $cmd1\n";
echo `$cmd1`;
$cmd2="nice -n19 flac \"--tag=title=$track\" \"--tag=artist=$artist\" \"--tag=album=$album\" \"--tag=date=$year\" --best \"$wav\"";
echo "Compressing FLAC: $cmd2\n";
echo `$cmd2`;
// Uncomment the 3 lines below for MP3 encoding
// $cmd3="nice -n19 lame -q 9 --cbr -b 320 -k -m s --tt \"$track\" --ta \"$artist\" --tl \"$album\" --ty \"$year\" \"$wav\" \"$noext.mp3\"";
// echo "Compressing MP3: $cmd3\n";
// echo `$cmd3`;
echo "Deleting wav file...\n";
unlink($wav);
}
echo "I'm done with it.\n";
?>