Script conversione mp3

Area di discussione libera.

Moderatore: Staff

Regole del forum
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

Script conversione mp3

Messaggio da tgmx »

Ciao Ragazzi,

purtroppo non sono molto ferrato in materia di script...
Ho delle directory contenenti degli mp3 molti dei quali sono a 192 Kbps.

Che voi sappiate c'è il modo per convertirli a 128 Kbps senza perderci troppo tempo? magari con uno script che usa lame?

Grazie

pino_otto
Linux 2.x
Linux 2.x
Messaggi: 333
Iscritto il: dom 9 lug 2006, 11:57
Slackware: 14.2
Kernel: 4.4.14-smp
Desktop: KDE 4.14.3
Località: Torino - Canton (China)

Messaggio da pino_otto »

Con "sox" puoi fare un sacco di conversioni di file audio in maniera molto semplice da riga di comando.

http://sox.sourceforge.net/

Installalo e poi fai "man sox" per vedere tutte le opzioni.

Fammi sapere, se ti e' stato utile.

Avatar utente
airex
Linux 1.x
Linux 1.x
Messaggi: 121
Iscritto il: sab 8 lug 2006, 11:03
Slackware: -current
Desktop: xfce
Distribuzione: Slackware64
Località: Milano
Contatta:

Messaggio da airex »

anche con lame potresti provare (man lame per le info). Poi i tuoi file mp3 li potresti convertire con qualcosa di simile a

find dir_base -name "*.mp3" -exec prog_conversione paramteri_prog_conversione {}\;

Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

Messaggio da tgmx »

Sox sembra buono, tra l'altro non lo conoscevo ma credo che con lame posso fare prima.

Ho visto che se lancio:

Codice: Seleziona tutto

lame -b 128 nome_file.mp3
parte la conversione e tutto è apposto.
Però lame non accetta un asterisco al posto del nome_file quindi non so come fargli processare tutti i file ed inoltre i file sono divisi in più directory.

PS X airex

purtroppo il parametro -exec non sembra funzionare

Avatar utente
airex
Linux 1.x
Linux 1.x
Messaggi: 121
Iscritto il: sab 8 lug 2006, 11:03
Slackware: -current
Desktop: xfce
Distribuzione: Slackware64
Località: Milano
Contatta:

Messaggio da airex »

Codice: Seleziona tutto

#!/bin/sh

# metti la dir dove sono i file mp3
DIRMP3="....."

D=`pwd`

CD $DIRMP3
for i in *.mp3;
do
   lame -b 128 $i;
done

cd $D
altrimenti se i i file sono in piu' dir aventi puoi provare

Codice: Seleziona tutto

#!/bin/sh

# metti la dir (path assoluto) da cui cominciare a cercare i file mp3
DIRMP3="....."

D=`pwd`

CD $DIRMP3   
for i in `find . -name "*.mp3"`;
do
   cd `dirname $i`
   lame -b 128 `basename $i`;
   CD $DIRMP3   
done

cd $D
Mi pare strano comunque che find -exec non vada ... potresti fare un copia e incolla del comando che hai usato?

Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

Messaggio da tgmx »

Grazie airex,
lo script funziona, almeno il primo, il secondo non l'ho ancora provato però adesso si è presentato un problema; quello script funziona solo con mp3 che non contengono spazi nel nome ed io, guarda caso, li ho quasi tutti con degli spazi...

Per quanto riguarda -exec, ho lanciato un comando praticamente identico a quello che mi hai consigliato dato che non ne conosco personalmente la sintassi:

Codice: Seleziona tutto

find ./ -name "*.mp3" -exec lame -b 128 {}\;

find: missing argument to `-exec'

Avatar utente
airex
Linux 1.x
Linux 1.x
Messaggi: 121
Iscritto il: sab 8 lug 2006, 11:03
Slackware: -current
Desktop: xfce
Distribuzione: Slackware64
Località: Milano
Contatta:

Messaggio da airex »

Eccoti la versione per i file con gli spazi

Codice: Seleziona tutto

#!/bin/sh

# metti la dir dove sono i file mp3
DIRMP3="....."

D=`pwd`

CD $DIRMP3
for i in *.mp3;
do
   lame -b 128 "$i";
done

cd $D 

Codice: Seleziona tutto

#!/bin/sh

# metti la dir (path assoluto) da cui cominciare a cercare i file mp3
DIRMP3="....."

D=`pwd`

CD $DIRMP3   
for i in `find . -name "*.mp3"|sed -es/\ /x666x/`;
do
   cd `dirname $i`
   F=`basename $i`
   F=`echo $F|sed -es/x666x/\ /`
   lame -b 128 "$F";
   CD $DIRMP3   
done

cd $D 
ps.
odio gli spazi nei nomi di file :D

Avatar utente
gioco
Packager
Packager
Messaggi: 900
Iscritto il: dom 19 giu 2005, 0:00
Slackware: last stable
Località: in the court of the Wesnoth king
Contatta:

Messaggio da gioco »

tgmx ha scritto: Per quanto riguarda -exec, ho lanciato un comando praticamente identico a quello che mi hai consigliato dato che non ne conosco personalmente la sintassi:

Codice: Seleziona tutto

find ./ -name "*.mp3" -exec lame -b 128 {}\;

find: missing argument to `-exec'
Prova questo:

Codice: Seleziona tutto

find ./ -name "*.mp3" -exec lame -b 128 '{}' \; 

Avatar utente
tgmx
Linux 4.x
Linux 4.x
Messaggi: 1336
Iscritto il: ven 28 apr 2006, 14:40
Slackware: 14.1
Desktop: KDE 4
Località: Ancona

Messaggio da tgmx »

@ airex

Grazie mille ora funziona!!! :D


@ gioco

ora funziona anche con find... Grazie!!!



Non mi resta che capire perchè lame nel fare quella riduzione di bitrate perda tutti i tag id3, ma questa è un'altra storia e cercando un po' in giro sembra che sia normale così.
Bisognerebbe ogni volta recuperarli dal vecchio file, fare la conversione e rimetterli nel nuovo... mi sa che li tengo senza tag :D

Rispondi