Онзи ден реших да си направя един аудио диск от няколко mp3 файла, за целта си пуснах Brasero. Това е програмата по подразбиране за запис на дискове (включително и аудио) в Гном. Не я харесвам много, няколко пъти съм имал проблеми с нея и сега отново се сблъсках с такъв, докладван преди повече от четири месеца и все още не оправен:
https://bugs.launchpad.net/ubuntu/+source/brasero/+bug/361783
Реших, че вместо да чакам да го оправят (което вероятно няма да се случи скоро) или пък да инсталирам друго GTK или KDE приложение по-добре да си направя диска посредством конзолата. За целта използвах две приложения: lame – За конвертиране на mp3 файловете в wave и normalize-audio за нормализиране на вече създадените wave файлове. Инсталацията и на двете направих през aptitude:
# aptitude install normalize-audio
# aptitude install lame
За конвертиране на mp3 файл до wave и за нормализирането им след това се използват следните две команди:
lame –decode filename.mp3 filename.wav
normalize-audio file.wav
За да опростя малко нещата все пак трябва да се конвертира повече от един файл, написах следното нещо:
[geshi lang=php]
if (!isset($argv[1]) || !is_dir($argv[1])) {
echo "Usage: converter.php target_dir \n";
echo "where target_dir is the path to mp3 files \n";
exit();
}
$target_dir = $argv[1];
foreach (new DirectoryIterator($target_dir) as $file) {
if($file->isDot()) continue;
if(substr($file->getPathname(), -4) != ‘.mp3′ || mime_content_type($file->getPathname()) != ‘audio/mpeg’) continue;
$newname = $file->getBasename(‘.mp3′) . „.wav“;
exec(„lame –decode “ . $file->getPathname() . “ “ . $newname);
}
exec(„normalize-audio *.wav“);
?>
[/geshi]
Накрая, за да запишем диска е достатъчно да изпълним:
cdrecord -v -speed=2 -dev=1,0,0 -audio -pad \*.wav
Ако се чудите какво да сложите в -dev като параметър, изпълнете командата по-долу:
cdrecord -scanbus
Никога не съм писал shell скриптове … до онзи ден. Реших да пренапиша php скрипта за конвертиране на mp3 в wave използвайки bash. Ето и резултата: #!/bin/bash if [ -z "$1" ];then echo ‘Place enter the path to the mp3 files direct