APE, WawPack и остальные
Vyacheslav Karamov
ubuntulist на yandex.ru
Пт Авг 10 09:34:41 BST 2007
Привет всем!
Люблю классику, надыбал в инете сайтик, где выложены ссылочки на
классику в loseless-форматах, преимущественно Monkey Audio. Думал уже
всё, капец, нельзя проиграть *.ape ничем линуксовым.
У меня коллега для этой цели скачал этот каличный SDK, который содержит
синтаксические (!!!) ошибки, поправил исходники и написал свой
консольный плеер.
Но я нашёл способы получше:
1.1 Идём сюда http://www.netswarm.net/misc/ и качаем последнюю версию
плагина к Audacious для Monkey Audio
http://www.netswarm.net/misc/audacious-mac-0.3.5.tar.gz
1.2 Качаем Audacious http://audacious-media-player.org/Downloads и собираем
1.3 Собираем и ставим плагин из п. 1.1.
1.4. Смотрим на всякий случай http://audacious-media-player.org/FAQ
2. Идём сюда
http://aidanjm.wordpress.com/2007/02/04/converting-monkey’s-audio-ape-files-to-flac-in-ubuntu/
и читаем
3. Качаем виндовый бинарь http://nimo.internux.ch/MAC.exe и пишем
скриптик на перле:
#!/usr/bin/perl
use strict;
my @checkIn = ('Album','Artist','Genre','Title','Track','Year');
foreach my $file (@ARGV) {
my %fileInfo = (Album => 'unknown',
Artist => 'unkonwn',
Year => 1972,
Genre => 'J-Pop',
Title => 'unknown',
Track => 00);
my $Tempfile = 'tags';
print "Processing $file...\n";
my $TempInfo = qx/apetag -i "$file" 2>&1/;
#print "$TempInfo\n";
foreach my $line (split(/\n/, $TempInfo)) {
foreach my $check (@checkIn) {
#print $line."\n";
if($line =~ s/^"$check" "(.*)"/$1/i) {
$fileInfo{$check} = $line;
last;
}
}
}
print "uncompressing.... ";
`wine MAC.exe "$file" audio.wav -d`;
print "done!\n";
my $OutName = `basename "$file" .ape`;
chomp($OutName);
print "\n||$OutName||\n\n";
print "compressing into flac format... ";
`flac -f -8 audio.wav -T Album="$fileInfo{'Album'}" \\\
-T Artist="$fileInfo{'Artist'}" \\\
-T Date="$fileInfo{'Year'}" \\\
-T Genre="$fileInfo{'Genre'}" \\\
-T Title="$fileInfo{'Title'}" \\\
-T Tracknumber="$fileInfo{'Track'}" \\\
--endian=big --bps=24 --sign=unsigned --channels=2 \\\
--sample-rate=44100 -o "$OutName.flac"`;
`rm audio.wav`;
}
exit(0);
Называем его, например, ape2flac, а затем
$ chmod +x ape2flac
$ for i in *.ape; do ape2flac '$i'; done
Подробная информация о списке рассылки ubuntu-ru