[linux] VYRIESENE: generovanie mp3 z cd_image vytvoreneho pomocou cdrdao

Jan Nemsak janko na kopernik.cc.fmph.uniba.sk
Středa Prosinec 8 00:19:52 CET 2004


tak uz mi to ide, hodinka zistovania ako je to ulozene v tom binarnom
subore, skriptik a je to :-)
Ak by to nahodou niekto niekedy potreboval, tak tu je skript.
Nie som nejaky macher v perli, takze urcite sa ot dak krajsie napisat.
Tiez je dost pomale citanie suboru cez dd ked dam bs=1, lenze ked dam
vacsie cislo, potom mi zase nepreskoci 1. byte ale pocet bytov v bs.
No ak to chce niekto optimalizovat moze.
Funguje to tak ze z toc_file si precita na ktorej pozcii (minuta,
sekunda, stotina) zacina track, aky je dlhy, prerata tento cas na
poziciu v subore, cez dd citam tuto cast image suboru (vytvoreneho cez
cdrdao) a cez sox tie raw data davam do wav, z wav potom generujem mp3.

Islo by aj dorobit to aby z toc_file citalo nazvy pesniciek (ak ich
cdrdao vedelo stiahnut z internetu), ale to sa mi uz nechce, mam co som
chcel, z image ulozeny cez cdrdao generovane mp3 :-)

Pekny den

Jano


#!/usr/bin/perl -w

sub pocet_stotin
{
        $cas = $_[0];
        if ( $cas eq "0") {
                return $cas;
        } else {
                $cas =~ /([0-9]{2}):([0-9]{2}):([0-9]{2})/;
                $cas = (($1*60 + $2) *100) + $3;
                return $cas;
        }
}
$track=1;
foreach $r (`cat toc_file |grep FILE`) {

        $r =~ /.*\s(.+)\s+(.+)$/;
        $cas1=$1;
        $cas2=$2;
        $pos=pocet_stotin($cas1)*1764; #za stotinu bytov: 2 kanaly x2 byty x44100 hercov /100 = 1764
        $length=pocet_stotin($cas2)*1764;

        $skip=$pos+1;#prvy byt treba preksocit, ale vobec neviem preco
        $cmd = "dd skip=$skip if=image.bin bs=1 count=$length | sox -V  -t raw -r 44100  -s -w -c 2 - -t wav -|/opt/lame/bin/lame -b 128 -h - $track.mp3";
        print "\ntrack $track\n";
        
        print $cmd;
        system ($cmd);
        $track++;
  
}


On Ut, 2004-12-07 at 13:19 +0100, Jan Nemsak wrote:
> Cafko
> 
> Mam zopar cd obrazov vytvorenych zo zvukovych cd pomocou cdrdao.
> Neviete ci viem nejako simulovat cdromku alebo nejako inac spravit to ze
> si tieto images prokonvertujem na mp3 subory? :-)
> Nejako vytiahnut z nich wav subory a potom to je uz lahke.
> 
> Dakujem
> 
> Jano
> 
> _______________________________________________
> http://lists.linux.sk/listinfo/linux
> Prehladavanie archivu: http://search.lists.linux.sk
> Meta FAQ: http://faq.lists.linux.sk




Další informace o konferenci linux