Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [Bash-Script] convertire da mpc a mp3

    devo convertire una serie di file mpc a mp3.
    tempo fa un amico mi fece uno scriptino facile facile ke faceva benissimo il suo lavoro... ora ho perso lo script e ho provato a farlo da solo...ma essendo una schiappa assurda non riesco a venirne fuori

    per convertire un file da mpc a mp3 uso mppdec che fa il passaggio mpc-wav, e poi lame.
    il problema è che mppdec richiede sia il nome del file di input (e potrebbe andar bene un generico *.mpc) sia l'output che però deve essere specifico (*.wav non basta)

    il codice molto molto molto elementare che ho provato è il seguente

    codice:
    #!/bin/bash
    
    FILEMPC=*.mpc
    
    for i in *.mpc
    do
            FILEWAV=$FILEMPC.wav
            mppdec $FILEMPC $FILEWAV
    done
    naturalmente si presenta il problema di cui sopra, il nome del file output wav deve essere specificato, così facendo invece lui decodifica l'mpc nel generico *.mpc.wav

    essendo lo script molto semplice da realizzare (da quel che ricordo) e dato che googlando non ho trovato niente se non enormi guide (e io di questo script ne ho bisogno nell'immediato...) chiedo a voi una mano...mi basterebbe anche la soluzione per il passaggio mpc-wav...dopo dovrebbe essere facile e mi arrangio da solo.

    grazie mille a chi avrà lo sbattimento (spero minimo) di aiutarmi.

  2. #2
    Utente di HTML.it L'avatar di M4rko
    Registrato dal
    Dec 2000
    Messaggi
    619
    una cosa del genere puo andare?
    codice:
    for file in `ls *.mpc`;
    do
        mppdec $file $file.wav
    done
    Tutti hanno bisogno di credere in qualcosa.
    Io credo che mi farò un'altra birra.


  3. #3
    Originariamente inviato da M4rko
    una cosa del genere puo andare?
    codice:
    for file in `ls *.mpc`;
    do
        mppdec $file $file.wav
    done
    no...stesso problema...il nome del file non è specificato in modo corretto

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    codice:
    mmpdec $file `echo $file | sed s/.wav//`
    cosi dovrebbe andare...

  5. #5
    Originariamente inviato da gianiaz
    codice:
    mmpdec $file `echo $file | sed s/.wav//`
    cosi dovrebbe andare...
    no non va neanche così...credo che sarebbe meglio specificare il nome completo del file anche per quello mpc...perchè se uso quel codice mi crea tanti file wav, uno con il numero della canzone e uno col titolo...ovviamente vuoti.
    non ci capisco nienteeeee VVoVe:

  6. #6
    Utente di HTML.it L'avatar di Fatur
    Registrato dal
    Nov 2002
    Messaggi
    69
    Anche a me serviva una cosa del genere, e ho fatto uno script, però in perl, che fa la conversione di tutti i file della directory nella quale lo chiami.
    Se ti può servire...

    è lungo perchè ci ho messo tutti i colori e altre cose inutili...

    codice:
    #!/usr/bin/perl 
    
    use Term::ANSIColor;
    
    my $mpcidec="mppdec";
    my $mp3enc="lame";
    my @list=`ls *.[mM][pP][cC] 2>/dev/null`;
    my $name="";
    my $mpc="";
    my $mp3="";
    my $wav="";
    my $def="192";
    
    if ( ($ARGV[0] == "-h" ||$ARGV[0] == "--help"  )  && $#ARGV == 0 )
    {
            print "mpc2mp3 converts mpc to mp3\nusage: $0 [options]\n\noptions:\n\t-b <bitrate>\tmp3 bitrate encoding (default 192)\n";
            print "\t-h\tprints this help\n";
            exit 0;
    }
    
    if ( $ARGV[0] == "-b" && $#ARGV == 1 )
    {
            $def=$ARGV[1];
    }
    
    if ($#list == -1)
    {
            print "Sorry, no mpc files in this direectory\n";
            exit 0;
    }
    
    my $parameters="-b $def";
    
    system(qq(banner "Mpc 2 Mp3"));
    
    for ($i=0;$i<=$#list;$i++)
    {
            $mpc=$list[$i];
            $_=$mpc;
            $name="$1" if ( /^(.*).mpc$/);
            $mpc=qq($name.mpc);
            $wav=qq($name.wav);
            $mp3=qq($name.mp3);
    
            print color("yellow"),
                  "...decoding ",
                  color("red"),
                  "\"$mpc\"",
                  color("yellow"),
                  " to ",
                  color("red"),
                  "\"$wav\"\n",
                  color("reset");
                  
            system(qq($mpcidec "$mpc" "$wav")); # or die "Cannot execute $mpcidec $mpc $wav\n";
            system(qq(rm -rf "$mpc"));
    
    
            print color("green"),
                  " -",
                  color("yellow"),
                  "*",
                  color("green"),
                  "- decoded",
                  color("red"),
                  " mpc ",
                  color("green"),
                  "to",
                  color("red"),
                  " wav\n",
                  color("reset");
            print color("yellow"),
                  "...encoding ",
                  color("red"),
                  "\"$wav\"",
                  color("yellow"),
                  " to ",
                  color("red"),
                  "\"$mp3\"\n",
                  color("reset");
    
            system("$mp3enc $parameters \"$wav\" \"$mp3\" ");# or die "Cannot execute $mp3enc $wav $mp3\n";
            system(qq(rm -rf "$wav"));
    
            print color("green"),
                  " -",
                  color("yellow"),
                  "*",
                  color("green"),
                  "- encoded",
                  color("red"),
                  " wav ",
                  color("green"),
                  "to",
                  color("red"),
                  " mp3\n",
                  color("reset");
    
            print "        ...",
                  color("green"),
                  "Done",
                  color("reset"),
                  "!\n\n";
    }
    exit 0;
    F-(A)-tur Gentoo, e la vita ti sorride!
    Far finta di essere sani...

  7. #7
    grazie infinite Fatur!! non ci capisco molto di perl ma almeno va!!

    se qualcuno comunque vuole cimentarsi con la bash...sarei ben lieto di provare gli script!

    p.s. Fatur ma è Zappa quello nell'avatar?

  8. #8
    Utente di HTML.it L'avatar di Fatur
    Registrato dal
    Nov 2002
    Messaggi
    69
    si, è zappa!

    Cmq, imparato il perl, il bash scripting mi sta un po' stretto
    F-(A)-tur Gentoo, e la vita ti sorride!
    Far finta di essere sani...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.